• ベストアンサー

エクセルのVBAで教えてください

エクセルのVBAで教えてください、セルA1の値をマクロボタンを押すたびに、セルC1から順番にC2・C3・C4・・・・と下に自動的に入力するVBAを教えてください。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

すでに回答がでていますが別のやりかたも・・・。 Sub test02() Dim n As Long With ActiveSheet If .Cells(Rows.Count, "C").End(xlUp).Value = "" Then n = .Cells(Rows.Count, "C").End(xlUp).Row Else n = .Cells(Rows.Count, "C").End(xlUp).Offset(1).Row End If .Cells(n, "C").Value = .Range("A1").Value End With End Sub #1さんとの違いは、最初はありませんが、いったんエクセルを終了し再度立ち上げてまた実行すればわかります。 #1さんのはC列の入力状態にかかわらずまたC1、C2とまたはじめから入力されます。 #2は、C列に入力があれば、そのひとつ下のセルから入力されます。 masa2832さんのお書きになったとおり「セルC1から順番にC2・C3・C4・・・・と下に自動的に入力」がC列の状態にかかわらないのであれば#1さんのコードをご使用ください。 ご参考まで。

masa2832
質問者

お礼

早々にご回答頂き有難うございます。 方法としては、途中まで入力がある場合に続いて自動入力されるタイプが必用でしたので、大変参考になりました。 早速利用させて頂きます。本当に有難うございました。

その他の回答 (1)

  • kenpon24
  • ベストアンサー率64% (66/102)
回答No.1

Sub test() Static i As Long If i = 0 Then i = 1 Range("C" & i) = Range("A1") i = i + 1 End Sub

masa2832
質問者

お礼

早々ご回答頂き有難うございます。 上書きタイプのVBAも非常に参考になりました。 早速別シートで利用させて頂きました。素人の私には非常に良い勉強になり、大変感謝しております。

関連するQ&A

専門家に質問してみよう