No.5ベストアンサー
- 回答日時:
質問内容をはっきり書くこと。
「元シートの3列づつ(DEF列、GHI列、JKL列・・)をそれぞれ別シートに分けたいということか。
そして別シートには列と行を入れ替える」ということか。
2行で表現できるじゃない。
関数では複雑に手作業的になるから、VBAしか手は無いでしょう。
ーー
マクロの記録の修正方法を良く知っておれば
6列(2回)で、私の5行のデータ例では、形式を選択して貼り付けー行と列を入れ替えるの操作をする。
Range("C1:E5").Select
Selection.Copy
Sheets("Sheet2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Sheets("Sheet3").Select
Range("F1:H5").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Sheet4").Select
ActiveSheet.Paste
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
これに
(1)C1:E5 などのC:Eを3列ごとに変化させる
(2)E5の5を最終行にあわせる
(3)右方向の3列ごとの繰り返しが、何処まで繰り返せば良いかを組み込む
で出来るだろう。
ーー
上記の点を修正して
Sub test01()
Dim sh1
Set sh1 = Worksheets("Sheet1")
s = 2
d = sh1.Range("D65536").End(xlUp).Row
MsgBox d
For j = 4 To 12 Step 3
'Range("C1:E5").Select
sh1.Select
sh1.Range(sh1.Cells(1, j), sh1.Cells(d, j + 2)).Select
Selection.Copy
Sheets(s).Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Application.CutCopyMode = False
s = s + 1 '右のシートを指す
Next j
End Sub
For j = 4 To 12 Step 3 の12は自動化できるが手作業で行数を数えることにした。
最左にタブが在るシートが元データ。それからシートタブ位置的に順次のシートに書き出す例。
No.4
- 回答日時:
No.1 です。
なるほど、そういう意味でしたか。
ところで質問文>縦並びでD3/E3/F3として別のタブにコピーしたいのですが
との事なので、別のSheetにコピーしたいって事ですか?>質問者さん
私には Excelマクロの知識がないので内容も難易度も判断できないんですが
>ではどうでしょうか。
と、(もしかしてマクロ使えないかも、な質問者さんに)逆質問されても
質問者さんは返答にすら困ってしまうかも知れません>No.2,3さん
まぁ、基本的には大量だろうが手操作で行うのが解決法の1つです。
横方向のセル数は最大で256(A~IV)なので、手操作でこなせない数でもありません。
1単位3個なら256÷3=85...1 でしかありません。
最大数まで操作しなければいけないとしても、「85」は「膨大」と呼べる数ではありません。
No.2,3さんがマクロを示していただけましたけど、使うには敷居が高いと思われたなら
いちど手操作でやってみればいいと思います。
私も1度限りなら、と大量の処理を手操作でやった事はありますが、
意外にできるものですよ。
No.3
- 回答日時:
ANo.1さんへの補足を読ませてもらいました。
D2/E2/F2/G2/H2/I2/J2/K2/L2D2
D2/E2/F2
G2/H2/I2
J2/K2/L2
というふうにしたいという事でしょうか。
Sub Macro1()
COUNTER = 2
For i = 4 To Cells(2, Columns.Count).End(xlToLeft).Column Step 3
COUNTER = COUNTER + 1
Range(Cells(2, i), Cells(2, i + 2)).Copy
Cells(COUNTER, 4).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Next i
End Sub
ではどうでしょうか。
No.2
- 回答日時:
D3/E3/F3というのは下の行にコピーしただけになりますが
D3/D4/D5の間違いでしょうか。
そうだとして
Sub Macro1()
For i = 4 To Cells(2, Columns.Count).End(xlToLeft).Column Step 3
Range(Cells(2, i), Cells(2, i + 2)).Copy
Cells(3, i).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Application.CutCopyMode = False
Next i
End Sub
でどうでしょうか。
No.1
- 回答日時:
Excel ですね?
イマイチ状況を把握できてませんが、
単純に横並びの複数セルをコピーして
縦並びに変更して貼り付けたいなら
1行を選択→コピーし
縦並びにしたい先頭のセルで右クリック→
形式を選択して貼り付け(S)→
行列を入れ替える(E)にチェック入れて
ボタン[OK]するとできます。
この回答への補足
すべてのセルを横から縦に変えるのではなくD3/E3/F3はあくまで1セットとして横並び、同じセットの
G3/H3/I3をD4/E4/F4として持ってきたいのですが・・・・
例を言うと、商品/単価/個数という項目があってすべての商品が同列に長々と入力されているといった
感じです。説明不足ですみません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel2007での条件付き書式について 6 2023/05/02 10:56
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- Excel(エクセル) エクセルの並び替えについて 5 2022/07/11 00:49
- Excel(エクセル) Excel>マクロ>特定のセルで同じ情報が登録されている行を1行にまとめたい(文字連結) 6 2023/01/05 16:30
- YouTube youtubeのTOPページの動画紹介画面の並び方を変えたいです。 1 2023/03/18 09:25
- Visual Basic(VBA) 【VBA】データを入力後に,同一シート内に履歴として転記するVBAコードを教えていただきたいです。 3 2022/11/16 01:37
- Excel(エクセル) エクセルについて教えてください。 2 2023/06/14 11:11
- Excel(エクセル) フォルダ内のエクセルファイルを開かずにデータ採取する関数式 2 2022/12/22 22:15
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Excel(エクセル) エクセルでの色付け 5 2022/10/09 18:58
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで別シートの同じ位置...
-
ワークシートの行が途中から表...
-
エクセルの下部のシートタブの...
-
エクセルでセルの書式設定がで...
-
Excelで大量の2000個のリストを...
-
ロックしたセルのコピー&貼り付け
-
Excelで保護のかかったシートの...
-
シート全体を他のブックのシー...
-
excelで勝手にテキストボックス...
-
EXCELで複数シート作成後、全シ...
-
エクセルで数式は残したまま他...
-
エクセルで選択した行以外を削...
-
VBA アクティブでないシートの...
-
エクセルで多数のシートをまと...
-
VBAで新しいエクセルファイルに...
-
【エクセル】表から条件に合っ...
-
Excelセルの書式設定ができない
-
行の挿入ができなくなった
-
シート保護したExcelへの画像貼...
-
1から5までの整数のみ入力可に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで別シートの同じ位置...
-
エクセルでセルの書式設定がで...
-
エクセルの下部のシートタブの...
-
EXCELでコピーしたグラフのデー...
-
シート全体を他のブックのシー...
-
ワークシートの行が途中から表...
-
ロックしたセルのコピー&貼り付け
-
excelで勝手にテキストボックス...
-
Excelで保護のかかったシートの...
-
エクセルで数式は残したまま他...
-
VBA アクティブでないシートの...
-
Excelで大量の2000個のリストを...
-
エクセルで打ち込んだ数字を自...
-
シート保護してても並び替えを...
-
【エクセル】表から条件に合っ...
-
【エクセル】数式のセル番地を...
-
シート保護したExcelへの画像貼...
-
コピー&ペーストすると、VLOOK...
-
EXCELで複数シート作成後、全シ...
-
エクセルで多数のシートをまと...
おすすめ情報