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.

Makro weiterlaufen obwohl keine Datei ausgewählt
#1
Hallo,

ich lese mit einem Makro mehrere Excel-Dateien nacheinander ein.

Abfolge ist:
Wähle Datei 1 aus
  Windwos-Dateiauswahl-Dialog macht sich auf
      relevanten Ordner gebe ich vor, man kann die Datei auswählen

Makro liest die Datei ein
Dann geht es zur 2. Datei, da dann der gleiche Ablauf.

Das geht über 5 Dateien so hin.


Grundsätzlich kann es sein dass die Datei 2 noch nicht existiert --> bei dem Windwos-Dateiauswahl-Dialog drücken die Kollegen dann auf Abbrechen

Hier kommt dann das Fenster zum Debuggen


Ich würde gerne aber an der Stelle im Code weitergehen - Ablauf soll dann so sein.

Meldung Datei 1 einlesen
Anwender stellt fest dass Datei nicht vorhanden, drückt auf Abbrechen

--> HIER soll jetzt die Meldung kommen dass Datei 2 ausgewählt werden soll


Ich hoffe mal ich habe klar genug ausgedrückt was ich gerne hätte und wäre über Tipps sehr dankbar
 Daniel
Antworten Top
#2
Hallo,

stelle doch mal Deinen Code vor, damit man sehen kann, wo man das schon vorher vermeiden kann. Wenn man eine Datei aussuchen kann, die nicht da ist, an ist das schon schlecht programmiert!!!!
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#3
Hallo,

ich glaube nicht dass es schlecht programmiert ist - ich brauche ein Eingabefenster damit die Datei ausgewählt werden kann.
Es ist aber eine Datei dir irgednwann im Laufe von dem Prozess zur Verfügung gestellt wird und natürlich ist jeder Anwender zu faul um vorher zu schaun ob die Datei vorhanden ist oder nicht.

Code ist der:


    'Vermessung eintragen
    anzahlTabbellenblaetter = ThisWorkbook.Sheets.Count
           
    'Meldung dass Vermessungsdatei ausgewählt werden muss
    SollMaDieGaudiestarten = MsgBox("Soll die Vermessung eingelesen werden? Dann bitte die zum Versuch zugehörige Vermessungsdatei auswählen.", vbYesNo, "Woll ma des wirklich?")
   
    'Entscheidung ob ma starten oder ned...
    If SollMaDieGaudiestarten = 6 Then
        'Variable strDatName zuweisen --> Auswählen der Datei
        strDatName = Application.GetOpenFilename
   
        'Öffnet Vermessungsdatei, kopiert die Daten und schließt die Quelldatei
        With Workbooks.Open(Filename:=strDatName)
            .Sheets("Ergebnis").Copy After:=ThisWorkbook.Sheets(anzahlTabbellenblaetter)
            .Close False
        End With

Also ein ganz normales einlesen einer Datei - und ich hätte halt gerne die Option dass man in dem Moment in dem das Fenster zum auswählen offen ist noch abbrechen kann und im Code weiterläuft.

Danke
 Daniel
Antworten Top
#4
Hallo Daniel,

Zitat:ich glaube nicht dass es schlecht programmiert ist

... dann glauben wir das für Dich mit.

Wäre das vernünftig programmiert, würde auch nichts abrauchen. So einfach ist das Leben ... eben.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
[-] Folgende(r) 1 Nutzer sagt Danke an Käpt'n Blaubär für diesen Beitrag:
  • Daniel.Haering
Antworten Top
#5
Ich glaube immer noch dass es nicht nur schlecht programmiert ist - ich meine aber dass da eben noch eine Zusatzfunktion abgeht...
Antworten Top
#6
Hallo Daniel,
 'Vermessung eintragen
 anzahlTabbellenblaetter = ThisWorkbook.Sheets.Count
 
 'Meldung dass Vermessungsdatei ausgewählt werden muss
 SollMaDieGaudiestarten = MsgBox("Soll die Vermessung eingelesen werden? Dann bitte die zum Versuch zugehörige Vermessungsdatei auswählen.", vbYesNo, "Woll ma des wirklich?")
 
 'Entscheidung ob ma starten oder ned...
 If SollMaDieGaudiestarten = 6 Then
   'Variable strDatName zuweisen --> Auswählen der Datei
   strDatName = Application.GetOpenFilename
   If Not CVar(strDatName) = False Then
     'Öffnet Vermessungsdatei, kopiert die Daten und schließt die Quelldatei
     With Workbooks.Open(Filename:=strDatName)
       .Sheets("Ergebnis").Copy After:=ThisWorkbook.Sheets(anzahlTabbellenblaetter)
       .Close False
     End With
   End If
 End If
Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • Daniel.Haering
Antworten Top
#7
Das war genau das was ich gesucht habe - herzlichen Dank für die konstruktive Hilfe!
Antworten Top
#8
Code:
If Dir("G:\OF\beispiel.xlsx")<>"" then
  with getobject("G:\OF\beispiel.xlsx")
    sn=.sheets(1).usedrange
    .close 0
  end with

  thisworkbook.sheets("zusammen").cells(rows.count,1).end(xlup).offset(1).resize(ubound(sn),ubound(sn,2))=sn
end if
Antworten Top
#9
Hallo snb,
Wenn der TE seinen Code noch nicht alleine entsprechend der Fragestellung anpassen konnte, wird er Deinen Code wohl auch nicht verstehen bzw. einbauen können.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#10
Ich glaube schon dass ich den verstehe - das müsste doch so sein wenn ich automatisch nach einer Datei (über Dateiname) in einem Ordner suche.....
Will ich aber nicht - Anwender soll Datei manuell auswählen können, ist nötig falls Daten von verschiedenen Versuchen zusammengeführt werden sollen.
Antworten Top


Gehe zu:


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