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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) コード名シートA列と集計シートA列のコードが一致したら、コード名シートA5からk12の範囲をコピーし 1 2022/08/29 23:46
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) VBA シート間の転記で、条件の追加コードの書き方について教えて下さい。 13 2023/02/26 09:31
- Visual Basic(VBA) 集計シートA列のコードと一致する右に並んだシート名(コード)の3行目から10行目をコピーして貼り付け 4 2022/08/18 15:24
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) vba 同じブック内での転記について 4 2023/01/15 14:42
このQ&Aを見た人はこんなQ&Aも見ています
-
賃貸で可能な古民家風レトロな部屋作りのコツ!改めて知る畳の高い機能性と魅力も紹介
畳の部屋を雰囲気のよい部屋に仕上げたい!賃貸住宅でもできる古民家風のレトロな部屋作りのコツを伺った。
-
VBA別シートの最終行の下行へ貼り付けされるようにしたいです。
その他(Microsoft Office)
-
別シートの最終行に貼り付けするマクロを教えてください。 シートYのE3からE15までをコピー シート
Excel(エクセル)
-
エクセル最終行の下に貼り付け
Excel(エクセル)
-
-
4
Excel VBA、 別ブックの最終行セルへのコピー&値ペースト
Visual Basic(VBA)
-
5
マクロ最終行挿入
Excel(エクセル)
-
6
VBA別シートの最終行の次行へ転記したい。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCEL マクロ データが転記さ...
-
ExcelのVBAで最終行の下にコピ...
-
条件に応じて特定の行を非表示...
-
エクセルでファイルを開いたと...
-
エクセルVBAでパスの¥マークに...
-
VBAでシートコピー後、シート名...
-
別シート参照のセルをシート毎...
-
Excelで同じシートのコピーを一...
-
Excelで金銭出納帳。繰越残高を...
-
複数シートの特定の位置に連番...
-
EXCEL:同じセルへどんどん足し...
-
エクセルで前のシートを連続参...
-
前の(左隣の)シートを連続参...
-
EXCELで1ヶ月分の連続した日付...
-
Accessのスプレッドシートエク...
-
エクセルVBA 串刺し計算の際、...
-
エクセルで前シートを参照して...
-
Excel、同じフォルダ内のExcel...
-
エクセルの複数シートの保護を...
-
特定のシートの削除を禁止した...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCEL マクロ データが転記さ...
-
VBA繰り返し ワイルドカード
-
ExcelのVBAで最終行の下にコピ...
-
VBA sheet2データーから平均取...
-
Excelで同じシートのコピーを一...
-
エクセルの複数シートの保護を...
-
条件に応じて特定の行を非表示...
-
エクセルVBAでパスの¥マークに...
-
EXCEL:同じセルへどんどん足し...
-
VBAでシートコピー後、シート名...
-
別シート参照のセルをシート毎...
-
エクセルでファイルを開いたと...
-
EXCELで1ヶ月分の連続した日付...
-
エクセルで前のシートを連続参...
-
前の(左隣の)シートを連続参...
-
Excel、同じフォルダ内のExcel...
-
Excelで金銭出納帳。繰越残高を...
-
【マクロ】毎回、ファイル名が...
-
エクセルで前シートを参照して...
-
Excelでセル内の数式は残し値だ...
おすすめ情報