- 締切済み
VBAでのセルの選択で Cells Range R1C1 の使い分け
セルを指定するときに Cells Range R1C1のどれかを使うと思いますが、 どういうときにどれを使うといった決まりはあるのでしょうか? 慣れとか好みで使い分けるのでしょうか? ひとつのプロジェクトに対して、 CellsならCellsで一貫して使ったほうがわかりやすいと思うのですが そういう理解でいいのでしょうか? VBAの勉強をはじめたばかりなので、 おかしな質問だったら失礼します。
- その他(プログラミング・開発)
- 回答数1
- ありがとう数2
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- k-marumich
- ベストアンサー率80% (17/21)
こんばんは。 Excel VBA の Cells や Range などの使い分けですが、 (1) Cells 1つのセル位置に対して操作する場合に使用します。 また、for 文などで、列方向や行方向に移動しながら 繰り返し処理する場合に、セル位置をループの カウンタ変数を使って指定できます。 for rowNo = 1 to 3 for colNo = 1 to 2 msgbox "行 : " & rowNo & ", 列 : " & colNo & _ ", 値 : " & Cells( rowNo, colNo ).value next next (2) Range セル位置が固定で指定する場合やセル範囲を指定する 場合、あるいは Range でしか使用できないメソッド やプロパティを使用する場合に使用します。 Range("A1").Select Range("A1:B3").ClearContents Range( Cells(1,1), Cells(2,3) ).Select
関連するQ&A
- 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")に変換できないでしょうか よろしくお願いします。
- 締切済み
- オフィス系ソフト
- range cells 名称があれば教えてください
MsgBox range("a1").Value MsgBox Cells(1, 1).Value どちらもセルA1の値を取得できるコードですが それぞれ何方式っていう名称があれば教えてもらえますか? 上はRange方式、で下は、Cells方式でしょうか? (エクセルvbaです)
- ベストアンサー
- Visual Basic
- エクセルVBAで3つ以上のセルをCellsで選択
エクセル2003のVBAについてお尋ねします。 行番号についてDim X As Integer の構文を使っている関係で Cells(X, 1) Cells(X, 3) Cells(X, 5)などのようにセルの選択をCellsで行う必要があります。 Cellsで離れ離れの3つ以上のセルを同時に選択するには、どのようにしたらよいのでしょうか? Range(Cells(X, 1), Cells(X, 3)).Select では2つしか選択できず困っています。 よろしくお願いいたします。
- 締切済み
- その他MS Office製品
- エクセルのCELLS関数で複数セルを選択したい
こんにちは。EXCEL VBAのことで質問させていただきます。 複数セル(たとえばA1からC1)をまとめて選択する際、 Range("A1:C1").Select と記述すると思います。 これを「Range」ではなく「Cells」で記述できないでしょうか? 宜しくお願い致します。
- ベストアンサー
- オフィス系ソフト
- ExcelVBAで「Cells」を使ってセルの選択範囲を指定する方法
例えば、セル「A1」から「C5」とセル「F1」から「I4」の範囲を選択する場合、 Range("A1:C5,F1:I4").Select としますがこれを「Cells(Row,Column)」を使うやり方はどのようにすればよいのでしょうか? Range(Cells(1, 1), Cells(5, 3)).Select Range(Cells(1, 6), Cells(4, 9)).Select 上記のような二つに分けてプログラムを動かすのではなく、あくまでセル「A1」から「C5」とセル「F1」から「I4」の範囲を同時に指定する方法です。 回答よろしくお願いします。
- ベストアンサー
- Visual Basic
- エクセルVBAでセル選択するコードが変
エクセルのワークシートでVBAでセル選択するコードで理解に苦しむことがあります。 通常、Cells(2, 1)はセル番地で言えばA2セル Cells(4, 1)はセル番地で言えばA4セルです。 しかし、 With .Range("B5:B15")でくくれば .Cells(2, 1)はセル番地で言えばB6セルだと思います。 .Cells(4, 1) はセル番地で言えばB8セルだと思います。 ところが下記のコードを動かすと、なぜかC10:C12が選択されてしまいます。 この理屈がわかりません。 Sub test02() With Sheets("Sheet1") With .Range("B5:B15") .Range(.Cells(2, 1), .Cells(4, 1)).Select End With End With End Sub なお、 .Range(.Cells(2, 1), .Cells(4, 1)).Selectを .Range(“A2:A4”).Selectに書きかえると、希望のB6:B8が選択されます。
- ベストアンサー
- Excel(エクセル)
- VBA Range・Cellsプロパティについて
下記のコードについて質問致します。 Sub 特定のセルをコピー() Dim rw2 As Long Dim rw1 As Long Dim newdate As Date With Worksheets("steet1") rw2 = .cells(.Rows.Count, "c").End(xlUp).Row newdate = .Range("c" & rw2).value For rw1 = rw2 - 1 To 1 Step -1 If .Range("c" & rw1).value <> newdate Then Exit For Next rw1 .Range(.cells(rw1 + 1, 1), .cells(rw2, 1)).Copy '(1) Worksheets("steet2").Range("v6").PasteSpecial xlValue End With End Sub (1)部分のコードの意味が分かりません。 よろしくお願いします。
- ベストアンサー
- Visual Basic
- ExcelのVBAでRangeとCellsをWSHから使いたいのですが・・
エクセルに書き込むマクロのコードを書いていたのですが、 Exl.range(Cells(1, 1), Cells(3, 4)).Font.Bold = True のような部分が、VisualBasic や OFFICEのVBA上で 参照設定でExcelを指定していると、動くのですが、 同じコードが、WSHでは参照設定ができないせいなのか、 動きません。WSHの場合、どのようにしたらよいのでしょうか。 よろしくお願いします。
- 締切済み
- Visual Basic
- RangeプロパティとCellsプロパティ
お世話になります。 現在、VB.NET2003からExcel2003を操作するプログラムを作成しているのですが、基本的な点が一つ、わかりませんので、教えていただけないでしょうか? Range("C5")は、Cells(5,3) Range("B1:D5")は、Range(Cells(1,2), Cells(5,4))、 と表すことが出来ますが、 Range("A1:E1,A4:E7")はCellsプロパティではどのように指定すればよろしいのでしょうか? 以上、宜しくお願いいたします。
- ベストアンサー
- Visual Basic
- ExcelマクロでRange("A1:A5,C1:C5")をCellsで書きたいのですが
マクロ初心者です。 Excelマクロでグラフを作成するときに、元データを指定する所で、 Source:=Range("A1:A5,C1:C5")とするような場合、 「A1」とかアルファベットでの番地指定ではなく、 Cellsを用いて書きたいのです。 Source:=Range("A1:A5")であれば、 Source:=Range(Cells(1, 1), Cells(5, 1))と書けばいいことは分かるのですが、範囲指定を複数にする場合が分からないのです。 よろしくお願いします。
- ベストアンサー
- Visual Basic
お礼
なるほど。 一部解決しました。 ありがとうございました。