Vba 基于范围复制列
函数查找该区域中的单元格是否为非数字单元格,并从另一个工作表复制所选区域。Vba 基于范围复制列,vba,Vba,函数查找该区域中的单元格是否为非数字单元格,并从另一个工作表复制所选区域。 但我无法克服这一点 Sub paste() Application.ScreenUpdating = False Dim c As Range Dim lt As String Dim sn As String sn = ActiveSheet.Name For Each c In Range("a6:ck6") If c.Value.IsNumber
但我无法克服这一点
Sub paste()
Application.ScreenUpdating = False
Dim c As Range
Dim lt As String
Dim sn As String
sn = ActiveSheet.Name
For Each c In Range("a6:ck6")
If c.Value.IsNumber() Then
Sheets("1").Select
Range("D8:D69").Select
Selection.Copy
Sheets(sn).Select
MsgBox Split(ActiveCell.Address, "$")(1) = lt
Cells(8, lt).Paste
Else
End If
Next c
Application.ScreenUpdating = True
End Sub
试试这个:
Dim c As Range, col As String
With Sheets(sn) '~~> Explicitly provide the sheet name here
For Each c In .Range("A6:CK6")
If Not IsNumeric(c.Value) Then
col = Split(c.address, "$")(1)
Sheets("1").Range(col & "8:" & col & "69").Copy c.Offset(2,0)
End If
Next
End With
上述代码检查A6:CK6是否为非数值。如果是,它会将同一列中名为“1”的工作表上的值从第8行复制到第69行。
这就是你想要的吗