• ベストアンサー

《エクセル》 マクロ-セルの範囲指定の式

いつもお世話になります。 2つお聞きしたいのですが、エクセルで、 ・「A列のデータのあるセル範囲のみを指定する」と、 ・「A列のデータのあるセル範囲の、隣(B列)のセルを指定する」 というマクロの式はどのように書けば良いのでしょうか。

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

  • ベストアンサー
noname#29107
noname#29107
回答No.2

連続していないデータと仮定します。 A列の選択するデータは数値と仮定します。 A列のデータ範囲をmyrngに、隣接する範囲をmyrng2という変数に格納します。 Sub test1() Dim myrng As Range Dim myrng2 As Range Set myrng = Columns(1).SpecialCells(xlCellTypeConstants, 1) Set myrng2 = myrng.Offset(0, 1) rem myrng2.Value = " this is" End Sub

7-samurai
質問者

お礼

ありがとうございます。 変数にも、色々な使い方があるのですね。 大変勉強になりました。

その他の回答 (1)

回答No.1

指定って選択でいいですか? Sheet1と仮定し、データは連続しているものとます。 「A列のデータのあるセル範囲のみを選択する」マクロ Sub ListSelect1() Worksheets("Sheet1").Select Range("A1").End(xlDown).Select Range(Selection, Selection.End(xlDown)).Select End Sub 「A列のデータのあるセル範囲の、隣(B列)のセルを選択する」 マクロ Sub ListRightSelect1() Worksheets("Sheet1").Select Range("A1").End(xlDown).Select Range(Selection, Selection.End(xlDown)).Select Selection.Offset(0, 1).Select End Sub

7-samurai
質問者

お礼

ありがとうございました。 この方法で試させていただきます。

