• ベストアンサー

VBAでセルをダブルクリックとEnterを押す方法

VBAでExcelのセルB2~B11までをダブルクリック&Enterを押す繰り返す処理をしたいので、次のようなコードでやってみましたが、セルB11~B20をダブルクリック&Enterを押す結果となりました。どう修正したらB2~B11までをダブルクリック&Enterを押す繰り返す処理になるのか教えてください。よろしくお願いいたします。 ************************************************************* Sub 編集状態とEnter() Dim i Worksheets("Sheet1").Activate For i = 2 To Cells(Rows.Count, 3).End(xlUp).Row Cells(i, 2).Activate SendKeys "{F2}" & "{Enter}" Next End Sub *************************************************************

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.2

> セルB11~B20をダブルクリック&Enterを押す結果 F2で編集モードにしてEnterでその時に設定を変えていなければ下に移動になりその下に移動分が残る感じです。 エンター後移動が縦でしたら以下のようにして試してみてください。 Cells(2, 2).Activate For i = 2 To Cells(Rows.Count, 3).End(xlUp).Row SendKeys "{F2}" & "{Enter}" Next エンター後移動が縦か横か不明な場合は以下で試してみてください。 Dim i As Long, LastRow As Long Worksheets("Sheet1").Activate LastRow = Cells(Rows.Count, 3).End(xlUp).Row Range("B2", Cells(LastRow, "B")).Select For i = 1 To Selection.Count SendKeys "{F2}" & "{Enter}" Next

bigsky0819
質問者

お礼

ありがとうございました。 エンター後移動が縦で、思いどおりに動作してくれました。 エンター後移動が縦か横か不明な場合もやってみましたが、思いどおりに動作してくれました。 大変に助かりました。

その他の回答 (2)

  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.3

回答No.2の追加です。 もしかしたら場合によっては For i = 2 To Cells(Rows.Count, 3).End(xlUp).Row Cells(i, 2).Activate SendKeys "{F2}" Next SendKeys "{Enter}" でいけないでしょうか

  • m_and_dmp
  • ベストアンサー率54% (987/1817)
回答No.1

B20 にデータがある(空白ではない)からです。 For i =2 To ・・・ でデータのある最終行を取得していますが、 For i = 2 To 11 ではいけないのですか?

bigsky0819
質問者

お礼

最終行は変化しますので、固定値は使えないです。 ご回答いただきありがとうございました。

関連するQ&A