Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Wie zeige ich Nothing an?
#1
Hallo,

ich bräuchte mal von Euch eine Codeergänzung:

Dim vbFind, vbSheet: vbSheet = "Collect"
Set vbFind = Sheets(vbSheet).Range("B:B").Find("GoogleBooks", LookIn:=xlValues)

If ??? Then debug.print "Gefunden"
If ??? Then debug.Print "Nichts Gefunden"

Wenn in der Spalte B keine Zeile mit GoogleBooks gefunden wird, hat vbFind den Wert Nothing.

Doch wie werte ich dieses Nothing aus?
Antworten Top
#2
Moin!
If Not vbFind Is Nothing Then
   Debug.Print "Gefunden"
Else
   Debug.Print "Nicht gefunden"
End If

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Wulfi
Antworten Top
#3
Code:
Sub M_snb()
    On Error Resume Next
    c00 = Columns(1).Find("aaa").Address
    If Err.Number <> 0 Then c00 = "not found"
    
    MsgBox c00
End Sub

oder

Code:
Sub M_snb()
    On Error Resume Next
    c00 = "not found"
    c00 = Columns(1).Find("aaa").Address
    
    MsgBox c00
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#4
Ich weiß, dass du es weißt, snb!  :21:
Da VBA in meinen Augen durchaus so etwas wie eine Programmiersprache ist, sollte man schon zwischen Range-Objekten und "Dingenskirchen" aka Variant unterscheiden.
Eine Objektvariable sollte imo immer per Set = gefüllt werden.
Alles andere ist nur das Ausnutzen der Unzulänglichkeiten von VBA und hat doch nix mit programmieren zu tun?
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#5
Ein richtige Programmiersprache wie Python belästigt niemand etwas zu unterscheiden (wedeer objeckt noch Varaina); das macht der Compiler.
Das mangelt noch immer am VBA Compiler.

Übrigens ist auch in Python die Verwendung von Errors ein wesentliches Unterteil der Sprache.
Fehlerbewertung ist keine 'Unzulänglichkeit', doch ein Kapitel der Sprache (obwohl nur bei wenige Leuten bekannt), wie im VBA.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#6
Hallo Ralf,

Ich weiß, dass du es weißt, Smile aber ich weiß jetzt nicht, ob Du vielleicht was übersehen hast - snb wertet die Adresse aus und die ist kein Objekt Sad
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • snb
Antworten Top
#7
Nur in VBA ist Adresse kein Objekt; hier zuhause sieht das ganz anders aus.   :19:
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#8
(07.07.2018, 17:43)snb schrieb: Nur in VBA ist Adresse kein Objekt; hier zuhause sieht das ganz anders aus.   :19:

ist das dann so ein Teil auf 2 (oder auch 4) Rädern? :05:
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste