-1

いくつかのシートを含むExcelファイルがあります。データを含むすべてのセルをコピーし、「すべてのデータ」という名前のシート内の別のExcelドキュメントにコピーする必要があります。次に、列Hの値がnullまたは「0」であるかどうかを確認する必要があります。この値があるすべての行を削除する必要があります。これどうやってするの?

これがファイルからデータを取得する私のコードですが、データのみ(および空のセルなし)を取得するかどうかはわかりません

 Windows("Book1").Activate
 Sheets(1).Cells.Select
 Selection.Copy
4

2 に答える 2

1

これを試して。

Dim n as integer
Dim n1 as integer

n = 0
n1 = 0

While Sheet("Book1").Range("A1").Offset(n, 0) <> ""
    If Sheet("Book1").Range("H1").Offset(n, 0) <> null then     
       If Sheet("Book1").Range("H1").Offset(n, 0) <> 0 then
          Sheet("Book1").Range("A1:Z1").Offset(n, 0).Copy
          Sheet("All Data").Range("A1:Z1").Offset(n1, 0).Paste
          n1 = n1 + 1
       End If
    End If
    n = n + 1
Wend
于 2012-12-12T11:53:21.863 に答える
0

これにより、データがSheet2にコピーされ、これを他のシート/領域に変更します。次に、データをフィルタリングし、表示されている行(基準に基づくデータ)を削除してから、フィルターを削除します。

Sheet1.Range("A1").CurrentRegion.Copy Sheet2.Range("A1")

With Sheet2
    .Range("A1").CurrentRegion.AutoFilter Field:=8, Criteria1:=0, Operator:=xlOr, Criteria2:="Null"
    .AutoFilter.Range.Offset(1, 0).Resize(.AutoFilter.Range.Rows.Count - 1) _
                                    .SpecialCells(xlCellTypeVisible).EntireRow.Delete Shift:=xlUp
    .AutoFilterMode = False
End With
于 2012-12-12T13:36:08.710 に答える