我是excel vba的新手。使用具有两个条件的if块来查找空单元格范围。这个if块在for循环中。现在我需要捕获哪个Condition得到满足以及这个if块选择的单元格范围是多少。因为我在内部使用它,因为我需要捕获范围Everytime并使用它来生成for循环中每个元素的图表。下面是使用if块语法。
If worksheetfunction.counta(cells) = 0
then
range("a1").select
else
lastrow = activesheet.range("A10000").end(xlup).row
Cells(lastrow+1,1).pastespecial paste:=xlpastevalues, operation:=xlnone, skipblanks:=false, transpose:=false
End if
我已经复制了一组值,并且根据if条件,它将粘贴在A1中,或者在if块中粘贴第二个条件。所以我需要一个变量来存储在此if条件之后选择的范围。
因为我在for循环中有这个if条件,并说我在该循环中有5个值。所以我最终将为#34; lastrow"提供四种不同的价值观。但是如果条件选择了,我需要捕获所有范围。
对此的任何帮助都将受到高度赞赏。在此先感谢!!
答案 0 :(得分:1)
你可能会这样:
Dim capturedRange As Range ' <--| declare a Range variable to store the captured range
If WorksheetFunction.CountA(Columns(1)) = 0 Then ' <--| if no values in column A
Set capturedRange = Range("a1") ' <--| set 'capturedRange' to cell A1
Else ' <--| otherwise
Set capturedRange = Range("A10000").End(xlUp).Offset(1) ' <--| set 'capturedRange' to column A first empty cell after last not empty one
capturedRange.PasteSpecial Paste:=xlPasteValues, operation:=xlNone, skipblanks:=False, Transpose:=False
End If