自分で記録したマクロを親切な方に編集してもらいました。実行スピードが格段に速くなったのですが、さらに処理したい項目が出来たので、別に記録してコピー、適切な箇所に挿入したのですが、実行時エラーが出ます。どう直していいのか分かりません。分かる方教えて下さい。
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)を直したいのです。どなたかよろしくお願い致します。
No.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)はできません。
(そうしないと、処理が遅くなるため・・・多分)
こちらも前回同様、間違っている箇所は補足してください。
(私もどんな書き方をすれば早くなるかは試行錯誤の為、
もっと早くする書き方もあると思いますが)
taisuke555さん、またもやありがとうございます。質問してから回答までの時間がものすごく早い!その道のエキスパート、プロフェッショナルな方ですね。本当にどうもありがとうございます。今回もなんの問題も無く動作致しました。処理速度も十分早いです。
前回のマクロ編集に感動して、私も本屋でVBAの参考書を買いました。しかし、うーん・・・理解するにはかなりの時間が掛かりそうです。
本当にどうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Visual Basic(VBA) ユーザーフォームの表示を追加したい 2 2023/03/26 23:18
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Excel(エクセル) VBAで組み合わせ算出やCOUNTIFSの処理を高速化したいです。 4 2022/04/07 02:38
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Date型にNULLをセットしたい V...
-
SELECTで1件のみ取得するには?
-
☆☆☆☆SQL Olacle 3つ以上の文字...
-
異なるDB間でのJOINやVIEWについて
-
SQL>UPDATEと同時にその件数を...
-
sqlplusの処理が途中でとまる
-
GROUP BYを使ったSELECT文の総...
-
実績累計の求め方と意味を教え...
-
SQL文で素早くNULLを除外する方法
-
GROUP BYを行った後に結合した...
-
固定値を含む結合と複数テーブ...
-
キーが同じを複数行を1行にま...
-
DATE型にNULLをセットするには?
-
Accessで別テーブルの値をフォ...
-
unionの結果は集計はできないで...
-
SELECTの結果で同一行を複数回...
-
select句副問い合わせ 値の個...
-
Access でレコードセレクタが押...
-
ワードの差込印刷で教えて下さ...
-
【初歩】ラジオボタンをつかっ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SELECTで1件のみ取得するには?
-
Date型にNULLをセットしたい V...
-
SQL>UPDATEと同時にその件数を...
-
oracleのinsert select性能
-
sqlplusの処理が途中でとまる
-
ACCESSのSQLの書き方
-
異なるDB間でのJOINやVIEWについて
-
プロシージャで変数をテーブル...
-
SELECTでの指定行からの指定行...
-
ORDER BY 半角カナ
-
☆☆☆☆SQL Olacle 3つ以上の文字...
-
AccessVBAでリンクテーブルの参...
-
ACCESSとORACLEで抽出結果が異なる
-
PostgreSQLで小数点以下を処理...
-
オラクル オブジェクトのデー...
-
正規化?の戻しについて
-
取得するデータの件数指定、MyS...
-
SQLで抽出可能でしょうか?
-
GROUP BYを行った後に結合した...
-
Accessで別テーブルの値をフォ...
おすすめ情報