El problema es que !=no funciona como función en excel vba.
Quiero poder usar
If strTest != "" Then en vez de If strTest = "" Then
¿Hay otro enfoque para hacer esto además !=?
Mi función para imitar !=es
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

!=y no<>?!=Por qué no funciona en vba, o cuál es el operador de desigualdad en vba?Respuestas:
Porque el operador de desigualdad en VBA es
<>el operador
!=se usa en C #, C ++.fuente
En VBA, el
!=operador es elNotoperador, así:fuente
Notes el operador de inversión lógica, que corresponde a!en los lenguajes de estilo C.Solo una nota. Si desea comparar una cadena con
"", en su caso, useo incluso solo
en lugar.
fuente
<> ""<> ""y producirían el mismo código p queLen(str).[3][C][A][T]. Una cadena "vacía" tiene un[0]para los primeros bytes y la verificaciónLenpermite que el código simplemente verifique y compare enteros. Además, cuando lo hace,= ""ese segundo""debe asignarse como su propia cadena primero en la memoria, luego se debe comparar con la cadena de destino.Len(str) > 0es aproximadamente el doble de rápido questr <> ""para 10 millones de iteraciones. Dicho esto, estamos hablando de una microoptimización extrema aquí (0.36 vs 0.72 segundos para 10 millones de iteraciones), así que definitivamente me quedaré con la más legiblestr <> "".Intente usar en
<>lugar de!=.fuente