
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
一つのTeratermのマクロで複数...
-
ExcelVBAでPDFを閉じるソース
-
エクセルで特定の列が0表示の場...
-
Excel_マクロ_現在開いているシ...
-
Excel マクロ VBA プロシー...
-
Excel マクロでShearePoint先の...
-
Libre office マクロ
-
エクセルのマクロで「実行時エ...
-
ExcelVBA 図形をクリックした...
-
UWLSの記録でマクロを作成し使...
-
エクセルのマクロとシートの保...
-
段落の先頭に文字列を挿入する...
-
印刷枚数を指定して印刷(印刷...
-
テニス(ダブルス)乱数表 Exc...
-
メッセージボックスのOKボタ...
-
マクロの登録を使って、オート...
-
エクセルのマクロについて教え...
-
TERA TERMを隠す方法
-
エクセルのマクロが正常に動か...
-
右クリックによるイベントマク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで特定の列が0表示の場...
-
特定のPCだけ動作しないVBAマク...
-
メッセージボックスのOKボタ...
-
Excel_マクロ_現在開いているシ...
-
一つのTeratermのマクロで複数...
-
マクロの連続印刷が突然不可能...
-
ExcelのVBA。public変数の値が...
-
Excel マクロ VBA プロシー...
-
Excel・Word リサーチ機能を無...
-
エクセルに張り付けた写真のフ...
-
Excelのセル値に基づいて図形の...
-
TERA TERMを隠す方法
-
マクロ実行時エラー
-
ExcelVBAでPDFを閉じるソース
-
wordを起動した際に特定のペー...
-
特定文字のある行の前に空白行...
-
Excel マクロでShearePoint先の...
-
エクセルで縦に並んだデータを...
-
マクロ実行時、ユーザーフォー...
-
ソース内の行末に\\
おすすめ情報