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. CharlotteK Neuer User

    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. CharlotteK Neuer User
    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. VBA duplikate finden und auf Kriterien prüfen

    in Microsoft Excel Hilfe
    VBA duplikate finden und auf Kriterien prüfen: Liebe Excel Gemeinschaft Ich möchte gerne mit VBA code Doppelte Einträge finden und 2 Kriterien sollen Geprüft werden un anderen spalte. Zu guter letzte sollte in einer weiter die...
  3. PivotCache.CreatePivotTable.. manchmal gehts, manchmal nicht?!

    in Microsoft Excel Hilfe
    PivotCache.CreatePivotTable.. manchmal gehts, manchmal nicht?!: Hallo zusammen, ich programmiere zurzeit für ein Projekt ein VBA Programm, dass aus einer Inputdatei Daten in einer Pivot Tabelle darstellt. Prinzipiell funktioniert das Programm. Allerdings ist...
  4. Makro kopieren

    in Microsoft Excel Hilfe
    Makro kopieren: Hallo zusammen, ich habe zwei Tabellen, wo ich aktuell über 2 Makro Buttons folgende Funktionen erfülle : z.B. Button 1 - Ausgewählten Text in Tabelle 1 Spalte "B" kopieren nach Tabelle 2 Spalte...
  5. Werte der letzten Zelle einer Spalte in mehreren Tabellenblättern ermitteln

    in Microsoft Excel Hilfe
    Werte der letzten Zelle einer Spalte in mehreren Tabellenblättern ermitteln: Hallihalllo, Ich sitze gerade an meine Bachelorarbeit und muss mittels VBA ein Auswertungsprogramm für erhobene Daten erarbeiten. Ich suche schon ewig im Internet nach dem passenden Code und...
  6. Excel VBA Problem create button

    in Microsoft Excel Hilfe
    Excel VBA Problem create button: Hallo liebe Community, ich hoffe ihr könnt helfen, bin am verzweifeln und kann den Fehler einfach nicht finden. Wir haben eine aufwendig gestallte Excel Liste, wo wir unter anderem Button...
  7. Excel mit Macro oder VBA für Android Tablet

    in Microsoft Excel Hilfe
    Excel mit Macro oder VBA für Android Tablet: Hallo, ich suche eine Möglichekeit eine Tabelle auf dem Tablet unter Android laufen zu lassen. Bin nicht sehr fortgeschritten aber motiviert. Über und unter einem Feld habe ich ich Buttons die...
  8. Excel-VBA Werte addieren und in nächste freie Zelle eintragen

    in Microsoft Excel Hilfe
    Excel-VBA Werte addieren und in nächste freie Zelle eintragen: Hallo zusammen, ich hab ein kleines Problem und komme leider nicht wurklich voran. Ich habe eine Datei zu einem Produkt. Dort sind für eine bestimmtes Bestelldatum und Ausführungstag die Werte...

Users found this page by searching for:

  1. 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