• ベストアンサー

ExcelVBAでCells(Row,Column)を使用してセルの範囲を指定する方法

Excelのプログラムで例えば、セル「A」から「F」までの範囲の場合、 Range("A:F") セル「A1」から「F3」の場合、 Range("A1:F3") となりますが、これをCells(Row,Column)を使用した方法はあるでしょうか? 回答よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • onlyrom
  • ベストアンサー率59% (228/384)
回答No.2

>Range("A1:F3") これを、Cells(Row,Column)のみで表すことはできません。 同じRangeプロパティを使って Range( Cells(1,1), Cells(3,6) ) Range( Cells(1,"A"), Cells(3,"F") ) Row1 = 1 :Clm1 = 1 Row2 = 3 :Clm2 = 6 Range( Cells(Row1,Clm1), Cells(Row2,Clm2) ) 見れば分かると思いますが、 Cells(Row,Column)では、ひとつのセルしか指定できない、 即ちRangeプロパティみたいに範囲指定は出来ないということです。 ところで、 ComboBoxの▲云々の質問が削除されてませんか? 夜にでも回答しようかと思っていたのですが。(^^;;; 自己解決したのでしょうね。たぶん。  

miya_HN
質問者

お礼

やはりCellsをRangeで囲まないとダメなんですね。 Cellsは文字列もOKなんですね。 コンボボックスのところはなんとか自分で解決することができました。 ありがとうございました。

その他の回答 (1)

回答No.1

Range("A1:F3").Selectをrow,columnにするのであれば ↓でおkだと思いますが。 Range(Cells(1, 1), Cells(3, 6)).Select 質問の意味が違ってたらごめんなさい。

miya_HN
質問者

お礼

なるほど。 CellsをRangeで囲ってやればできるんですね。 ありがとうございました。

関連するQ&A

  • 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」の範囲を同時に指定する方法です。 回答よろしくお願いします。

  • EXCEL VBA----離れたセル範囲の指定

    こんにちは。初歩的なことで困っています。 Range("A3:A19,F3:F19").Select のように、離れたセル範囲を選択したいのですが 上の例の19行目が不定であるため、変数を使ったCellsプロパティを使用し i=Range("A3").End(xldown).Row Range("Cells(3, 1).Cells(i, 1), Cells(3, 6).Cells(i, 6)").Select と書いてみたのですが、エラーになってしまいました。 正しい指定の仕方を教えて下さい。よろしくお願いします。

  • ExcelVBA:セルの範囲を指定し、線を引く方法

    プログラムでセルの範囲を指定し、線を引きたいのですが、マクロでやった結果うまくいったのですが、自分でプログラムを作るとセルの範囲を選択するときに違った動作をしてしまいます。 下のコードはセルAの線、Bの線、……、と線を引くために範囲を選択しているのですが、この部分の選択範囲がおかしくなってしまいます。 Range("A:A,B:B,C:C,D:D,E:E,F:F,G:G,G:G").Select With Selection.Borders(xlEdgeRight) .LineStyle = xlContinuous End With 一回一回範囲を指定し、線を引く方法もありますが、どのように対処すればよいでしょうか? 回答よろしくお願いします。

  • エクセルVBAで複数範囲の変数使用指定方法につい

    エクセルVBAの初心者です。複数の範囲を変数を使用して指定したいのですが、色々と調べてみましたがよくわかりません。 一つの範囲に対しては、下記の方法で正常に動きました。 i1=1 j1=3 i2=4 j2=8 Range(Cells(j1, i1), Cells(j2, i2)).Name = "範囲_全体" 異なる範囲に対して変数を使用せずに名前をつける場合は下記の方法で動くことがわかっています。 Range("A3:A8, C3:C8").Name = "範囲_分離" 但し、例えば Cellsを使用して Range(Cells(3, 1), Cells(8, 1)) と Range(Cells(3, 3), Cells(8, 3)) を まとめて「範囲_分離」と名前を付けたいのですが、よくわかりません。 どなたかご教授方、お願いいたします。

  • Excelのセル選択範囲の指定について

    Excelのセル選択範囲の指定について d = Range("A65536").End(xlUp).Row Range("A1:K" & d).Select これでやると A1からk列のデータの最後の(データの入っている行)までを選択しますが このk列というところを n = ActiveSheet.Range("A1").End(xlToRight).Columnを使いKでなくデータのある列nを使った表現に変えたい。どうすればいいか。

  • ExcelVBAで、選択範囲内で同じ値が入力されたセルを調べる

    選択範囲内(縦一列)で同じ値が入力されたセルの色を黄色にするプログラムを作りました。 Sub 選択範囲内で同じ値が入力されたセルを調べる_縦() Dim startrow As Byte Dim lasrow As Byte Dim i As Long Dim j As Byte Dim atai If TypeName(Selection) <> "Range" Then Exit Sub startrow = ActiveCell.Row '最初のセルの列番号を取得 lasrow = Selection.Rows(Selection.Rows.Count).Row '最終列番号を取得 '同じ値が入力されているセルを黄色にする For i = startrow To lasrow - 1 If ActiveSheet.Cells(i, ActiveCell.Column).Interior.ColorIndex = xlNone Then atai = ActiveSheet.Cells(i, ActiveCell.Column).Value For j = i + 1 To lasrow If atai = ActiveSheet.Cells(j, ActiveCell.Column).Value Then ActiveSheet.Cells(i, ActiveCell.Column).Interior.ColorIndex = 6 ActiveSheet.Cells(j, ActiveCell.Column).Interior.ColorIndex = 6 End If Next End If Next End Sub 但し、上記のプログラムでは選択範囲内に結合セルがあるとエラーになってしまいます。 どなたか、解決方法をご教授頂けませんでしょうか? 宜しくお願い致しますm(._.)m

  • エクセルのマクロのセルの範囲指定

    エクセルのマクロで、うまくセルの範囲を指定できません。 例えば、 Range(Cells(5.6), Cells(8, 7)) = "AAA" と、指定した時は、F5:G8のセルにAAAという文字を代入するつもりで書いています。 ところが、マクロを実行すると、F1:G8まで、AAAの文字が代入されます。 どうしてでしょうか。 宜しくお願い致します。

  • 関数の中で参照するセル範囲(変動する)の記述方法

    セルJ5に下記の数式を入力するマクロを組みたいのですが、記述方法が分かりません。   =SUMIF(セル範囲(1),B5,セル範囲(2))  ・セル範囲(1)にはB5:C列の最終データまで  ・セル範囲(2)にはC5:C列の最終データまで 自分なりに   ActiveCell.Formula = "=SUMIF(Range(Cells(5, 2), Cells(Range("b5").End(xlDown).Row, 3)),b5,Range(Cells(5, 2), Cells(Range("C5").End(xlDown).Row, 3)))" と書いてみたのですがダメでした。 どうかご教授お願い致します。

  • エクセルの範囲セルの範囲セルについて

    ExcelVBAで、ある範囲のセルを基準として、その範囲の中の範囲を表したい のですが、どうすればよいのでしょうか? 以下のセルで、A1:D2の範囲を使ってA2からD2の範囲を表す方法です。 A1 B1 C1 D1 A2 B2 C2 D2 A2のセルはRange("A1:D2").Cells(2,1)で表すように Range("A2:D2")でなく、Range("A1:D2")を使ってA2からD2の範囲を表す方法が知りたいです。

  • ExcelVBA 変数を使った別シートセルのCellsでの範囲指定について

    ExcelVBAで変数を使って別シートのセルをCellsで範囲指定をすると、 「アプリケーション定義またはオブジェクト定義のエラーです。」と 表示されます。 Sheets("Sheet1").Range(Cells(1, CNT), Cells(10, CNT)).Value 同シート内ならエラーは出ないのですが、処理中にアクティブシートを 変えたくありません。 何かよい方法はないでしょうか。

専門家に質問してみよう