• ベストアンサー

エクセルのマクロでセル選択するには

初心者です! エクセルのSheet1に30箇所のセルをマクロで選択したいのですが、 たまに選択するセルが変わります。 そこで、Sheet2のA1から下へSheet1の選択する位置を「B2」「C5」「D10」・・・としてマクロで一発で30箇所のセルを選択する方法を教えてください Sheet2のA1から下へ入力するセル位置はその都度変化します。 変化したときにそのマクロを実行すると選択できるといいのですが!! よろしくお願いします。

  • t-55
  • お礼率100% (1/1)

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

  • ベストアンサー
  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.1

こんなんかな。 Sub test() Dim r As Integer, i As Integer Dim slc As String, slc1 As String r = Sheet2.Range("A1").End(xlDown).Row - 1 For i = 0 To r slc1 = Sheet2.Range("A1").Offset(i, 0) slc = slc & slc1 & "," Next slc = Left(slc, Len(slc) - 1) Sheet1.Select Range(slc).Select End Sub

t-55
質問者

お礼

早々、ご回答 大変ありがとうございました。 出来ました!! これで、エクセルが使いやすくなりました。 今後も、よろしくお願いします!!

関連するQ&A

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

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

  • エクセル 特定セルの表示拡大マクロ

    エクセル2010のマクロについて質問させていただきます。 特定セルが選択された場合のみ表示を140%に拡大し、そのほかを選択した場合は100%に戻すマクロをご教授願います。 具体的な例としては エクセル A1~E4 で表を作成しています。 入力セルは A2,B2,C2,D2,E2,A4,B4,C4,D4,E4 の10カ所に数値を入力します。 上記10カ所を毎回選択するのか面倒なので「名前の管理」で10カ所を選択しています。 エクセルファイルを開くと10カ所を選択するマクロを実行しています。 その10カ所を範囲指定した中で選択セルを「Enter」で送っていき、「D2」もしくは「D4」セルを選択した場合のみ、表示倍率を上げそのほかのセルを選択した場合は表示倍率を戻すマクロをご教授願います。 名前の管理(範囲指定)を実行せずに、単にセルだけを選択した場合のマクロは作成できたのですが、範囲指定した中でのセル選択ではマクロが実行されませんでした。 単にセルだけを選択した場合拡大するマクロを記述しますので、よろしくお願いします。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address() = "$D$2" Or Target.Address() = "$D$4" Then ActiveWindow.Zoom = 140 Else ActiveWindow.Zoom = 100 End If End Sub マクロを学び始めて間もないため、初歩的なミス、見当外れな質問をしてしまうかもしれませんが、何卒よろしくお願いします。

  • エクセルで特定のセルを選択したい(マクロ)

    以下のようなマクロを組もうとしていますが、出来ません。 sheet1において 1)マクロを実行すると、メッセージボックスが出る。 2)メッセージボックスに入力した文字と同じ文字が入力されているセルを選択する。 3)2)のセルの1行下のセルを選択する。 2)で必ずエラーが出てしまいます。どのような方法が良いのか教えていただけるとありがたいです。よろしくお願いします。

  • Excel(セルの結合マクロ)

    いつもお世話になっております。 Excelのマクロで、選択範囲の中で、下のセルが空白のものは、上のセルと結合されるマクロを作りたいと考えています。 (例1:A1セルに”TEST”が入力されており、A2,A3セルが空白として、A1:A3を選択し、マクロを実行するとA1からA3がセル結合される  例2:A1に”TEST2”B2に"TEST3"が入力されており、A1:B3を選択すると、A1からA3が結合され、B2とB3も結合される) 説明が下手で申し訳ないのですが、お力を貸していただけませんでしょうか? よろしくお願いいたします。

  • エクセル:シート1のセルA1が0でなければ任意のマクロを実行したい

    エクセルマクロ(VBA)初心者です。よろしくお願いします。 (1)エクセルのsheet1のセルA1の値が”0(ゼロ)”でなければ、そのシート上で任意のマクロを実行し、ゼロであれば実行せずにsheet2へとぶ (2)同じようにsheet2のセルA1がゼロでなければ実効し、ゼロでなければsheet3へとぶ・・・の繰り返し(sheet50まであります。) このようなマクロ(標準モジュール)の書き方を教えてください。 よろしくお願いいたします。

  • エクセル/マクロ/セルの選択について(初心者です)

    最近マクロ機能を使い始めた初心者です。 マクロの記録を使い、ちょっとだけVBEで触っています。 以下のような場合、なんと記述すればよいでしょうか? 詳しい方にはとても簡単だと思われ、お恥ずかしいですが、 教えていただけましたら幸いです。 【実現したい内容】 あるセル範囲を指定している時に、実行すると、 指定していた範囲の行の、A列のみが選択される ※例えばB1:B3、またはC1:C3、またはD1:E3 のをセル範囲を選択している時に、マクロを実行すると いずれの場合もA1:A3を選択する。 表現が分かりにくいでしょうか…?

  • マクロで複数のセルに数値を入力したい

    エクセル、マクロとも初心者なのですが、タイトル通りのことをするにはどうしたらよいか教えてください。 やりたいことは、 「指定したアクティブセル(毎回変わる)を選択し、その隣のセルにあらかじめ決められた数値をマクロで入力する」というものです。 例えば・・・ A1をアクティブにし、マクロを実行する B1、C1、D1、E1のセルに決められた数値が入力される こんな感じです。 基本的なことかもしれませんが、どうかよろしくお願いします。

  • Excelマクロでセルの比較

    Excelマクロでセルの比較 まだマクロ初心者なので、詳しいことがわからなくて困っております。 例)●前提として何行目まであるかは変化します     (A列)(B列) (1行目) 35  35 (2行目) 26  26 (3行目) 13  13 (n行目) 12  12 ※n=最終行 【やりたいこと】 このようにシートに入力されていたとして、 「A1=B1?」⇒「A2=B2?」⇒「A3=B3?」⇒「An=Bn?」と比較を進めていき不一致の有無を出す。 もし不一致がなければ、そのまま通過しその次のマクロを実行していく。 不一致があった場合には、不一致の行を別ファイルに出力してファイル保存し、ファイルを閉じる。 マクロを実行している元のファイルは、保存せずにファイルを閉じる) 行の長さが変化するため、その変化にも対応した処理を実行したいと思っております。 本やサイトで調べてみたのですが、基礎知識がないためうまく処理をさせるマクロを作ることが出来ませんでした。 このようなマクロが可能なのかもわかりませんが、出来ましたらこのマクロを教えていただけますでしょうか。 宜しくお願いいたします。

  • エクセルのマクロで任意のセルに他のシートのセルの内容を入力したい。

    初心者のhaasan99と申します。 エクセルのマクロを利用して、任意のセルに特定のセルに入力している内容を入力したいのです。 任意のセルと特定のセル(たとえばA1)が同じシートの場合は、下記のマクロで実行できました。 ActiveCell.Value = "=$A$1" 特定のセルが他のワークシートの場合でもできる方法があるでしょうか。(たとえば、任意のセルがワークシート1で特定のセルがワークシート2) 参考書を調べていろいろやってみましたが、うまくいきませんでした。 どうぞよろしくお願いします。

  • マクロが実行されるセル範囲の変更を簡素化したい

    excel 2016を使っています。 例えば、ボタンを押すと指定したセルA1~A10までに入力されている数値を昇順に並べ替えるマクロがあるとします。 この数値が入力されているセルA1~A10の範囲をドラックして、D1~D10の位置に移動すると、マクロが実行される範囲を新たにD1~D10に指定しないとならないのですが、マクロが実行される範囲をA1~A10の範囲に固定して、別の場所に移動してもマクロを修正しなくても良い方法はありますか。