是否有一种方法最好通过excel公式,而且还有VBA来获取它旁边的单元格,如果没有值,则返回空白?如果有一个给定数字的值返回。空白,因为它没有数据甚至没有a = A1
在一个例子中 A列的公式为每行1,2,3,向下。在B列中我有公式,它获取它旁边的值(A1,A2等),但它只显示为空白,公式仍然存在。
我也知道如何简单地复制和粘贴特殊内容,这可能被视为一种解决方法,但我很好奇是否有更好的方法可以做到这一点。
Sub CopyCol()
Sheets("Sheet3").Columns(10).Copy
Sheets("Sheet3").Columns(10).PasteSpecial xlPasteValues
End Sub
感谢。
答案 0 :(得分:0)
使用此:
Option Explicit
Public Sub CopyCol()
Dim ur As Range, col1 As Variant, col2 As Variant, r As Long
Set ur = ThisWorkbook.Sheets("Sheet3").UsedRange
ur.Columns("B").Clear
col2 = ur.Columns("B")
col1 = ur.Columns("A")
If Not IsEmpty(col1) Then
If IsArray(col1) Then
For r = 1 To UBound(col1)
If Len(col1(r, 1)) > 0 Then col2(r, 1) = col1(r, 1)
Next
Else
col2 = col1
End If
ur.Columns("B") = col2
End If
End Sub