「これはヤバかったな」という遅刻エピソード

自分で記録したマクロを親切な方に編集してもらいました。実行スピードが格段に速くなったのですが、さらに処理したい項目が出来たので、別に記録してコピー、適切な箇所に挿入したのですが、実行時エラーが出ます。どう直していいのか分かりません。分かる方教えて下さい。

Sub Incert12()

Dim wRow As Long
Dim i As Integer
Dim tbl(1 To 12, 1 To 1) As Integer
wRow = Range("A65536").End(xlUp).Row
Rows(CStr(wRow) & ":" & CStr(wRow + 11)).Insert

Range(Cells(wRow + 1, "B"), Cells(wRow + 11, "B")).FormulaR1C1 = "=R[-1]C"
'↑(1)これの代わりにB列を12行全て結合したい

For i = 1 To 12
tbl(i, 1) = i
Next i
Range(Cells(wRow, "C"), Cells(wRow + 11, "C")).Value = tbl
'↑(2)これに加えてA列に以下の処理も加えたい
'ActiveCell.Offset(-2, -8).Range("A1").Select
'ActiveCell.FormulaR1C1 = "=R[-1]C+1"
'ActiveCell.Select
'Selection.AutoFill Destination:=ActiveCell.Range("A1:A12"), Type:= _
' xlFillDefault
'ActiveCell.Range("A1:A12").Select

'↓(3)F列ではなく、FからK列までにしたい。
Cells(wRow + 12, "F").AutoFill Range(Cells(wRow, "F"), Cells(wRow + 12, "F"))
'これが私が作ったマクロ。(2行目に問題ありとの事)
'ActiveCell.Offset(-1, 5).Range("A1:F1").Select
'Selection.AutoFill Destination:=ActiveCell.Range("A1:F13"), Type:= _
’ xlFillDefault
'ActiveCell.Range("A1:F13").Select

Cells(wRow, 1).Select
End Sub

以上(1)~(3)を直したいのです。どなたかよろしくお願い致します。

A 回答 (1件)

前回私が修正したものですよね?



前回同様自信なしです。(バックアップを取ってから試してくださいね)

Sub Incert12()
  Dim wRow As Long
  Dim i As Integer
  Dim tbl(1 To 12, 1 To 1) As Integer
  wRow = Range("A65536").End(xlUp).Row
  Rows(CStr(wRow) & ":" & CStr(wRow + 11)).Insert

  Range(Cells(wRow, "A"), Cells(wRow + 11, "A")).FormulaR1C1 = "=R[-1]C+1"
  Range(Cells(wRow, "B"), Cells(wRow + 11, "B")).MergeCells = True

  For i = 1 To 12
    tbl(i, 1) = i
  Next i
  Range(Cells(wRow, "C"), Cells(wRow + 11, "C")).Value = tbl

  Range(Cells(wRow + 12, "F"), Cells(wRow + 12, "K")).AutoFill Range(Cells(wRow, "F"), Cells(wRow + 12, "K"))
  Cells(wRow, 1).Select
End Sub

Selectをはずしてしまったので、
ActiveCellによる相対参照(Offset)はできません。
(そうしないと、処理が遅くなるため・・・多分)

こちらも前回同様、間違っている箇所は補足してください。
(私もどんな書き方をすれば早くなるかは試行錯誤の為、
 もっと早くする書き方もあると思いますが)
    • good
    • 0
この回答へのお礼

taisuke555さん、またもやありがとうございます。質問してから回答までの時間がものすごく早い!その道のエキスパート、プロフェッショナルな方ですね。本当にどうもありがとうございます。今回もなんの問題も無く動作致しました。処理速度も十分早いです。

前回のマクロ編集に感動して、私も本屋でVBAの参考書を買いました。しかし、うーん・・・理解するにはかなりの時間が掛かりそうです。

本当にどうもありがとうございました。

お礼日時:2003/10/04 16:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報