エラーを防ぐために、カスタム入力ボックスから取得した文字列が有効な16進数のカラーコードでないかどうかを確認する必要があります。これまで私は他の言語のためのさまざまなソリューションを見つけましたが、VBAはありませんでした。VBA - 文字列が有効な16進数のカラーコードであるかどうかをチェックする方法
16進数ではない値を入力すると、実行時エラーが発生します。私は保護されたシートに取り組んでいるので、それは私のプロジェクトにとって非常に重要です。私はどのような場合で0-9とA-Fから「#」& 6文字の形式にない価値を認識して条件を設定するにはどうすればよい
Public Function HexWindow(MyCell As String, Description As String, Caption As String)
Dim myValue As Variant
Dim priorValue As Variant
priorValue = Range(MyCell).Value
myValue = InputBox(Description, Caption, Range(MyCell).Value)
Range(MyCell).Value = myValue
If myValue = Empty Then
Range(MyCell).Value = priorValue
End If
tHex = Mid(Range(MyCell).Text, 6, 2) & Mid(Range(MyCell).Text, 4, 2) & Mid(Range(MyCell).Text, 2, 2)
Range(MyCell).Interior.Color = WorksheetFunction.Hex2Dec(tHex)
End Function
?
今すぐコードを追加する時間がありませんが、正規表現を調査します。 – SJR
「正規表現」とはどういう意味ですか?私はプログラミングに新しいことを追加する必要があります。 –
http://stackoverflow.com/documentation/regex/topics – Nulled