
Sub Macro4()
'
' Macro4 Macro
'
'
Range("D2:G2").Select
Selection.Copy
Range("AF2").Select
ActiveSheet.Paste
Range("I2:I5").Select
Application.CutCopyMode = False
Selection.Copy
Range("AL2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Range("J2:J5").Select
Application.CutCopyMode = False
Selection.Copy
Range("AQ2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Range("P2:P5").Select
Application.CutCopyMode = False
Selection.Copy
Range("AV2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Range("K2:K5").Select
Application.CutCopyMode = False
Selection.Copy
Range("BA2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Range("O2:O5").Select
Application.CutCopyMode = False
Selection.Copy
Range("BF2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Range("Q2:Q5").Select
Application.CutCopyMode = False
Selection.Copy
Range("BK2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Range("L2:L5").Select
Application.CutCopyMode = False
Selection.Copy
Range("BP2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Range("N2:N5").Select
Application.CutCopyMode = False
Selection.Copy
Range("BU2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Range("R2:R5").Select
Application.CutCopyMode = False
Selection.Copy
Range("BZ2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Range("S2:S5").Select
Application.CutCopyMode = False
Selection.Copy
Range("CE2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Range("T2:AC2").Select
Application.CutCopyMode = False
Selection.Copy
Range("CJ2").Select
ActiveSheet.Paste
End Sub
このマクロをもっと短いマクロにひたいのですが、そのマクロを教えて下さい。宜しくお願い致します。
後、385行まであります。
できれば1行ずつのマクロの意味も書いて頂けると幸いです。
No.1ベストアンサー
- 回答日時:
こんばんは
>できれば1行ずつのマクロの意味も書いて頂けると幸いです
処理の結果はご存じでしょうけれど、全体的にコピペを繰り返しているだけです。
恐らく、マクロの記録で作成したそのままなのでしょう。
ご提示のマクロでは、大体、4~5行のコードが1回のコピペに相当していますが、コピペの際に行列を入れ替えている場合と、そうでない場合があるようです。
このあたりを整理して、繰り返しできるものは繰り返しの処理にすれば、短くすることは可能でしょう。
以下、ご参考までに。
(質問文に記載のある処理内容のみです)
Sub Q_13311697()
Dim colNo, c, d
colNo = Array(9, 10, 16, 11, 15, 17, 12, 14, 18, 19)
Range("D2:G2").Copy Range("AF2")
Range("T2:AC2").Copy Range("CJ2")
Set d = Range("AL2")
For c = LBound(colNo) To UBound(colNo)
Cells(2, colNo(c)).Resize(4).Copy
d.PasteSpecial Transpose:=True
Set d = d.Offset(, 5)
Next c
Application.CutCopyMode = False
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 動きっぱなしです。止め方とプロシージャの間違いを教えて下さい! 5 2022/08/15 23:08
- Excel(エクセル) エクセル VBAでシートのコピーを作りたい 1 2023/05/18 07:42
- Visual Basic(VBA) マクロで最終行を取得してコピーしたい 3 2022/04/06 19:07
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Visual Basic(VBA) excelVBAについて。 4 2022/11/21 16:15
- Excel(エクセル) Excelでnullになるような式のセルをマクロで空白行と認識させるにはどうすればいいですか? 3 2023/03/13 13:42
- Excel(エクセル) ExcelVBAについて。 2 2022/12/10 20:08
- Visual Basic(VBA) excelVBAについて。 1 2022/11/30 06:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで特定の列が0表示の場...
-
マクロの連続印刷が突然不可能...
-
特定のPCだけ動作しないVBAマク...
-
ダブルクリックで貼り付けた画...
-
Excelのセル値に基づいて図形の...
-
エクセルでのオブジェクト選択...
-
メッセージボックスのOKボタ...
-
TERA TERMを隠す方法
-
マクロ実行時、ユーザーフォー...
-
エクセルのマクロ(range)につ...
-
【Excel】複数のマクロをまとめ...
-
Excel_マクロ_現在開いているシ...
-
エクセルで縦に並んだデータを...
-
ExcelVBA 図形をクリックした...
-
エクセルVBA イベントプロシー...
-
C#言語でACCESSのソースを取得...
-
マクロ実行時エラー
-
wordを起動した際に特定のペー...
-
【Excel VBA】データ貼り付けの...
-
EXCEL VBAでマクロの最後でFind...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定のPCだけ動作しないVBAマク...
-
Excel・Word リサーチ機能を無...
-
エクセルで特定の列が0表示の場...
-
Excel_マクロ_現在開いているシ...
-
一つのTeratermのマクロで複数...
-
メッセージボックスのOKボタ...
-
Excel マクロ VBA プロシー...
-
ExcelのVBA。public変数の値が...
-
エクセルで別のセルにあるふり...
-
エクセルに張り付けた写真のフ...
-
Excel マクロでShearePoint先の...
-
TERA TERMを隠す方法
-
Excelのセル値に基づいて図形の...
-
Excel VBAからAccessマクロを実...
-
ExcelVBAでPDFを閉じるソース
-
マクロ実行時、ユーザーフォー...
-
オートフィルターとExcelマクロ...
-
wordを起動した際に特定のペー...
-
特定文字のある行の前に空白行...
-
エクセルで縦に並んだデータを...
おすすめ情報