Microsoft Excel

Herbers Excel/VBA-Archiv

Bevor Makro ausgeführt wird, Zelle prüfen


Betrifft: Bevor Makro ausgeführt wird, Zelle prüfen von: Sandra Schweitzer
Geschrieben am: 12.04.2017 16:32:53

Hallo,

leider komme ich wieder nicht weiter :-(

Ich schreibe gerade ein Makro, welches eine andere Arbeitsmappe bearbeitet. Aber vorher muss geprüft werden, ob in der Arbeitsmappe, wo ich das Makro drüber laufen lasse, eine Zelle befüllt ist.

So dazu habe ich folgendes zusammengestellt:

If Windows("Test.xlsm").Sheets("Umwandlung").Range("J1").Value = "" Then GoTo Nextstep1 Else GoTo Fortfahren1
Fortfahren1:
Mein Makro
Nextstep1:
nächste Prüfung

Und so weiter

ABER es kommt nun immer die folgende Debuggen Meldung:
Laufzeitfehler '438': Objekt unterstützt diese Eigenschaft oder Methode nicht

Und diese Stelle wird gelb hinterlegt:
If Windows("Test.xlsm").Sheets("Umwandlung").Range("J1").Value = "" Then

Was mache ich denn da falsch? :-(

Ich verzweifle bald.

Ich hoffe Ihr könnt mir helfen und ich danke schon mal recht freundlich für eure Hilfe :-)

Viele Grüße

Sandra

  

Betrifft: AW: Bevor Makro ausgeführt wird, Zelle prüfen von: Nepumuk
Geschrieben am: 12.04.2017 16:40:13

Hallo,

an Stelle von Windows benutze Workbooks. Also:

If Not IsEmpty(Workbooks("Test.xlsm").Worksheets("Umwandlung").Range("J1").Value) Then
    Call Mein_Makro
Else
    'nächste Prüfung
End If

Gruß
Nepumuk


  

Betrifft: Nepumuk ? von: Armin
Geschrieben am: 12.04.2017 16:49:20

Hi Nepumuk,
was verwendest Du für Deine Code-Darstellung? Gefällt mir sehr gut.

Gruß Armin


  

Betrifft: AW: Nepumuk ? von: Nepumuk
Geschrieben am: 12.04.2017 16:54:03

Hallo Armin,

der beruht auf einer DLL von Peter Haserodt und einem von mir geschriebenen Addin.

Gruß
Nepumuk


  

Betrifft: AW: Bevor Makro ausgeführt wird, Zelle prüfen von: EtoPHG
Geschrieben am: 12.04.2017 16:45:09

Hallo Sandra,

Ein Sheet ist ein Objekt in einer Arbeitsmappe, nicht in einem Window.
Die 'andere' Arbeitsmappe (Workbook) muss geöffnet werden, um auf ein Tabelleblatt (Worksheet) und deren Zellen (Cells) zugreifen zu können.
Also müsste etwa so heissen:

If Workbooks("Test.xlsm").Worksheets("Umwandlung").Cells(1, 10) = "" Then...

Benützte die Hilfe im VBA-Editor indem du z.B. den Cursor auf das Wort Sheets setzt und F1 drückst. Drück F2 um dir den Objektkatalog von Excel anzuzeigen und suche z.B. Window...
dann findest du heraus, dass z.B. Window keine Sheets-Eigenschaft hat.

Gruess Hansueli


  

Betrifft: AW: Bevor Makro ausgeführt wird, Zelle prüfen von: Sandra Schweitzer
Geschrieben am: 13.04.2017 10:21:36

Hervorragend!!! Vielen lieben Dank :-) klappt super

Liebe Grüße

Sandra


Beiträge aus den Excel-Beispielen zum Thema "Bevor Makro ausgeführt wird, Zelle prüfen"