• ベストアンサー

セルへの入力

A列、1行から指定した行までに次のような処理をVBAをもちいて行いたいのですが教えてください。 A 1 01 2 02 3 03 : 11 11 12 12 13 01 14 02 15 03 : 23 11 24 12 : : 具体的には、各行に01から12を入力するのを繰り返すようにマクロを書きたいのですが。

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

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.3

01、02・・・と表示するので、セル書式を文字列にするか、『00』のようにする必要があるでしょう。 下は、繰り返しを書き込みたいセル範囲(行数は任意、列数は1列)を選択して実行します。 Sub Kurikaeshi12()   Dim rg As Range   Dim rw As Long      Selection.NumberFormatLocal = "@" ' または"00"   For Each rg In Selection     rw = rw + 1     rg = Right("0" & ((rw - 1) Mod 12) + 1, 2)   Next End Sub

その他の回答 (2)

  • HarukaV49
  • ベストアンサー率53% (48/89)
回答No.2

処理手順としては、 (1)A1からA12に1~12を入力する (2)A1:A12をコピー (3)A13から出力したい範囲を選択してペースト です。 以上の操作をマクロの自動記録にて確認されることを お勧めします。 後は、この自動記録マクロを多少修正すればスマートな マクロが出来上がります。

  • vvooo
  • ベストアンサー率33% (3/9)
回答No.1

下記で如何でしょう。 Sub Test() Dim f As Long Dim buf() As Long Dim myX As Long myX = 1000 '指定した行 ReDim buf(1 To myX, 1 To 1) For f = 1 To myX    buf(f, 1) = f Mod 12    If buf(f, 1) = 0 Then buf(f, 1) = 12 Next With Worksheets("Sheet1")    .Range("A:A").ClearContents    .Range("A1").Resize(myX, 1).Value = buf End With End Sub

関連するQ&A