我试图遍历列中单元格的范围,然后检查单元格是否为空,如果是,我想将相应的行复制到新工作表中。这就是我到目前为止所做的:
{
"name": "foobar",
"app_id": "com.foo.bar",
"gulpStartupTasks": [
"styles",
"source",
"watch"
],
"watchPatterns": [
"www/**/*",
"!www/lib/**/*"
],
"sourceModules": {
"ionic": "git://github.com/driftyco/ionic.git",
"ng-cordova": "git://github.com/driftyco/ng-cordova.git"
}
}
此代码的问题在于,只要有一个空单元格,相应的行就会被复制并粘贴到新工作表中,即使相应的单元格不为空,也会将以下行复制并粘贴到新工作表中。我希望代码将对应于列Q中的空单元格值的任何行复制并粘贴到单个新工作表中
答案 0 :(得分:0)
这条线存在问题。尝试纠正它。
Worksheets.Add after:= Sheets(Sheets.Count)
答案 1 :(得分:0)
我相信您希望将所有带有空白列Q单元格的行复制到单个新工作表中。
Sub copy_blank_to_new()
Dim i As Long, ws As Worksheet
Set ws = Worksheets.Add(after:=Sheets(Sheets.Count))
With Sheets("GES1")
.Cells(1, 1).Resize(1, 17).Copy Destination:=ws.Cells(1, 1)
For i = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
If Not CBool(Len(Cells(i, 17).Value)) Then _
.Cells(i, 1).Resize(1, 17).Copy _
Destination:=ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
Next i
End With
Set ws = Nothing
End Sub
首先复制第一行。我猜测这是列标题标签信息。然后,它将每一行用空白(实际为零长度值)复制到同一新工作表中的后续行中。
如果列Q可能为空,则其他列可能包含空白的可能性很小。我使用了A列来确定要检查的数据范围。如果这还不够,还有其他方法,但对你的数据实际看起来有什么想法会有所帮助。