- ベストアンサー
エクセルVBAでセル選択
エクセル2000でリストを作成し、VBAで編集しようとしています。 A列に入力されているコードの先頭に「’」をつけて文字列とするための関数をB2のセルからA列のデータが入力されている最後のセルの隣までコピーしたいと思っています。 A列の最終セルを取得するVBAは分かったのですが、その値をB列の選択範囲として使用する方法がわかりません。 エクセルVBAは全くの初心者です。 どなたか教えてください!
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ん~やりたいことはこんな感じですか range("a2",range("a2").End(xlDown)).offset(0,1).FormulaLocal="=""'""&a2"
その他の回答 (2)
- jindon
- ベストアンサー率43% (50/116)
A列の最終列は取得済みですね? 一応 Range("A65536").End(Xlup).Row こんな感じですかね。 このまま使う場合は、 Range("B2:B" & Range("A65536").End(Xlup).Row).Select で良いでしょう。 変数を宣言して Dim lastA as Long LastA=Range("A65536").End(Xlup).Row Range("b2:b" & lastA).Select こういった使い方の方がポピュラーでしょう。
お礼
早速の回答ありがとうございます! 変数の代入の仕方が分かりました。""で囲んで文字列として使えばよかったんですね。 早速使わせて頂きます。
- imogasi
- ベストアンサー率27% (4737/17069)
>関数をB2のセルからA列のデータが入力されている最後のセルの隣までコピーしたいと思っています それも良いが(書式に拘らないで良いなら) Sub test06() For i = 1 To 5 Cells(i, "A") = "'" & Cells(i, "A") Next i End Sub でできます。それをお勧めします。 >A列の最終セルを取得するVBAは分かったのですが 上記5に当たるところに Sub test06() d = Range("A65536").End(xlUp).Row MsgBox d For i = 1 To d Cells(i, "A") = "'" & Cells(i, "A") Next i End Sub とすれば良いが >B列の選択範囲として使用する方法がわかりません Sub test06() d = Range("B65536").End(xlUp).Row MsgBox d For i = 1 To d Cells(i, "B") = "'" & Cells(i, "B") Next i End Sub でどうですか。 空白行は’を入れないなら Sub test06() d = Range("B65536").End(xlUp).Row MsgBox d For i = 1 To d If Cells(i, "B") <> "" Then Cells(i, "B") = "'" & Cells(i, "B") End If Next i End Sub (1)
お礼
早速のお返事ありがとうございました。 変数の使い方、とても参考になりました。 エクセルVBAの構成が少しだけ見えてきました。 どうもありがとうございます。
お礼
まさにやりたかったことはこれです! No.3の方の回答と組み合わせて使わせていただきます。 ありがとうございました。