縦横変換マクロ



◇-?縦横変換マクロ-うみ-11/06-11:51(77)-No.305112
 ┣?!Re:縦横変換マクロ...-Einstein-11/06-13:34(76)-No.305129
 ┗?!Re:縦横変換マクロ...-白茶-11/06-19:49(69)-No.305203
  ┗?!?Re:縦横変換マクロ...-うみ-11/06-19:56(69)-No.305205
   ┗?!?!Re:縦横変換マクロ...-白茶-11/06-20:20(69)-No.305213
    ┣?!?!~て、訂正・・・...-白茶-11/06-20:45(68)-No.305223
    ┗?!?!?Re:縦横変換マクロ...-うみ-11/07-21:03(44)-No.305447
     ┗?!?!?【解決】Re:縦横変換マクロ...-うみ-11/07-21:15(44)-No.305451

▲このページのトップに戻る
305112縦横変換マクロうみ 2005/11/06-11:51

メーカー名:NEC 日本電気
OS名:WindowsXp
パソコン名:La
--
教えていただきたいのですが・・。

A B   C  D E F G H I

1北海道     1 2 3 4 5 6





1青森      1   3   5






上記のような表があるのですが、セルD〜IまでをCの列に縦で
表示したいのですが・・。
そのための6行のスペースは空けてあります。
エクセルのコピーの時の書式でもできるのはわかるのですが
膨大な行、この作業の繰り返しとなるので
できればマクロで・・と思っています。
よろしくお願いいたします。

▲このページのトップに戻る
305129Re:縦横変換マクロEinstein 2005/11/06-13:34

記事番号305112へのコメント
『コピー ⇒ 形式を選択して貼り付け ⇒ 行と列を入れ替える』のやり方ではなく、
という意味ですか?
それであればForNextのループを一度使い、Cells(x,6)=Cells(6,x)のような形で
いけばよいのでは?
(6という数値は適当に入れました。実際の行・列番号にしてください)
詳細な表の形が頭に思い浮かばなかったので、このような形でしかご助言できませんが・・・

▲このページのトップに戻る
305203Re:縦横変換マクロ白茶 2005/11/06-19:49

記事番号305112へのコメント
うみさんは No.305112「縦横変換マクロ」で書きました。

こんにちは。

VBAの回答でなくて、スミマセンなのですが、
例題のような場合だと、

C1=OFFSET(C1,-MOD(ROW(A6),6),MOD(ROW(A6),6)+1)
として、ずーっと下までフィルっていけば、
とりあえず縦横変換抽出が出来ますよ。
抽出後にC列全体をコピって
「値」だけ貼り付け直せば宜しいかと思います。

但し、元々が空白セルだったところには「0」が返ってきますので、
これがイヤなら、IF関数を噛ませて回避する必要があります。

ご参考まで。

▲このページのトップに戻る
305205Re:縦横変換マクロうみ 2005/11/06-19:56

記事番号305203へのコメント
白茶さんは No.305203「Re:縦横変換マクロ」で書きました。

回答ありがとうございます。
フィルしていくことも考えたのですが
何万件というデータがあることと、こういう表が
入ったファイルが30くらいあること、
などからマクロの方がいいのかな・・と思っているのですが・・。

▲このページのトップに戻る
305213Re:縦横変換マクロ白茶 2005/11/06-20:20

記事番号305205へのコメント
うみさんは No.305205「Re:縦横変換マクロ」で書きました。

ん〜・・・
こんな感じでしょうかねぇ。

Sub TEST()
Dim C As Long
C = 1

Do
Cells(C, 3).Select
Range(Selection, Selection.Offset(0, 5)).Select
Selection.Copy
Cells(C, 2).Select
Selection.PasteSpecial Paste:=xlAll, Operation:=xlNone _
, SkipBlanks:=False, Transpose:=True
C = C + 6

Loop Until Cells(C, 3) = Empty
End Sub

シートのデータ配置を勘違いしてるかも知れませんので、
実行前にテスト・検証してみて下さい。


▲このページのトップに戻る
305223て、訂正・・・白茶 2005/11/06-20:45

記事番号305213へのコメント
白茶さんは No.305213「Re:縦横変換マクロ」で書きました。

>実シートのデータ配置を勘違いしているかも知れませんので、
案の定間違っていました。スマセン。
C列に出すんでしたね。

Sub C列へ縦横変換()
Dim 行番 As Long
行番 = 1
Do
Range(Cells(行番, 4), Cells(行番, 9)).Select
Selection.Copy
Cells(行番, 3).Select
Selection.PasteSpecial Transpose:=True
行番 = 行番 + 6
Loop Until Cells(行番, 2) = Empty
Application.CutCopyMode = False
End Sub

# (省略出来るところは省略しました)

▲このページのトップに戻る
305447Re:縦横変換マクロうみ 2005/11/07-21:03

記事番号305213へのコメント
白茶さんは No.305213「Re:縦横変換マクロ」で書きました。

すみません・・やってみたのですがうまく動きません。

1行目のD〜I列に入ってる数値をC列の1行目から
6行目に縦変換コピーで、7行目のD〜I列に入っている
数値をC列の7行目〜12行目までコピー・・
とこれをずーーーっと繰り返すマクロなんですが・・。
もう一度教えていただけますか?

▲このページのトップに戻る
305451Re:縦横変換マクロうみ 2005/11/07-21:15

記事番号305447へのコメント
うみさんは No.305447「Re:縦横変換マクロ」で書きました。

すみません、できません!って書いたのですが
できました!!
ありがとうございました。

A1.本ページは参考になりましたか? 又はアドバイスがありますか?
解決 参考になった 参考にならなかった アドバイスする

A2.何度目の訪問ですか?
初めて来た   数度目(2〜4) 5回以上来ている   管理人:

A3.何か一言どうぞ(アドレスは書くことができません)

A4.アドレスがあればどうぞ(1つまで)


↑↑↑↑よろしければ押してください↑↑↑↑

何か一言(本ページで参考になったならないを含めて残してあります)
◎:解決 ○:参考になった ×:参考にならなかった !:アドバイスあり

参考回数投稿日時何か一言