excel VB中如何将公式列的值复制到另一列

q9rjltbz  于 2023-11-20  发布在  其他
关注(0)|答案(1)|浏览(97)

我想将包含公式的列中的值复制到另一个不包含公式的列中.
我在行上找到了这个,但在单列上没有

Sub Transfer()
    Dim lngRow      As Long
    Dim lngastRow   As Long
    
    lngLastRow = Sheets("Invoice").Range("A" & Rows.Count).End(xlUp).Row
    For lngRow = 2 To lngLastRow
        If Len(Sheets("Invoice").Cells(lngRow, "B").Value) > 0 Then
            Call Sheets("Invoice").Cells(lngRow, "B").EntireRow.Copy
            Call Sheets("Data").Range("A" & Rows.Count).End(xlUp).Offset(1).PasteSpecial(Paste:=xlValues)
        End If
    Next lngRow
End

字符串
但这是为了划船

4uqofj5v

4uqofj5v1#

  • 如果Invoice上的Col B中的任何单元格为非空,则将其值复制到Data上的Col A
  • 请提供详细信息,如果这不是你正在寻找的。
Option Explicit
Sub Transfer()
    Dim lngRow      As Long
    Dim lngLastRow   As Long
    With Sheets("Invoice")
        lngLastRow = .Range("A" & .Rows.Count).End(xlUp).Row
        For lngRow = 2 To lngLastRow
            If Len(.Cells(lngRow, "B").Value) > 0 Then
                Sheets("Data").Range("A" & Sheets("Data").Rows.Count).End(xlUp).Offset(1).Value = .Cells(lngRow, "B").Value
            End If
        Next lngRow
    End With
End Sub

字符串
建议包含Option Explicit以避免一些编码错误。例如Dim lngastRow As Long该变量与稍后使用的变量(lngLastRow = Sheets("Invoice")....)不同。

相关问题