
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
>CC列までのデータをコピペしたいので・・・
ん?質問文を拝見すると
BA列まではすべての列を表示し、それ以降は偶数列だけの表示ですよね?
CC列は63列目なので、奇数列になります。
すなわち、CC列までではなく、CD列をループさせないとお望みの結果にならないのでは?
そして、1列増えるというコトはSheet2のA列にSheet1のR列を表示するようにしていますが、
2行ずれるのでは?
すなわち A64にR3ではなく A66にR3になる。
とりあえず
>cnt = (i - 2) * 62 + 2
↓
>cnt = (i - 2) * 64 + 2
>For j = Range("T1").Column To Range("CB1").Columnを
↓
>For j = Range("T1").Column To Range("CD1").Column
に変更したらどうなりますか?m(_ _)m
全てのセルに通し番号を入力してためしたところBA1以降のBB1,BD1・・・のデータが反映されていないようでしたので下記の様に変更するとデータのコピペができました。
For j = Range("T1").Column To Range("CB1").Column
→For j = Range("T1").Column To Range("CC1").Column
If j <= Range("BA1").Column Then
→ If j <= Range("cc1").Column Then
ありがとうございます。
R列もデータに相違がないか確認を行います。
No.3
- 回答日時:
続けてお邪魔します。
補足文ではSheet1の2・3行目だけの操作になっていますが。
とりあえずR2以降、R列のデータ最終行までの処理にしてみました。
Sub Sample3()
Dim i As Long, j As Long, cnt As Long
Dim wS As Worksheet
Set wS = Worksheets("Sheet2")
'//▼Sheet2のA・B列を一旦消去★//
wS.Range("A:B").ClearContents
With Worksheets("Sheet1")
For i = 2 To .Cells(Rows.Count, "R").End(xlUp).Row
cnt = (i - 2) * 62 + 2
wS.Cells(cnt, "A") = .Cells(i, "R")
For j = Range("T1").Column To Range("CB1").Column
If j <= Range("BA1").Column Then
wS.Cells(cnt, "B") = .Cells(i, j)
Else
If j Mod 2 = 0 Then
wS.Cells(cnt, "B") = .Cells(i, j)
End If
End If
cnt = cnt + 1
Next j
Next i
End With
End Sub
※ マクロ実行時に一旦Sheet2のA・B列を消去するようにしています。
消去が不要であれば、★と次の行の2行を消してください。m(_ _)m
何度も丁寧に対応頂きありがとうございます。
自分で自分で調べては試しているのですが、なかなか思うように進まなく困っていたところでした。
No.2
- 回答日時:
No.1です。
一気に2セルずつではなく、1セルずつ操作したい!というコトでしょうか?
そうであれば・・・
Sub Sample2()
Dim j As Long, cnt As Long
Dim wS As Worksheet
Set wS = Worksheets("Sheet2")
With Worksheets("Sheet1")
wS.Range("A2") = .Range("R2")
cnt = 1
For j = Range("T1").Column To Range("CB1").Column
cnt = cnt + 1
If j < Range("BA1").Column Then
wS.Cells(cnt, "B") = .Cells(2, j)
Else
If j Mod 2 = 0 Then
wS.Cells(cnt, "B") = .Cells(2, j)
End If
End If
Next j
End With
End Sub
こんな感じではどうでしょうか?m(_ _)m
No.1
- 回答日時:
こんばんは!
こちらのカテゴリではなかなか回答が付きにくいと思います。
(Excelなどのカテゴリの方が良いかも)
>Excelファイル1 → Sheet1
>Excelファイル2 → Sheet2
とします。
(別ブックの場合は結構面倒になります)
尚、質問文通りにT2~BA2 と U2~CC2 では列数が異なりますが、
CC列まですべての列ではなく、BA列より後は1列飛びでよいのですかね?
一例です。標準モジュールにしてください。
Sub Sample1()
Dim j As Long, cnt As Long
Dim wS As Worksheet
Set wS = Worksheets("Sheet2")
With Worksheets("Sheet1")
wS.Range("A2") = .Range("R2")
For j = Range("T1").Column To Range("CB1").Column Step 2
cnt = cnt + 2
If j < Range("BA1").Column Then
wS.Cells(cnt, "B").Resize(2).Value = Application.Transpose(.Cells(2, j).Resize(, 2).Value)
Else
wS.Cells(cnt, "B") = .Cells(2, j)
End If
Next j
End With
End Sub
※ コピー&ペーストではなく、値だけの操作にしています。
こんな感じではどうでしょうか?m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel VBA 3 2023/04/22 10:46
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/04 17:58
- Word(ワード) office 2021へ自分用のクイックアクセスとマクロをコピーしたい 2 2023/03/11 21:15
- Excel(エクセル) VBA ふたつの同じ様式シートのセルをコピーしたい 2 2023/03/08 15:28
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/07/01 12:54
- Word(ワード) テキストデータのPDFをWordで開くとテキストが図として認識されてしまう 3 2023/01/24 11:38
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Word(ワード) Word 2016のマクロを Word 2021のWordでキー動作させたい 3 2023/04/12 16:14
- Excel(エクセル) マクロの付いたExcelが開けません 3 2023/02/01 10:54
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
エクセル 同じ数字を他の列に自...
-
PowerPointで表の1つの列だけ...
-
2つのエクセルのデータを同じよ...
-
Excel 文字列を結合するときに...
-
Excelで半角の文字を含むセルを...
-
エクセル 同じ値を探して隣の...
-
エクセル(勝手に太字になる)
-
EXCELで 一桁の数値を二桁に
-
エクセル 文字数 多い順 並...
-
エクセルの表から正の数、負の...
-
エクセルで2列のセルを連続して...
-
エクセルで最初のスペースまで...
-
エクセルの項目軸を左寄せにしたい
-
VBAでセル入力の数式に変数を用...
-
「B列が日曜の場合」C列に/...
-
Excel、市から登録している住所...
-
エクセルのセル内の文字の一部...
-
エクセルで文字が混じった数字...
-
オートフィルターをかけ、#N/A...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで二つの数字の小さい...
-
PowerPointで表の1つの列だけ...
-
EXCELで 一桁の数値を二桁に
-
エクセルで最初のスペースまで...
-
2つのエクセルのデータを同じよ...
-
エクセルで文字が混じった数字...
-
エクセル(勝手に太字になる)
-
エクセル 文字数 多い順 並...
-
Excelで半角の文字を含むセルを...
-
「B列が日曜の場合」C列に/...
-
エクセルで、列の空欄に隣の列...
-
Excel 文字列を結合するときに...
-
Excel、市から登録している住所...
-
【VBA】特定列に文字が入ってい...
-
エクセルのセル内の文字の一部...
-
エクセル 同じ値を探して隣の...
-
お店に入るために行列に並んで...
-
エクセルの並び変えで、空白セ...
-
文字列に数字を含むセルを調べたい
-
エクセルの項目軸を左寄せにしたい
おすすめ情報
回答ありがとうございます。
やりたい事ができました。
また、可能でしたら、1行ずつ繰り返し行う場合にはどうすればいいのでしょうか。
for〜nextを自分なりに試したのですが上手くできませんでした。
ご連絡頂きありがとうございます。
かつ何度も申し訳ございません。
お教え頂いた作業が完了するとsheet1のR3をコピーしsheet2のB64へ貼り付け。
sheet1のT3,V3,X3,Z3.......CB3をコピーしsheet2のB64,B66,B67,B68.....へ貼り付け。
続いてExcelファイル1のU3,W3,Y3....CC3をコピーしExcelファイル2のB65,B67,B68,B69.....へ貼り付けの作業を繰り返し行いたいと考えておりました。
お教えいただいたデータを自分で少し手を加えてみたのですが、sheet1のR3のデータはsheet2のA3へ貼り付けられ、T2以降のデータはコピぺできない状態となりました。
プログラム自体ネットで調べながら意味を少しでも理解しようと進めているのですが、なかなか思うように進みません。
ありがとうございます。
ほぼ思っていた内容通りの実行になってます。
CC列までのデータをコピペしたいので、
For j = Range("T1").Column To Range("CB1").Columnを
For j = Range("T1").Column To Range("CC1").Column変更してみたのですが、
変化がございません。
どこを修正すれば変更できるのでしょうか。