9行コピー&縦横変換マクロ
◇-?9行コピー&縦横変換マクロ-うみ-04/23-22:02(170)-No.404266 ┗?!Re:9行コピー&縦横変換マクロ...-c-koban-04/23-22:24(169)-No.404271 ┗?!~Re:9行コピー&縦横変換マクロ...-うみ-04/23-23:07(169)-No.404282 ┗?!~!Re:9行コピー&縦横変換マク...-elm-04/24-04:35(163)-No.404315
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
▲このページのトップに戻る
404266 | 9行コピー&縦横変換マクロ | うみ | 2007/04/23-22:02 |
メーカー名:NEC 日本電気 OS名:WindowsXp パソコン名:LaVie LL750/G -- 下記のような表があります。 A B C D E F G H I 1 1 春 桜 ○ ○ × ○ × 2 3 4 5 6 2 夏 氷 × × × ○ ○ 7 8 9 10 11 3 秋 風 ○ × × × ○ 12 13 14 15 このような表でA1〜C1までを下4行にコピーして E〜Iに入っているものをD列の1〜5行まで縦変換して表示したいのですが・・。 よろしくお願いします。 |
▲このページのトップに戻る
404271 | Re:9行コピー&縦横変換マクロ | c-koban | 2007/04/23-22:24 |
記事番号404266へのコメント うみさんは No.404266「9行コピー&縦横変換マクロ」で書きました。 OpenOfficeCalcでの操作ですが A1〜C1までを下4行にコピーするには 1.Shiftを押しながらカーソルをA1からC1まで移動させる。 2.Ctrl+Cでコピー 3.Shiftを押しながらカーソルをA2からC5まで移動 4.Ctrl+Vで貼り付け E1〜I1に入っているものをD列の1〜5行まで縦変換するには 1.Shiftを押しながらカーソルをE1からI1まで移動 2.Ctrl+Xで切り取る 3.カーソルをE1に会わせる 4.メニューの【編集】から形式を選択して貼り付けを選択 5.[行列を入れ替える]にチェックを入れて【OK】 |
▲このページのトップに戻る
404282 | Re:9行コピー&縦横変換マクロ | うみ | 2007/04/23-23:07 |
記事番号404271へのコメント c-kobanさんは No.404271「Re:9行コピー&縦横変換マクロ」で書きました。 この表は行数が10000〜20000ととてつもなく大きく また、このようなファイルが他に10件あります。 よって、マクロでの作業としたいのですが・・。 |
▲このページのトップに戻る
404315 | Re:9行コピー&縦横変換マクロ | elm | 2007/04/24-04:35 |
記事番号404282へのコメント うみさんは No.404282「Re:9行コピー&縦横変換マクロ」で書きました。 エクセルのマクロ これでどうでしょう? Sub 行コピー縦横変換() Dim x As Integer For x = 1 To ** Step 5 Dim y As Integer y = x + 1 Dim z As Integer z = x + 4 Range(Cells(x, 1), Cells(x, 3)).copy Range(Cells(y, 1), Cells(z, 3)).PasteSpecial Next x Dim a As Integer For a = 1 To ** Step 5 Dim b As Integer b = a + 4 Range(Cells(a, 5), Cells(a, 9)).copy Range(Cells(a, 4), Cells(b, 4)).PasteSpecial Transpose:=True Next a Columns("E:I").Delete Shift:=xlToLeft Range("A1").Select End Sub To の後の ** は、シートの最終行を記入 Dim x As Integer For x = 1 To ** Step 5 Dim y As Integer y = x + 1 Dim z As Integer z = x + 4 Range(Cells(x, 1), Cells(x, 3)).copy Range(Cells(y, 1), Cells(z, 3)).PasteSpecial Next x で、A1〜C1までを下4行にコピー Dim a As Integer For a = 1 To ** Step 5 Dim b As Integer b = a + 4 Range(Cells(a, 5), Cells(a, 9)).copy Range(Cells(a, 4), Cells(b, 4)).PasteSpecial Transpose:=True Next a で、E1〜I1に入っているものをD列の1〜5行まで縦変換 Columns("E:I").Delete Shift:=xlToLeft で、E〜Iの列を削除 |
何か一言(本ページで参考になったならないを含めて残してあります)
◎:解決 ○:参考になった ×:参考にならなかった !:アドバイスあり
参考 | 回数 | 投稿日時 | 何か一言 |
---|