if then else Schleife Fehler 13

Bild

Betrifft: if then else Schleife Fehler 13
von: Ron
Geschrieben am: 24.11.2015 17:51:29

Hallo Leute,
ich habe mal wieder einen "Gehirnknoten" und benötige Eure Hilfe ...
Im Ablauf eines Makros werden die Dateien eines Verzeichnissen ausgelesen und gewünschte Werte in einem neuen Tabellenblatt zusammengeführt. Das läuft prächtig.
Nun ist aber das Problem dazugekommen, dass die bisher alle gleich aufgebauten Quelldateien in zwei unterschiedlichen Layouts bereitgestellt werden.
Ich habe daher versucht eine Abfrage zu integrieren, die mir dann den nachfolgenden Ablauf wieder in den bisher bekannten "Rahmen" bringt. In der Quelldatei muss der Inhalt der Zelle A18 Kunde sein, wenn dem so ist, wird eine definierte Variable ein Wert X gegeben, sonst der Wert Y.
Aber schon beim Beginn der gebauten if then else Schleife wird mir der Fehler 13 - Typen unverträglich ausgeworfen. Die erse Datei wird geöffnet und dann soll dieser String in die Schleife einleiten:
If Workbooks(objDatei).Sheets("Report_1").Range("a18") = "Kunde" Then
Die definierte objDatei wird geöffnet aber dann halt der Fehler ausgeworfen. Warum?
Danke für Eure Hinweise
Ron

Bild

Betrifft: AW: if then else Schleife Fehler 13
von: Daniel
Geschrieben am: 24.11.2015 18:03:41
Hi
probier mal:
If Workbooks(objDatei).Sheets("Report_1").Range("a18").Text = "Kunde" Then
Gruß Daniel

Bild

Betrifft: AW: if then else Schleife Fehler 13
von: Ron
Geschrieben am: 24.11.2015 18:12:24
Hallo Daniel,
vielen Dank für die schnelle Antwort. Der Fehler bleibt leider gleich, .value hatte ich auch schon getestet. Hast Du noch andere Ideen?
Ron

Bild

Betrifft: Was ist bei dir objDatei? oT
von: Tino
Geschrieben am: 24.11.2015 18:20:04


Bild

Betrifft: Hieran irritiert die Verwendung 1es UN-Präfix',...
von: Luc:-?
Geschrieben am: 24.11.2015 18:21:47
…Ron;
üblicherweise würde obj~ darauf hindeuten, dass die Variable des damit beginnenden Namens ein (unspezifiziertes) Objekt enthält. Workbook verlangt aber einen String, ggf auch als Variable. Ist objDatei aber tatsächlich eine Datei (Mappe) als Objekt, würde das zu dem genannten Fehler führen (die Datei würde dadurch auch nicht geöffnet!). Hier wäre dann Folgendes richtiger:
If Workbooks(objDatei.Name).Sheets("Report_1").Range("a18") = "Kunde" Then
…oder besser so:
If objDatei.Sheets("Report_1").Range("a18") = "Kunde" Then
Gruß, Luc :-?

Besser informiert mit …

Bild

Betrifft: AW: Hieran irritiert die Verwendung 1es
von: Ron
Geschrieben am: 24.11.2015 18:29:24
Hallo Luc,
vielen Dank für die gute Erklärung und Lösung.
Euch allen einen schönen Abend!!!
Ron

Bild

Betrifft: Danke, gleichfalls! ;-) owT
von: Luc:-?
Geschrieben am: 24.11.2015 18:31:44
:-?

 Bild

Beiträge aus den Excel-Beispielen zum Thema "if then else Schleife Fehler 13"