Das Problem ist, dass !=
es in Excel VBA nicht als Funktion funktioniert.
Ich möchte verwenden können
If strTest != "" Then
anstatt If strTest = "" Then
Gibt es einen anderen Ansatz, um dies zu tun !=
?
Meine Funktion zu imitieren !=
ist
Sub test()
Dim intTest As Integer
Dim strTest As String
intTest = 5
strTest = CStr(intTest) ' convert
Range("A" + strTest) = "5"
For i = 1 To 10
Cells(i, 1) = i
If strTest = "" Then
Cells(i, 1) = i
End If
Next i
End Sub
!=
und nicht<>
?!=
funktioniert in vba nicht oder was ist der Ungleichungsoperator in vba?Antworten:
Weil der Ungleichungsoperator in VBA ist
<>
Der Operator
!=
wird in C #, C ++ verwendet.quelle
In VBA ist der
!=
Operator derNot
Operator wie folgt :quelle
Not
ist der logische Inversionsoperator, der!
in Sprachen im C-Stil entspricht.Nur eine Notiz. Wenn Sie eine Zeichenfolge mit
""
in Ihrem Fall vergleichen möchten , verwenden Sieoder auch nur
stattdessen.
quelle
<> ""
<> ""
und den gleichen P-Code wie erzeugen würdenLen(str)
.[3][C][A][T]
. Eine "leere" Zeichenfolge hat eine[0]
für die ersten Bytes und das Überprüfen derLen
ermöglicht es dem Code, nur Ganzzahlen zu überprüfen und zu vergleichen. Wenn Sie dies tun= ""
, muss diese Sekunde außerdem""
zuerst im Speicher als eigene Zeichenfolge zugewiesen und dann mit Ihrer Zielzeichenfolge verglichen werden.Len(str) > 0
das ungefähr doppelt so schnell ist wiestr <> ""
bei 10 Millionen Iterationen. Das heißt, wir sprechen hier von extremer Mikrooptimierung (0,36 vs 0,72 Sekunden für 10 Millionen Iterationen), also bleibe ich definitiv bei der besser lesbarenstr <> ""
.Versuchen Sie,
<>
anstelle von zu verwenden!=
.quelle