関連するQ&A

  • マクロで範囲指定をするには

    こんにちわ。 マクロを作りたいのですが。 B1セルにカーソルをおいてB列をデーターが入っている行の終わりまで範囲指定をさせたいのですがどのようにしたらよいのでしょうか。 宜しくお願いします。

  • エクセル セル範囲にデータが記入されているかを知りたい

    いつもお世話になります。 エクセル2000を使用しています。 「セル範囲のA2~B20に、データが含まれているセルが一つもない場合は、処理を実行しない。一つでも存在する場合は以下の処理をする」 というマクロを書こうとしているのですが 「セル範囲のA2~B20に、データが含まれているセルが一つもない」、「一つでも存在する」 という意味の式の書き方が分かりません。 お手数ですが、教えていただけますでしょうか。 また、現在はエクセルのVBA入門書程度のもの("できるEXCEL2000 マクロ&VBA編")しか手元にないのですが、このようなことが分かりやすく理解できる書籍などをお知りでしたら、教えていただけますでしょうか。

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

    お世話になります。マクロ初心者です。エクセルの業務でマクロを作成しようとしているのですが、マクロ実行で、セルの範囲が指定される方法はありますか?例えば シート名  開始  終了  Sheet1   A1  D10 を入力して、ボタンを押したらA1からD10までのセルが選択されることです。説明不足ですみません。宜しくお願いします。

  • Excelのマクロを使わず、数式内のセル指定範囲をダイナミックにすることはできますか?

    Excelで数式内に範囲を指定するときに、先頭と最後尾のセル番地を指定しますが、他のセルで指定した数値を指定したセル番地の行数に指定することはできますか? 例えば、以下のようなサンプルにおいて A B C D 1 10 2 4 2 32 3 42 4 20 5 17 6 =sum(A2:A4) C1番地に2、D1番地に4を入力すると自動的に A6番地でA2~A4の範囲を指定して足し算してくれるようなことをマクロを使わずに実現できるでしょうか?

  • エクセルでセルを指定する方法

    A列 B列 (1)   5 (2)   10 (3)   15 (4)   7 (5)  12 エクセルでB列の最大値(この場合15)が入っているセル(B3)から2つ上のデータ(B1なので5)と2つ下のデータ(B5なので12)を足すといったセルを指定する式を教えてください。

  • エクセルのマクロで範囲指定をセルに番号を入れて、範囲指定したセルの字の

    エクセルのマクロで範囲指定をセルに番号を入れて、範囲指定したセルの字の色を白にして消したいのですが、番号を入れるマクロがわかりません。マクロに記録でA2からB12までのセル内の字の色を白 にする方法は Sub 字を消す() ' ' 字を消す Macro ' ' Range("A2:B11").Select With Selection.Font .ThemeColor = xlThemeColorDark1 .TintAndShade = 0 End With End SubでできるのですがD3に開始番号、E3に終了番号を指定する方法がわかりません。ご教授お願いします

  • EXCELで指定した範囲の切り取り貼り付け

    Excelで シート1のA1~E1000までデータがあります。 B列には0~1500の数値データがあり昇順で並んでいます。 このB列のデータの700~1000の数値データのA~E列全ての範囲を「切り取り」・シート2に「形式を指定して貼り付け」(値)という作業をマクロにてできませんか? 尚、1つセルが下がるごとに1数字があがるとは限りません。 大変困ってます。詳しい方ご教授ください。

  • Excelマクロ 範囲指定について教えて下さい。

    ソフトから書き出したテキスト形式のファイルを、エクセルで読み込んで範囲を指定し、 他のブックのシートに貼り付けるという、いつもの作業をマクロで簡素化しようと、 マクロ初心者の私は、マクロの自動記録と、インターネットで調べたりで作っているのですが、 範囲指定でつまづいています。 読込んだファイルには、A列からH列までデータがあります。 行のほうは、その都度変わります。 A列を下に見ていくと、途中<小計>という文字が何度か出てきます。 左上端がA4として、そこから初めての<小計>がある行の1段上の行までで 範囲指定させることは出来るのでしょうか? 例えば、A20に<小計>があるなら、指定範囲を A1:H19 という具合に するのはどうしたらいいですか? 下のマクロでは、H列の右下端まで全部範囲指定するので、ダメですね。 Dim 左上端 As String, 右下端 As String Windows("aaa.txt").Activate Worksheets("aaa").Select 左上端 = "A4" 右下端 = Range(左上端).SpecialCells(xlLastCell).Address Range(左上端 & ":" & 右下端).Select Selection.Copy Windows("bbb.xls").Activate Sheets("bbb").Select Range("A1").Select ActiveSheet.Paste Application.CutCopyMode = False Excel2003を使っています。 よろしくお願いします。

  • CLEAN関数マクロ記述式!

    エクセルで、(例えば)A列のセル内改行されたデータを「CLEAN関数」でB列に表示させたい時、A列に入っている分のデータだけを隣のB列に表示させる場合のマクロの記述式を教えて下さい。セルA1「あああ 改行 いいい」→B1「あああいいい」、セルA2「ううう 改行 えええ」→B2「うううえええ」、セルA3「データなし」→B3「表示なし」  イメージご理解して頂けたでしょうか?要するにA列に入ってるセルのデータのみをCLEAN関数でB列に表示させ、A列に入ってない場合はCLEAN関数を適用しない場合の記述式です。どうか宜しくお願いします。

  • エクセルで連番をマクロで

    こんにちは いつもお世話になっています。 Windows7、エクセル2010で教えてください。  B3から仮にB100まで文字列があるとします、空白セルはありません。 この状態でA3からA100まで1から始まる連番をマクロで実行したいのです。 実際はB列のデータの最終行は不定です。つまり、B列にデータがなくなるまで(空白セルになるまで)A列に連番をつけたいのです。現在はA3,A4に1,2と入力し、オートフィルで該当セルを選択し「予測」で連番をつけています。 マクロ記録ではB列にデータがなくなる判断ができなくて作れません。 この作業が頻繁にあるものですからマクロができれば助かります。 よろしくお願いいたします。