
ExcelのVBAについて勉強中です。
Excel2003で表から表への転記を行いたいのですが、
コードがうまく書けないため、教えていただきたいです。
やりたいこととしましては、
A1:D6のうちピンクの部分を、横一列に並べ替えながら、
F1:M6の色つきの部分(実際はより横に広くなります)に転記したいです。
ピンクの部分はその都度、値を変えて、
黄→緑→水色→青→紫・・・
と毎回マクロを実行するたびに最下行に追加できるような形にしたいです。
また、画像は同じシートに転記をしていますが、
別のシートの同様の表から同じように転記する場合、
どうコード変わるかも教えていただけましたら助かります。
自分では、下記のようなコードしか書けませんでした。
転記先の表は30列程度になる予定ですので、
出来ればシンプルなコードを教えていただきたいです。
Sub コピー()
Range("B2").Select
Selection.Copy
Range("G2").End(xlUp).Offset(1).Select
ActiveSheet.Paste
End sub
分かりづらい説明かと思いますが、
よろしくお願いします。

No.1ベストアンサー
- 回答日時:
その程度の転写なら、あんまりカッコつけてやろうとせずに1個ずつ順番に転記してった方が、シンプルで間違いもありません。
sub macro1()
dim h as range
dim c as long
dim LastRow as long
’貼り付け先行
lastrow = worksheets("Sheet2").range("G65536").end(xlup).offset(1).row
’貼り付け先列
c = 7 ’G列
for each h in worksheets("Sheet1").range("B2:D6") ’コピー元
worksheets("Sheet2").cells(lastrow, c).value = h.value
c = c + 1 ’右の列に
next
end sub
ご回答ありがとうございました。
どのコードが何のためのものか説明していただき、
大変勉強になりましたのでベストアンサーにさせていただきます。
皆様のご回答を参考に、
自分で調節しながら思い通りに表を作成することが出来ました。
No.3
- 回答日時:
bouheur様
おはようございます。
こんな例もいかがですか?
Option Explicit
Sub 転記()
Dim row1 As Long
Dim row2 As Long
If Cells(2, 7) <> "" Then
row2 = Cells(1, 7).End(xlDown).row + 1
Else
row2 = 2
End If
For row1 = 2 To 6
Range(Cells(row1, 2), Cells(row1, 4)).Copy Destination:=Cells(row2, 3 * row1 + 1)
Next row1
End Sub
No.2
- 回答日時:
こんばんは!
一例です。
↓の画像のように上側がSheet1で下側のSheet2にコピー&ペーストするようにしています。
尚、Sheet1は画像通りに規則正しく、3列のデータとします。
Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面に
↓のコードをコピー&ペーストしてマクロを実行してみてください。
Sub Sample1()
Dim i As Long, endRow As Long, wS1 As Worksheet, wS2 As Worksheet
Set wS1 = Worksheets("Sheet1")
Set wS2 = Worksheets("Sheet2")
endRow = wS2.Cells(Rows.Count, "B").End(xlUp).Row + 1
For i = 2 To wS1.Cells(Rows.Count, "A").End(xlUp).Row
wS1.Cells(i, "B").Resize(, 3).Copy wS2.Cells(endRow, 3 * (i - 1) - 1)
Next i
End Sub
こんな感じではどうでしょうか?m(_ _)m

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
microsoft office for mac につ...
-
エクセルの式がわかる方がおら...
-
office2019 のoutlookは2025年1...
-
Microsoft Officeを2台目のPCに...
-
大学のレポート A4で1枚レポー...
-
パソコンWindows11 Office2021...
-
Office2021を別のPCにインスト...
-
Microsoft365、ページ設定がで...
-
マイクロソフト オフィスのサポ...
-
エクセル 日付順に並べてかえた...
-
Microsoft Office
-
Officeを開くたびの「再起動メ...
-
Office2024インストール後の疑問点
-
パソコンを買い替える際、前の...
-
officeソフトについて教えてく...
-
Excel テーブル内の空白行の削除
-
Microsoft365について
-
表の作成について
-
officeソフト 本名変更
-
Excelで〇のついたものを抽出し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCEL マクロ データが転記さ...
-
VBA繰り返し ワイルドカード
-
別シート参照のセルをシート毎...
-
エクセルの複数シートの保護を...
-
条件に応じて特定の行を非表示...
-
エクセルで前シートを参照して...
-
前の(左隣の)シートを連続参...
-
エクセルでファイルを開いたと...
-
EXCEL:同じセルへどんどん足し...
-
Excelで金銭出納帳。繰越残高を...
-
複数シートの特定の位置に連番...
-
Excelのシートを、まとめて表示...
-
Excel2007で、太字にした行のみ...
-
EXCELで1ヶ月分の連続した日付...
-
エクセル 計算式も入っていない...
-
シートの保護のあとセルの列、...
-
特定のシートの削除を禁止した...
-
excel ある部分だけをコピペし...
-
Excel、同じフォルダ内のExcel...
-
エクセルVBAでパスの¥マークに...
おすすめ情報