[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『エクセル マクロ空白行を飛ばして、別シートに貼り付けたい』2007(ぴん)
Sheet1に関数で、データをもってきているものを、空白の部分は、飛ばしてSheet2に貼り付けしたいのですが?
Sheet1
A B C D E
1 あ い う え お
2 か き く け こ
3
4 さ し す せ そ
.
.
Sheet2
A B C D E
1 あ い う え お
2 か き く け こ
3 さ し す せ そ
4
.
Sheet1のセルには関数を使用しているので削除はしないでほしいんですが?
たとえば
Sub Sample()
Dim c As Range
Dim z As Long
Dim v() As Variant
Dim i As Long
Dim k As Long
With Sheets("Sheet1")
z = .UsedRange.Row + .UsedRange.Rows.Count - 1 '最終行番号
ReDim v(1 To z)
For i = 1 To z
'A〜Eまで空白なら処理しない
If WorksheetFunction.CountBlank(.Range("A" & i & ":E" & i)) < 5 Then
k = k + 1
v(k) = .Range("A" & i & ":E" & i).Value
End If
Next
End With
ReDim Preserve v(1 To k)
With Sheets("Sheet2")
.Columns("A:E").ClearContents
.Range("A1").Resize(k, 4).Value = WorksheetFunction.Transpose(WorksheetFunction.Transpose(v))
.Select
End With
End Sub
(ぶらっと)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.