bdk*_*ong 2 excel vba excel-vba
下面的代码应该检查单元格是否为空,如果是空的,则将B26的内容粘贴到该单元格中.如果单元格不为空,则继续检查其下方的单元格.我尝试使用IsEmpty但是没有用,所以我认为Excel将所有空单元格默认为0.所以我尝试使用Empty(如下面的代码所示),但这也不起作用.
Sub Part1_Component_1_Foam_Color()
'
' Transfers Component 1 Data if Foam or color
'
'
Windows("Transfer Template.xlsm").Activate
Range("B26").Select
Selection.Copy
Windows("Protected_JD_Form.xls").Activate
If Range("B27:C27") = Empty Then
Range("B27:C27").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Exit Sub
ElseIf Range("B28:C28") = Empty Then
Range("B28:C28").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Exit Sub
ElseIf Range("B29:C29") = Empty Then
Range("B29:C29").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Exit Sub
ElseIf Range("B30:C30") = Empty Then
Range("B30:C30").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Exit Sub
End If
Windows("Transfer Template.xlsm").Activate
Range("A1").Select
End Sub
Run Code Online (Sandbox Code Playgroud)
您可以使用
If Application.WorksheetFunction.CountA(Range("B27:C27")) = 0 Then
Run Code Online (Sandbox Code Playgroud)
代替
If Range("B27:C27") = Empty Then
Run Code Online (Sandbox Code Playgroud)
顺便说一下,在粘贴数据之前不需要选择范围.
这段代码
Range("B27:C27").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Run Code Online (Sandbox Code Playgroud)
可以替换为
Range("B27:C27").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
197 次 |
| 最近记录: |