Office: (Office 2016) Excel VBA zwischen geöffneten Dateien wechseln und schließen.

Helfe beim Thema Excel VBA zwischen geöffneten Dateien wechseln und schließen. in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hi zusammen, Meine Arbeitsmappe öffnet via VBA die neueste Datei(auch eine Arbeitsmappe) in einem bestimmten Pfad und öffnet diese. Danach werden... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von CharlotteK, 8. September 2021.

  1. Excel VBA zwischen geöffneten Dateien wechseln und schließen.


    Hi zusammen,

    Meine Arbeitsmappe öffnet via VBA die neueste Datei(auch eine Arbeitsmappe) in einem bestimmten Pfad und öffnet diese. Danach werden Daten hieraus kopiert und in die ursprüngliche Arbeitsmappe kopiert.
    Ich habe ein Problem beim schließen der zweiten Datei.
    Schließe ich sie, bevor ich die Daten in die eigentliche Arbeitsmappe einfüge, geht das Zahlenformat verloren.
    Dachte, dann aktiviere ich eben mein eigentliches Arbeitsblatt und kopiere da die Infos rein und schließe dann wieder die andere Datei.
    Grundsätzlich ist der Gedanke, glaube ich, gar nicht soooo verkehrt.... aber wie kann ich denn ein Workbook aufrufen, ohne, dass ich den Namen wirklich kenne?
    ActiveWorkbook geht ja auch nicht, denn das ist die Datei die das Makro enthält.
    Workbooks(Segmentdatei).Close also analog zu dem Workbooks.Open(Segmentdatei) funktioniert irgendwie auch nicht.
    Hilfe, bitte!

    Code:
    Option Explicit
    
    Sub EinlesenSegmentAufteilung()
    Dim sName       As String
    Dim dDatum      As Date
    Dim Pfad        As String
    Dim dDatum_neu  As Date
    Dim sDatei      As String
    Dim lz          As Integer
    Dim Segmentdatei As Variant
    
    'Löschung der Inhalte in Tabelle Rückmeldung Segmente
       Sheets("Rückmeldung Segmente").Select
       Range("D6:D26").Select
       Selection.ClearContents
     
    'Datei mit Segmentaufteilung im Laufwerk finden
    
       sName = Dir(p_cstrPfadOriginal & "\Segmentaufteilung\AA-BA\" & "*.xlsx")
       dDatum_neu = FileDateTime(p_cstrPfadOriginal & "\Segmentaufteilung\AA-BA\" & sName)
       sDatei = sName
     
       Do While sName <> ""                     ' Schleife beginnen.
          sName = Dir
          If sName <> "" Then
             dDatum = FileDateTime(p_cstrPfadOriginal & "\Segmentaufteilung\AA-BA\" & sName)
             If dDatum > dDatum_neu Then
                dDatum_neu = dDatum
                sDatei = sName
             End If
          End If
       Loop
     
       Segmentdatei = (p_cstrPfadOriginal & "\Segmentaufteilung\AA-BA\" & sDatei)
         
       Workbooks.Open (Segmentdatei)
       Range("I42:I62").Copy
       ActiveWindow.Close 'an dieser Stelle Schließen funktioniert, allerdings geht das Zahlenformat dann beim einfügen verloren
       Windows(p_cstrWBName).Activate
       Sheets("Rückmeldung Segmente").Select
       Range("D6").Select
       ActiveSheet.Paste
     End Sub
    
     
    CharlotteK, 8. September 2021
    #1
  2. Exl121150 Erfahrener User
    Hallo Charlotte,

    vielleicht so:
    Code:
    Option Explicit
    
    Dim p_cstrPfadOriginal As String   '<--- Wert ??
    
    Sub EinlesenSegmentAufteilung()
       Dim sName       As String
       Dim dDatum      As Date
       Dim Pfad        As String
       Dim dDatum_neu  As Date
       Dim sDatei      As String
       Dim lz          As Integer
       Dim Segmentdatei As Variant
      
       Dim WbSeg       As Workbook
       Dim WbAct       As Workbook
       Dim WsAct       As Worksheet
    
    'Löschung der Inhalte in Tabelle Rückmeldung Segmente
       Set WbAct = ActiveWorkbook
       Set WsAct = WbAct.Sheets("Rückmeldung Segmente")
       WsAct.Range("D6:D26").ClearContents
    
    'Datei mit Segmentaufteilung im Laufwerk finden
    
       sName = Dir(p_cstrPfadOriginal & "\Segmentaufteilung\AA-BA\" & "*.xlsx")
       dDatum_neu = FileDateTime(p_cstrPfadOriginal & "\Segmentaufteilung\AA-BA\" & sName)
       sDatei = sName
    
       Do While sName <> ""                     ' Schleife beginnen.
          sName = Dir
          If sName <> "" Then
             dDatum = FileDateTime(p_cstrPfadOriginal & "\Segmentaufteilung\AA-BA\" & sName)
             If dDatum > dDatum_neu Then
                dDatum_neu = dDatum
                sDatei = sName
             End If
          End If
       Loop
    
       Segmentdatei = p_cstrPfadOriginal & "\Segmentaufteilung\AA-BA\" & sDatei
       Set WbSeg = Workbooks.Open(Filename:=Segmentdatei)
      
       WbSeg.ActiveSheet.Range("I42:I62").Copy
     ' ActiveWindow.Close 'an dieser Stelle Schließen funktioniert, allerdings geht das Zahlenformat dann beim einfügen verloren
     ' Windows(p_cstrWBName).Activate
       WsAct.Activate
       WsAct.Paste Destination:=Range("D6")
      
       WbSeg.Close SaveChanges:=False
      
     End Sub
    
    Die Variable "p_cstrPfadOriginal" musste ich provisorisch zu Beginn deklarieren - wird wahrscheinlich bei dir irgendwo anders befüllt.
     
    Exl121150, 8. September 2021
    #2
  3. SUPER!!! Vielen lieben Dank, das funktioniert perfekt!
     
    CharlotteK, 9. September 2021
    #3
Thema:

Excel VBA zwischen geöffneten Dateien wechseln und schließen.

Die Seite wird geladen...
  1. Excel VBA zwischen geöffneten Dateien wechseln und schließen. - Similar Threads - Excel VBA geöffneten

  2. Laufzeitfehler 429 bei VBA

    in Microsoft Excel Hilfe
    Laufzeitfehler 429 bei VBA: Hallo zusammen, ich schreibe gerade in Excel eine Automatische Ping abfrage für IP Adressen. im Anhang finden Sie meinen Code, Tabelle und den Fehler den er ausgibt. Kann man dabei jemand...
  3. VBA: Bestimmte Zellen von einer Excel Datei in die andere (nach Bedienungen)

    in Microsoft Excel Hilfe
    VBA: Bestimmte Zellen von einer Excel Datei in die andere (nach Bedienungen): Guten Morgen zusammen, ich hab gesehen wie hilfreich dieser Forum sein kann und das hier sehr viel Expertise vorhanden ist die mir in meinem Fall weiterhelfen kann. Ich habe folgendes Problem:...
  4. Hilfe

    in Microsoft Excel Hilfe
    Hilfe: Liebe Alle, ich bin ganz neu in diesem Forum und bräuchte Hilfe zu einem Excel Projekt. Ich möchte (siehe Bild 1) das die Felder die dort ausgefüllt werden automatisch in Bild 2 übertragen in...
  5. Link per VBA in Excel als Desktopversion starten

    in Microsoft Excel Hilfe
    Link per VBA in Excel als Desktopversion starten: Hallo zusammen, ich hoffe Ihr könnt mir evtl. weiterhelfen?! Ich habe eine XL Datei in Teams die ich mit anderen Teile. Diese ist per Teams auch so eingestellt, dass die Datei automatisch in XL...
  6. Excel VBA Codes Pivot-Aktualisierung, Kommentare, etc.

    in Microsoft Excel Hilfe
    Excel VBA Codes Pivot-Aktualisierung, Kommentare, etc.: Hallo liebe Office-Hilfe Mitglieder, ich bin seit kurzem hier neu registriert und hätte eine (für mich als absolutem Laien in Sachen VBA) Problemstellung, bei der mir hoffentlich jemand von Euch...
  7. Excel VBA Userform Daten aus Tabelle Auslesen "sverweis"

    in Microsoft Excel Hilfe
    Excel VBA Userform Daten aus Tabelle Auslesen "sverweis": Hallo zusammen, ich lerne umständlich ein wenig VBA. Ich benötige mal einen Code von einem Profi, der mir Anregungen gibt zum Üben und Probieren. Eine Tabelle hat in Spalte A eindeutige numerische...
  8. VBA Daten in Array durch inputbox befüllen lassen

    in Microsoft Excel Hilfe
    VBA Daten in Array durch inputbox befüllen lassen: Hi zusammen, Ich hab mal wieder eine Excel VBA Frage. Kurz zur Erklärung: Ich erhalte von einem Kunden eine Datei mit wiederum seinen Kunden, die ein bestimmtes Produkt gekauft haben(den Sinn...

Users found this page by searching for:

  1. vba zwischen den excel arbeitsmappen wechseln

    ,
  2. VBA ander Arbeitsmappe weseln

    ,
  3. excel vba dateien kopieren

  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden