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

▲このページのトップに戻る
4042669行コピー&縦横変換マクロうみ 2007/04/23-22:02

メーカー名:NEC 日本電気
OS名:WindowsXp
パソコン名:LaVie LL750/G
--
下記のような表があります。

  A  B  C  D  E  F  G  H  I
1 1  春  桜     ○  ○  ×  ○  ×




6 2  夏  氷     ×  ×  ×  ○  ○



10
11 3  秋  風     ○  ×  ×  ×  ○
12
13
14
15

このような表でA1〜C1までを下4行にコピーして
E〜Iに入っているものをD列の1〜5行まで縦変換して表示したいのですが・・。

よろしくお願いします。

▲このページのトップに戻る
404271Re: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】

▲このページのトップに戻る
404282Re:9行コピー&縦横変換マクロうみ 2007/04/23-23:07

記事番号404271へのコメント
c-kobanさんは No.404271「Re:9行コピー&縦横変換マクロ」で書きました。

この表は行数が10000〜20000ととてつもなく大きく
また、このようなファイルが他に10件あります。
よって、マクロでの作業としたいのですが・・。

▲このページのトップに戻る
404315Re: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の列を削除


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

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

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

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


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

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

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