縦横変換マクロ
◇-?縦横変換マクロ-うみ-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 2 3 4 5 6 1青森 1 3 5 2 3 4 5 6 上記のような表があるのですが、セルD〜IまでをCの列に縦で 表示したいのですが・・。 そのための6行のスペースは空けてあります。 エクセルのコピーの時の書式でもできるのはわかるのですが 膨大な行、この作業の繰り返しとなるので できればマクロで・・と思っています。 よろしくお願いいたします。 |
▲このページのトップに戻る
305129 | Re:縦横変換マクロ | Einstein | 2005/11/06-13:34 |
記事番号305112へのコメント 『コピー ⇒ 形式を選択して貼り付け ⇒ 行と列を入れ替える』のやり方ではなく、 という意味ですか? それであればForNextのループを一度使い、Cells(x,6)=Cells(6,x)のような形で いけばよいのでは? (6という数値は適当に入れました。実際の行・列番号にしてください) 詳細な表の形が頭に思い浮かばなかったので、このような形でしかご助言できませんが・・・ |
▲このページのトップに戻る
305203 | Re:縦横変換マクロ | 白茶 | 2005/11/06-19:49 |
記事番号305112へのコメント うみさんは No.305112「縦横変換マクロ」で書きました。 こんにちは。 VBAの回答でなくて、スミマセンなのですが、 例題のような場合だと、 C1=OFFSET(C1,-MOD(ROW(A6),6),MOD(ROW(A6),6)+1) として、ずーっと下までフィルっていけば、 とりあえず縦横変換抽出が出来ますよ。 抽出後にC列全体をコピって 「値」だけ貼り付け直せば宜しいかと思います。 但し、元々が空白セルだったところには「0」が返ってきますので、 これがイヤなら、IF関数を噛ませて回避する必要があります。 ご参考まで。 |
▲このページのトップに戻る
305205 | Re:縦横変換マクロ | うみ | 2005/11/06-19:56 |
記事番号305203へのコメント 白茶さんは No.305203「Re:縦横変換マクロ」で書きました。 回答ありがとうございます。 フィルしていくことも考えたのですが 何万件というデータがあることと、こういう表が 入ったファイルが30くらいあること、 などからマクロの方がいいのかな・・と思っているのですが・・。 |
▲このページのトップに戻る
305213 | Re:縦横変換マクロ | 白茶 | 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 # (省略出来るところは省略しました) |
▲このページのトップに戻る
305447 | Re:縦横変換マクロ | うみ | 2005/11/07-21:03 |
記事番号305213へのコメント 白茶さんは No.305213「Re:縦横変換マクロ」で書きました。 すみません・・やってみたのですがうまく動きません。 1行目のD〜I列に入ってる数値をC列の1行目から 6行目に縦変換コピーで、7行目のD〜I列に入っている 数値をC列の7行目〜12行目までコピー・・ とこれをずーーーっと繰り返すマクロなんですが・・。 もう一度教えていただけますか? |
▲このページのトップに戻る
305451 | Re:縦横変換マクロ | うみ | 2005/11/07-21:15 |
記事番号305447へのコメント うみさんは No.305447「Re:縦横変換マクロ」で書きました。 すみません、できません!って書いたのですが できました!! ありがとうございました。 |
何か一言(本ページで参考になったならないを含めて残してあります)
◎:解決 ○:参考になった ×:参考にならなかった !:アドバイスあり
参考 | 回数 | 投稿日時 | 何か一言 |
---|