こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルVBAでセル選択

エクセル2000でリストを作成し、VBAで編集しようとしています。
A列に入力されているコードの先頭に「’」をつけて文字列とするための関数をB2のセルからA列のデータが入力されている最後のセルの隣までコピーしたいと思っています。
A列の最終セルを取得するVBAは分かったのですが、その値をB列の選択範囲として使用する方法がわかりません。
エクセルVBAは全くの初心者です。
どなたか教えてください!

投稿日時 - 2004-11-30 22:07:15

QNo.1107103

困ってます

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

ん~やりたいことはこんな感じですか

range("a2",range("a2").End(xlDown)).offset(0,1).FormulaLocal="=""'""&a2"

投稿日時 - 2004-11-30 23:09:36

お礼

まさにやりたかったことはこれです!
No.3の方の回答と組み合わせて使わせていただきます。
ありがとうございました。

投稿日時 - 2004-12-01 21:05:53

このQ&Aは役に立ちましたか?

5人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

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

こういった使い方の方がポピュラーでしょう。

投稿日時 - 2004-11-30 23:13:15

お礼

早速の回答ありがとうございます!
変数の代入の仕方が分かりました。""で囲んで文字列として使えばよかったんですね。
早速使わせて頂きます。

投稿日時 - 2004-12-01 21:03:36

ANo.1

>関数を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)

投稿日時 - 2004-11-30 23:08:55

お礼

早速のお返事ありがとうございました。
変数の使い方、とても参考になりました。
エクセルVBAの構成が少しだけ見えてきました。
どうもありがとうございます。

投稿日時 - 2004-12-01 21:08:20

あなたにオススメの質問