只复制和粘贴Excel中的非n#a个单元格vba

问题描述:

如何将列数据A复制并粘贴到不含#N/A数据的B列。只复制和粘贴Excel中的非n#a个单元格vba

我有数据在A列

A   B 

8a61  8a61 
#N/A  fs 
fs  fttt 
fttt  dsff 
#N/A 
dsff 

复制粘贴非空白单元格,我用

Set wb = ActiveWorkbook 
    Set ws1 = wb.Sheets("Sheet7") 
    ws1.Range("A1:A1000").SpecialCells(xlCellTypeConstants).Copy ws1.Range("B1") 

如何复制粘贴柱数据,而不#N/A

+0

创建一个循环来检查单元格的内容并把它们搬过来,如果他们不#N/A。 –

+0

或过滤列A以排除'#N/A',然后执行复制。 – YowE3K

+1

或复制整个批次,然后从复制特殊单元格公式错误中删除(假设您没有其他错误要保留)。 – SJR

给这一去,显然需要放在一个子()

Dim i As Integer, j As Integer 
j = 1 
For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row 
If Not IsError(Cells(i, 1).Value) Then 
    Cells(j, 4) = Cells(i, 1) 
    j = j + 1 
End If 
Next i 

昏暗的RNG作为范围 昏暗CRANGE作为范围 昏暗LASTROW为双

Sheets("Sheet1").AutoFilterMode = False 

Set rng = Range("A1", Range("A2").End(xlDown)) 
lastrow = Range("A" & Rows.Count).End(xlUp).Row 
Set crange = Range("A2:A" & lastrow) 
rng.AutoFilter field:=1, Criteria1:="<>#N/A" 

crange.SpecialCells(xlCellTypeVisible).Copy Range("b2") 
+0

尽管此代码片段可能会解决此问题,但[包括解释](http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)确实有助于提高帖子的质量。请记住,您将来会为读者回答问题,而这些人可能不知道您的代码建议的原因。 – secelite