2013-04-05 110 views
0

我想这样做,如果复选框82未选中,那么单元格J39留空,但如果它被检查的值是3.8。上线“Sheet.Range(” J39“)。PasteSpecial的粘贴=‘3.8’,”我得到一个错误消息1004复选框函数粘贴值,如果检查

Sub ChckBx_Deisel_Engines() 

Dim Sheet As Worksheet: Set Sheet = ThisWorkbook.Worksheets("NSR FORM") 
    If Sheet.Shapes("Check Box 82").ControlFormat.Value = 0 Then 
     Sheet.Range("J39").PasteSpecial Paste = "" 
    End 

    ElseIf Sheet.Shapes("Check Box 82").ControlFormat.Value = 1 Then 

     Sheet.Range("J39").PasteSpecial Paste = "3.8" 
    End If 
End Sub 

如何以更好的方式执行此功能的任何想法也会begreatly赞赏

回答

1

想通了!这里是我改变它的代码来使这个功能起作用

Sub Button82_Click() 
    If ThisWorkbook.Worksheets("NSR FORM").Shapes("Check Box 82").OLEFormat.Object.Value = 1 Then 
    Range("J39").Value = "3.8" 

    Else 
    Range("J39").Value = "" 
    End If 

End Sub 
0
Dim Sheet As Worksheet: Set Sheet = ThisWorkbook.Worksheets("NSR FORM") 
    If Sheet.Shapes("Check Box 82").ControlFormat.Value = 0 Then 
     Sheet.Range("J39").PasteSpecial Paste = "" :Exit sub <<< to exit direct from your project 

    ElseIf Sheet.Shapes("Check Box 82").ControlFormat.Value = 1 Then 

     Sheet.Range("J39").PasteSpecial Paste = "3.8" 
    End If 
End Sub