Vba 获取旁边单元格行的值,否则将有一个空白单元格&;公式
是否有一种方法,最好是通过excel公式,也可以通过VBA获得它旁边的单元格,如果没有值,则返回空白?如果有值,则返回给定的数字。空白,因为其中没有数据,甚至a=A1 举个例子 列A有一个公式,每行向下给出1、2、3。在B列中,我有一个公式,它获取它旁边的值(A1、A2等),但它只显示为空,公式仍然存在 我也知道如何简单地复制和粘贴特殊的,这可以被视为一个解决办法,但我只是好奇,如果有更好的方法来做到这一点Vba 获取旁边单元格行的值,否则将有一个空白单元格&;公式,vba,excel,excel-formula,Vba,Excel,Excel Formula,是否有一种方法,最好是通过excel公式,也可以通过VBA获得它旁边的单元格,如果没有值,则返回空白?如果有值,则返回给定的数字。空白,因为其中没有数据,甚至a=A1 举个例子 列A有一个公式,每行向下给出1、2、3。在B列中,我有一个公式,它获取它旁边的值(A1、A2等),但它只显示为空,公式仍然存在 我也知道如何简单地复制和粘贴特殊的,这可以被视为一个解决办法,但我只是好奇,如果有更好的方法来做到这一点 Sub CopyCol() Sheets("Sheet3").Co
Sub CopyCol()
Sheets("Sheet3").Columns(10).Copy
Sheets("Sheet3").Columns(10).PasteSpecial xlPasteValues
End Sub
谢谢。用这个:
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
您是否尝试将B列的数字格式更改为;;;(三个分号)?列B仍将存储公式,但不会显示其值。@RomcelGeluz我是否已尝试将数字格式更改为;;;在excel中?我当时就试过了,它看起来只是返回所有B列单元格的空格,但公式仍然有效。我想要类似于=A1的东西,如果左边的单元格中没有值,那么它就不会给出公式&blank。这个任务确实需要VBA。给我一两分钟试试。