• ベストアンサー

EXCEL VBA 行列操作

どなたか教えてください。 下記の様にA1からH5までの範囲に値がある行とない行があります。 空白セルを無視しA10に行列を操作し(行列入れ替え?)、さらに上詰め でコピーしたいのです(上にある行から列順に)。 よろしくお願いします。 例です  A   B   C   D   E   F  G   H 1 2                   aaa bbb 3 ccc ddd eee fff ggg 4 5 hhh ~ 10 aaa 11 bbb 12 ccc 13 ddd 14 eee 15 fff 16 ggg 17 hhh

質問者が選んだベストアンサー

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

これも一例です。 Sub test01() Dim c As Range, i As Integer i = 10 For Each c In Range("A1:H5") If c.Value <> "" Then c.Copy Cells(i, "A") i = i + 1 End If Next End Sub

noname#240858
質問者

お礼

merlionXX様有り難う御座います。 お陰様で、苦労していた部分が解決しました。

その他の回答 (1)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

Sub try() Dim r As Range Dim rr As Range Set rr = Range("A10") For Each r In Range("A1:H5").SpecialCells(xlTextValues) r.Copy rr Set rr = rr.Offset(1) Next Set rr = Nothing End Sub 一例です。

noname#240858
質問者

お礼

n-jun様有り難う御座います。 いろいろな方法があることに恐れ入ります。 もっと勉強します。

関連するQ&A