- ベストアンサー
ExcelのVBAで選択範囲を指定する方法
初心者でVBAに挑戦したらいきなり壁にぶち当たりました。。 誰か教えて下さい! 私のしたいことは、、 +-+-----+---+ |No|Name|状況| +-+-----+---+ |11|RARA| ○ | +-+-----+---+ |12|RURU| ○ | +-+-----+---+ |13|KAKA| △ | +-+-----+---+ |14|RERE| △ | +-+-----+---+ |15|RERA| × | +-+-----+---+ |16|KOKO| × | +-+-----+---+ 上記のような表があって、マクロを実行したら状況が○になっている行のNo・nameのセルが選択されるようにしたいんです。 ○のある行の多さは状況によって変わるので、”○”だったら選択というように指定したいと思っています。 一度「マクロの作成」機能でマクロを作ってみたんですが、 Range("A2:B3").Select のようになりました。 どうやったら○だったら、という条件が付けれますか? よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
関連するQ&A
- エクセルVBA:範囲選択について
初歩的な質問ですが、よろしくお願いします。 Excel2000です。 グラフを描くための範囲選択をしたいのですが、うまくいきません。 状況は、 ・列A、列Bにデータが入っている。(データの数はAB同じで2行以上) ・開始点は一定。(ここでは、行10と仮定します) ・終了点が変化する。(但し、終了点は常に一番下のデータ) これだけです。 一番下のデータを参照するので、 Range("A10 : Range("B10").End(xlDown)").Select Range("A10 : Range("B65536").End(xlUp)").Select Range("A10 : Cells(ActiveSheet.Rows.Count, 2).End(xlUp)").Select と書きましたが、全てダメでした。 直接書くのがダメなら変数を使おうと思い、 Dim StopCell as Range Set StopCell = Range("B65536").End(xlUp) Range("A10 : StopCell").Select と書きましたが、ダメでした。 このとき、変数StopCellには「セル」ではなく、「セルの値」が代入されているようです。 Valueと書いていないのに値が代入されていること、オブジェクト変数なのに数値が代入されていることが納得できません。 どこをどのように間違えているのでしょうか。 また、目的のマクロはどのようになるのでしょうか。 大村あつし著「かんたんプログラミングExcel2000VBA基礎編」および「同 コントロール・関数編」で勉強していますが解決しません。 ご教授ください。
- ベストアンサー
- Visual Basic
- エクセル VBA の行選択
エクセルVBAで行を選択する場合 Rows(1,1).select Range(Cells(2,2),Cells(5, 5)).EntireRow.Select の方法があると知りました。 この数値の部分に変数を入れるとエラーがでてしまいました。 どうすれば変数で行を選択することができるのか教えてください。 2003を使用しております。
- ベストアンサー
- オフィス系ソフト
- エクセルのVBAで範囲指定に変数を入れたいんですけど・・・。
エクセルのVBAで Range("A2:B○").Select という範囲を指定するときにA1に3が入っていたら○にB3を、4が入っていたら○にB4を入れるというふうにしたいんですがやり方がわかりません。 参照できるページでもいいのでよろしければ教えていただけないでしょうか?よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルで縦の行を自動選択する方法
同じような質問があるのですが、どうも上手く行かないので質問させてください。 マクロのVBA?を使って自動選択したいのです。 具体的に言うとこうです。 横1行で一つのデータの括りになるので 例えばこんな感じで Range("B3:F3").Select 横の列はB3~F3まで選択し、 さらに行が増えた場合でも 縦は自動で選択されるようにしたいのです。 もしこう書けば Range("B3:F30").Select 縦の行も含め指定した範囲だけ選択されますが しかし、縦の行は自動選択(入力された最後のセルまで)したいので Range("B3:F3").Select + 縦が自動選択される記述 をご教示いただきたくご質問しました。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルVBAでの範囲選択について
はじめまして。 VBAを勉強し始めたばかりなのですが、 sub test() Range("A1:M10").Select Selection.WrapText=True End Sub とあるものを、 『InputBox』を使わずに自由に範囲選択をするように するにはどういう方法があるのですか?
- ベストアンサー
- オフィス系ソフト
- エクセル VBA 範囲指定方法
エクセルVBA初心者です。 以下の範囲指定について教えてください。 一つの表のK列の一番下のセル(不定)を選択→Range("K65536").End(xlUp).Select その選択されたセルからA3(固定)まで範囲を選択したいのですが、不定セル:固定セル の範囲指定方法が分かりません。 よろしくお願いいたします。
- ベストアンサー
- Visual Basic
- エクセルVBAでセル範囲選択→並べ替え
大きなデータを選択する場合でA列には空白がない場合、 Range("A1").CurrentRegion.Select でいいと思うのですが、このデータを並べ替えようとするとき、1行から4行めには別の文字列がはいっており、5行目以下がデータであるとき、 Range("A1").CurrentRegion.Offset(4).Selectで下にさげると、最終選択範囲も下がってしまいます。 最終の範囲を変えず、開始位置を5行目にかえるにはどうすればよいのでしょうか?
- ベストアンサー
- オフィス系ソフト
- Excel VBA セル範囲の選択方法について
VBAのソースで、「集計バックアップ」と名前を付けた範囲を選択したいのですが、「Worksheets("記録表").Range("集計バックアップ").Select」と記述するとエラー1004が出ます。 構文的に何か問題があるのでしょうか?
- ベストアンサー
- Visual Basic
- エクセルのマクロで行選択の選択範囲を変数指定する方法
あるファイルのデータを別のファイルに行挿入でコピーするマクロを作ろうとしています。 コピー元の選択について、行範囲が固定であれば例えば Rows("10:20").Select でよいのですが、コピー元行範囲がファイルにより異なるので変数化する必要があります。 単純には、 Sub Row_Copy() Dim AA, BB As Integer AA = 10 BB = 20 ' 10行目から20行目を行選択しコピーする Rows("AA:BB").Select '##ここが問題## Selection.Copy ' ' (簡単のため)同じシートに行挿入する例 Rows("30:30").Select Selection.Insert Shift:=xlDown End Sub ですが、これだと Rows("AA:BB").Select の部分でエラーになります。 いろいろとやってみましたが、どうしても何らかのエラーになってしまいます。Rowsは変数では使用できないのでしょうか? ちなみに、行範囲の選択ではなくRangeでセル範囲の選択をするという方法もありますが、複数ファイルのデータをコピー先の一つのファイルにマージするために行挿入でコピーしたいことと、列方向の柔軟性を持たせたいため、コピー元選択方法として行範囲の指定をしたいという趣旨があります。 また、1行毎のコピー・行挿入をデータの行数だけ繰り返すという手もありますが、データ量が多いとかなり処理時間がかかるためこれも避けたいと思っています。 マクロ初心者で知識不十分ですが、よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- VBAアクティブセル行で列範囲選択
マクロ A1をアクティブセルにして A:H列の行を選択するにはどう書けばいいのでしょうか? この場合A1:H1が選択されればいいのですが range("A:H " & activecell.row).select みたいな感じだとエラーになってしまいます。
- ベストアンサー
- その他MS Office製品
お礼
みなさんすごいですね! 本当にびっくりしました。 プログラムを書き込んでもらえるととっても助かります。 がんばって意味を理解して利用させてもらおうと思います。 今日、帰り本屋さんでVBAの本立ち読みしてみたんですが、道のりは遠そうです(^-^;) ありがとうございました!!