• 締切済み

Cells(1,3)をRange("C1")に変換

Sheets(Sn).Range("A1:Z98").Copy Destination:=Sheets(Sn).Range("V9") r=131です 上記のVBAを使用したいのですが求められるのはCells(r-1,3)なのです。そのためにCells(r-1,3)をRange("C130")に変換できないでしょうか よろしくお願いします。

みんなの回答

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.3

>Range("A1:Z98")の場合は はっきり言って、質問文にあなたが書かれたコードの理解が出来ていないので、提示されたように変更して利用可能かどうかは解りません。 >r=131です >求められるのはCells(r-1,3)なのです。 >そのためにCells(r-1,3)をRange("C130")に変換できないでしょうか 最初に提示されたコードからこのような部分が全く見えないので、適切な回答を得たいのであれば、必要なコードや手順をきちんと書くことです。 基本的なコピー手順のコードと貴方が希望するコピー処理手順を文章にして再質問をした方が良いでしょうね。

saab8743
質問者

お礼

質問の意味が判らなくてすみませんでした。 もう一度整理をして質問をやり直します。 有難う御座いました。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

質問の意味がわからない(何がしたいか)。 >Sheets(Sn).Range("A1:Z98").Copy Destination:=Sheets(Sn).Range("V9") r=131です と途端にrが出てくるのはなぜ? >r=131です は下の行に着くのか。表現がおかしい。 ーー >Range("C130")に変換できないでしょうか プログラムで変えたいということか、コーディングの視点を変えたいということか。 考え方を変えて人間なら>Cells(r-1,3)をRange("C130")に変換できないでしょうか、は簡単。しかしc->3に変えるのが意外に厄介。 ーー Range("C130)式にするなら r=131 Range("c"&r-131)=1 とかけるよ。 ーーーーー #1の >Range("A1:Z98")の場合はRange(Cells(r-1,3):Cells(r-50,7))で良いのでしょうか はカンマです。セミコロンではない。 VBAのRANGE関係の表現のバラエティをWEBででも勉強のこと。初歩的なことです。 http://www012.upp.so-net.ne.jp/scotchegg/ExcelVBA/Range/index.htm

saab8743
質問者

お礼

初歩的なことで申し訳ありませんでした。 勉強し直しますありがとうござりました。

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

Range(Cells(r-1,3))

saab8743
質問者

補足

早々ありがとうござりましたわかりました。 Range("A1:Z98")の場合はRange(Cells(r-1,3):Cells(r-50,7))で良いのでしょうか追加でお願いします。

関連するQ&A

  • Copyコマンドについて

    ある行のH~Uまでをすぐ下の行にコピーしたいのですが今まではセルの場所が判っていましたので Sheets(1).Range("H12:U12").Copy Destination:=Sheets(1).Range("H13") としていましたが任意の行ですので r = Sheets(SN).Range("b65536").End(xlUp).Row Sheets(12).Range(Sheets(12).Cells(r + 11, 8), Sheets(SN).Cells(r + 11, 15)).Copy Destination:=Sheets(12).Cells(r + 12, 8) では上手くいきませんCellsを使うときはどうすればよいか教えてください よろしくお願いします

  • エクセル マクロについて Range と Cells について 

    エクセル2003 OSはXP を使っています。 以下のとおり、全く同じコードにも関わらず、前者は動き、後者は動きません。 なお、ClearContents を Clear に変えても Copy に変えても、同様の結果です。 しかし、Cells を使わずに、"A4:C10" 等、番地で直接書くと、後者も動きます。 後者のコードを Cells で動かす方法は無いでしょうか? また、何故こんな現象がおこるのでしょうか? なお、シート名などは、間違いありません。 どなたか教えてください。 Sheets("基本データ作成").Range(Cells(3, 3), Cells(qwe, 4)).ClearContents Sheets("検討データ").Range(Cells(4, 1), Cells(qwe, 3)).ClearContents

  • Excel2003 Range("XXX").Copyについて

    下記のようにコピペをしたいのですが ActiveSheet.Paste Sheets("sheets1").Range("V3").Copy Worksheets("sheets2").Activate Sheets("sheets2").Range "A1").Select 上の方法だと良く行くのですが下記だとSheets("sheets1").Cells(9,16).Copyエラーになってしまします。どうしてもCells(9,16) を使いたいのですが方法を教えてください。 ActiveSheet.Paste Sheets("sheets1").cells(9,16).Copy Worksheets("sheets2").Activate Sheets("sheets2").Range "A1").Select よろしくお願いします。

  • rangeからcellsに帰る場合の書式

    Sub Macro1() Range("A1").Activate Selection.AutoFill Destination:=Range("A1:A10"), Type:=xlFillDefault End Sub をRangeではなくCellsに変えたいのですが、 Sub Macro2() Range("A1").Activate Selection.AutoFill Destination:=Range(Cells(1, 1) & ";" & Cells(10, 1)), Type:=xlFillDefault End Sub だと、 実行時エラー1004になってしまいます。 Sub Macro3() Range("A1").Activate Selection.AutoFill Destination:=Range(Cells(1, 1), Cells(10, 1)), Type:=xlFillDefault End Sub だとうまくいくのですが、 なぜRengeの時は、「;」なのに、cellsの時は、「、」でいいのでしょうか?

  • Range("A1")⇔cells(1,1)の変換。

    EXCELのマクロについて質問します。 Range("A1")⇒(1,1) cells(1,1)⇒("A1") に一発変換する方法を教えて下さい。 時間があるかた宜しくお願いします。

  • Copyコマンドで値のみのコピーをするには

    現在このような形でCopyを実行しています。 Sheets(2).Range("C8")の書式が変わってしましますのでxlPasteValuesなどを使用して値のみのCopyをしたいのですがどう書けばよいのでしょうか Sheets(1).Range("A12").Copy Destination:=Sheets(2).Range("C8") よろしくお願いします。

  • range cells 名称があれば教えてください

    MsgBox range("a1").Value MsgBox Cells(1, 1).Value どちらもセルA1の値を取得できるコードですが それぞれ何方式っていう名称があれば教えてもらえますか? 上はRange方式、で下は、Cells方式でしょうか? (エクセルvbaです)

  • VBA 『Range』 『Cells』 の関係

    初歩的なことなのですが、どうか教えてください。 (1)はわかるのですが、(2)が分かりません。 どのように表したらよいでしょうか。 (1)Range("A1","C5") ⇒ Range(Cells(1, 1), Cells(5, 3)) (2)Range("A1:C5,E1:G5") ⇒ ???

  • VBAでのセルの選択で Cells Range R1C1 の使い分け

    セルを指定するときに Cells Range R1C1のどれかを使うと思いますが、 どういうときにどれを使うといった決まりはあるのでしょうか? 慣れとか好みで使い分けるのでしょうか? ひとつのプロジェクトに対して、 CellsならCellsで一貫して使ったほうがわかりやすいと思うのですが そういう理解でいいのでしょうか? VBAの勉強をはじめたばかりなので、 おかしな質問だったら失礼します。

  • EXCEL2002でRange.Copyでエラー

    お世話になります。 OSがWINDOWS XPの環境で EXCEL2002で既存の入力用のシートAとマクロで追加して削除するワーク用に2つのシートB,Cがあるのですが、ワーク用のシートに下記コマンドを実行するとエラーなります。EXCEL2003では問題なく動くのですが、EXCEL2002しか入っていない環境もあるのでご教授して頂ければ助かります。 Sheets("A").Range("d10:d60").Copy Sheets("B").Range("a1) Sheets("A").Range("h10:h60").Copy Sheets("B").Range("51") Sheets("A").Range("e10:e60").Copy Sheets("C").Range("a1) Sheets("A").Range("i10:i60").Copy Sheets("C").Range("51") 以上 宜しくお願いします。

専門家に質問してみよう