0

チェックボックス82がチェックされていない場合、セルJ39は空白のままですが、チェックされている場合は値が3.8になるようにしようとしています。「Sheet.Range("J39").PasteSpecial Paste = "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

この機能をより良い方法で実行する方法についてのアイデアも大歓迎です

4

2 に答える 2

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
于 2013-04-05T15:26:55.503 に答える
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
于 2013-04-05T16:29:43.360 に答える