Office: (Office 365) per VBA in Datei springen und wieder in Ausgangs Datei zurück

Helfe beim Thema per VBA in Datei springen und wieder in Ausgangs Datei zurück in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich versuche mal mein Problem zu beschreiben. Ich habe zwei Dateien "Zählerstände" und "Abrechnung" Die Datei "Abrechnung" ist leer und... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Cherished, 3. Juli 2023.

  1. Cherished hat Ahnung

    per VBA in Datei springen und wieder in Ausgangs Datei zurück


    Hallo zusammen,
    ich versuche mal mein Problem zu beschreiben.
    Ich habe zwei Dateien "Zählerstände" und "Abrechnung"
    Die Datei "Abrechnung" ist leer und wird immer unter dem Aktuellem Jahr neu abgespeichert. z.B "Abrechnung_2022"
    Ich spring dann, von der Datei "Abrechnung_2022" auf die Datei "Zählerstände". Das ist kein Problem.
    Nun möchte aber wieder in Datei "Abrechnung_2022" zurückspringen. Das ist mein Problem da sich ja der Speichername jedes Jahr ändert.
    Habe schon einige Lösungen gefunden aber dort springt man immer nur von Tabellenblatt zu Tabellenblatt, nie von Datei zu Datei.
    Oder ich geben einfach die falschen Suchwörter ein.per VBA in Datei springen und wieder in Ausgangs Datei zurück *;)*
    Ich hoffe ich konnte das problem einigermaßen erklären.
    Gruß
    Martin
     
    Cherished, 3. Juli 2023
    #1
  2. Klaus-Dieter Erfahrener User
    Hallo Martin,

    warum zwei Dateien, für etwas, das zusammen gehört? Genauso überflüssig ist es, für jedes Jahr eine neue Liste anzulegen.
     
    Klaus-Dieter, 3. Juli 2023
    #2
  3. Cherished hat Ahnung
    Hallo Klaus-Dieter
    generell hast du Recht.
    So habe ich auch mal angefangen.(Mit einer Datei)
    Zur genauer Erklärung:
    Wobei vielleicht hast du schon erraten es geht um eine Nebenkostenabrechnung (Privat)
    In der Datei "Abrechnung" werden die Komplette Berechnungen gemacht. Heizung, Umlegbare Kosten usw
    Wenn ich nun den Wasserverbrauch z.b Jahr 2022 machen will brauche ich natürlich die Zählerstände vom Vorjahr. So weit so gut.
    Aber was mache ich im Jahr 2023? Natürlich könnte ich die Datei 2022 aufmachen und alle alten Daten löschen und dann unter 2023 abspeichern. Das ist aber nicht rentabel. Deshalb hatte ich die Idee mit den zwei Dateien.
    Gruß
    Martin
     
    Cherished, 3. Juli 2023
    #3
  4. Beverly
    Beverly Erfahrener User

    per VBA in Datei springen und wieder in Ausgangs Datei zurück

    Hi Martin,

    was versehst du unter "in die andere Datei springen"? Arbeitest du dann dort von Hand weiter oder bearbeitest und holst du dir dort nur Daten per VBA? Und in welcher Mappe befindet sich dein Code? Wenn du nur Daten bearbeitest/holst und sich der Code in der Mappe "Abrechnung" befindet, kannst du die andere Mappe mit ihrem Nahmen ansprechen - Workbooks("Zählerstände"). Die Mappe "Abrechnung" dagegen kannst du mit ThisWokbook ansprechen und musst auch überhaupt nicht in die andere Datei wechseln.


    per VBA in Datei springen und wieder in Ausgangs Datei zurück Grußformelper VBA in Datei springen und wieder in Ausgangs Datei zurück Beverly's Excel - Inn
     
    Beverly, 4. Juli 2023
    #4
  5. Cherished hat Ahnung
    Hallo Karin,
    das mit dem Ansprechen habe ich schon hinbekommen. Der Weg zurück ist das problem. Ich sage mal so ich öffne die Datei "Zählerstände" von der Datei "Abrechnung" oder halt auch von der Datei "Abrechnung_2022" an.
    Wie in post#3 beschrieben hatte ich in der Datei "Abrechnung" auch alle Zählerstände. (Abrechnungsjahr und Vorjahre) Diese habe ich dann unter dem Aktuellen Abrechnungsjahr abgespeichert (Abrechnung_2022). Diese Datei bearbeite ich dann weiter. Jetzt kann es aber vorkommen, sollte nicht, das ein Zähler vergessen wurde ist ,einzutragen. Diesen trage ich dann in die Datei Abrechnung_2022 ein und alles läuft weiter richtig. Jetzt kommt's. Bei der Abrechnung 2023 fehlt mir die vergessene Zählerstände in der Datei "Abrechnung" Deshalb dachte ich, mache zwei Dateien.
    Hoffen ich konnte es noch weiter ausführen.
    Würde gerne nur mit einer Datei arbeiten aber ich weiß nicht wie.
    Vielleich hast jemand anderes, oder sogar du, eine Ansatz. Bin da völlig offen.
    Danke
    Gruß
    Martin
     
    Cherished, 4. Juli 2023
    #5
  6. Beverly
    Beverly Erfahrener User
    Hi Martin,

    wenn ein Zählerstand bei der Abrechnung 2022 vergessen wurde - inwiefern fehlt er dann auch bei der Abrechnung 2023?

    Und generell zu deinen mehreren Mappen: wie wäre es, wenn du ALLES in eine einzige Mappe einträgst, also komplett alle Zählerstände in ein Tabellenblatt, und für jedes Jahr ein eigenes Tabellenblatt anlegst?


    per VBA in Datei springen und wieder in Ausgangs Datei zurück Grußformelper VBA in Datei springen und wieder in Ausgangs Datei zurück Beverly's Excel - Inn
     
    Beverly, 4. Juli 2023
    #6
  7. Cherished hat Ahnung
    Hallo Karin,
    ich habe mich wohl nicht so genau ausgedrückt.
    Die Datei "Abrechnung" hat, wie gesagt keine Daten außer Zählerstände aus den Vorjahr, und die ganzen Formel um die Kosten ,Verbräuche zu berechnen.
    Habe mal eine Beispieldatei angefügt. Diese ist aus den Anfangszeiten, und hat noch einige Fehler. Aber es Verdeutlicht wie sie aussieht.
    Von dieser Datei starte ich dann immer um ein neues Abrechnungsjahr zu beginnen.
    Deshalb würde ein nicht eingetragener Zählerstand fehlen da man ihn ja nur in der Datei "Abrechnung_2022" eintragen hat und nicht in der Datei "Abrechnung". Und dieser würde dann fehlen um die Berechnung für das Folgejahr zu machen
    Wie gesagt, würde ich auch gerne die Zählerstände nicht auf eine separate Datei anlegen.
    Mir ist aber eh ein neuer Gedanke gekommen. Ich arbeite gerade an einem Code, der vor dem eigentlichem speichern (z.B "Abrechnung_2022") überprüft ob alle Zählerstände vom Aktuellem Abrechnungsjahr eingetragen sind.
    Gruß
    Martin
     
    Cherished, 5. Juli 2023
    #7
  8. Beverly
    Beverly Erfahrener User

    per VBA in Datei springen und wieder in Ausgangs Datei zurück

    Hi Martin,

    mal eine generelle Frage: weshalb werden fehlende Zählerständen denn überhaupt erst in die Mappe des laufenden Jahres eingetragen und nicht in die Mappe "Zählerstände"? Dafür sollte diese doch eigentlich da sein und quasi als "Datenbank" fungieren, was die Arbeit wesentlich erleichtern würde.


    per VBA in Datei springen und wieder in Ausgangs Datei zurück Grußformelper VBA in Datei springen und wieder in Ausgangs Datei zurück Beverly's Excel - Inn
     
    Beverly, 5. Juli 2023
    #8
  9. Cherished hat Ahnung
    Hallo Karin,
    ach bin ich doof.
    ich schreib per UserForm die Zählerstände in die Datei "Abrechnung", mit folgendem Code rein
    Code:
     Worksheets("Zählerinfos").AutoFilterMode = False
    Dim last As Integer
    Dim c As Control
    last = Worksheets("Zählerinfos").Cells(Rows.Count, 1).End(xlUp).Row + 1
       'ZählerNr
      Cells(last, 1).Value = CLng(ZählerNr)
       'Datum von
       Cells(last, 2).Value = CDate(Datum_Von)
       'Datum bis
       Cells(last, 3).Value = CDate(Datum_Bis)
       'Stockwerk
       Cells(last, 4).Value = Stockwerk
       'Zählerart
       Cells(last, 5).Value = Zählerart
       'Stand bis KWh
     If Stand_bis_KW <> "" Then
       Cells(last, 8).Value = CDec(Stand_bis_KW)
       End If
       'Stand bis m³
     If Stand_bis_m3 <> "" Then
       Cells(last, 9).Value = CDec(Stand_bis_m3)
       End If
       'Stand bis HT
     If Stand_bis_HT <> "" Then
       Cells(last, 12).Value = CDec(Stand_bis_HT)
       End If
       'Stand bis NT
     If Stand_bis_NT <> "" Then
       Cells(last, 13).Value = CDec(Stand_bis_NT)
     End If
     'löscht alle Inhalter
     
    For Each c In Zähler_Stände_eintragen.Controls
    If TypeOf c Is MSForms.TextBox Then
    c = ""
    End If
    If TypeOf c Is MSForms.ComboBox Then
    c = ""
    
    End If
    Next
    ZählerNr.SetFocus
    End Sub
    wie müsste ich diesen Umschreiben das die Daten in die Datei "Zählerstände" geschrieben werden
    der Pfad ist : "C:\Users\guent\Documents\martin\Ertingen\Abrechnung ab 2021\Ertingen Zählerstände.xlsm"
    Dann wäre es nämlich egal von welcher Datei ich die Daten hineinschreibe.
    Ich bin froh das du so nachgefragt hast.
    Danke
    Gruß
    Martin
     
    Cherished, 5. Juli 2023
    #9
  10. Beverly
    Beverly Erfahrener User
    Hi Martin,

    zuerst müsstest du natürlich die Mappe "Zählerstände" öffnen, denn nur in eine offene Mappe kann geschrieben werden. Das ganze dann z.B. nach diesem Prinzip:

    Code:
        Dim last As Long  '<== Variable für Zeilennummer besser als Long dimensionieren
        With Workbooks.Open("C:\Users\guent\Documents\martin\Ertingen\Abrechnung ab 2021\Ertingen Zählerstände.xlsm")
            With Worksheets("Tabelle1")  '<== Name Tabellenblatt anpassen
                last = .Cells(Rows.Count, 1).End(xlUp).Row + 1
                .Cells(last, 1).Value = CLng(ZählerNr)
              
                '... usw.
              
              
            End With
            ' Zählerstände speichern und schließen
            .Close True
        End With
    
    


    per VBA in Datei springen und wieder in Ausgangs Datei zurück Grußformelper VBA in Datei springen und wieder in Ausgangs Datei zurück Beverly's Excel - Inn
     
    Beverly, 5. Juli 2023
    #10
  11. Cherished hat Ahnung
    Hallo Karin,
    Danke.
    konnte das ganze noch nicht so richtig testen., den durch die Trennung auf zwei Dateien bekomme ich bei den anderen Code Fehlermeldungen die früher auf das Tabellenblatt "Zählerinfos" zugegriffen haben.
    Diese muss ich erstmal umschreiben.
    Außerdem habe ich leider den Überblick verloren welche Datei gerade die richtige ist. Das kommt davon wenn man sich kein Konzept erarbeitet. Ich probiere halt einfach aus.
    Werde aber berichten ob es geklappt hat, was bestimmt der fall sein wird, denn von Dir habe ich auch schon den ein oder anderen Code übernommenper VBA in Datei springen und wieder in Ausgangs Datei zurück *:)*
    Gruß
    Martin
     
    Cherished, 6. Juli 2023
    #11
  12. Cherished hat Ahnung
    Hallo Karin,
    da bin ich wieder.
    Wie erwartet hat dein Code Funktioniert.
    Doch muss ich doch noch was Fragen.
    Die Combobox fülle ich (wegen der Übersicht) nur mit den Zählernr. vom Vorjahr.
    Wie kann ich trotzdem manuelle Eintragungen vornehmen?
    Code zum Filtern
    Code:
    Private Sub UserForm_Initialize()
     Dim sPfad As String
     Dim wbQuelle As Workbook
     Dim cell As Range
     Dim fil As Range
    'Pfad der Zählerinfos
    sPfad = "C:\Users\guent\Documents\martin\neuer Versuch Abrechnung\Ertingen Zählerstände.xlsm"
    
    'Datei Zählerinfos öffnen
    Set wbQuelle = Workbooks.Open(sPfad)
      wbQuelle.Worksheets(1).ListObjects("Tab_Zaehler_Staende").AutoFilter.ShowAllData
    Dim rng As Range
    
    Dim Bis As Date
    Dim Von As Date
     Bis = DateAdd("yyyy", -1, ThisWorkbook.Worksheets("Verbrauchsberechnung").Range("b3"))
     Von = DateAdd("yyyy", 0, ThisWorkbook.Worksheets("Verbrauchsberechnung").Range("a3"))
    Set rng = wbQuelle.Worksheets(1).ListObjects("Tab_Zaehler_Staende").Range
    rng.AutoFilter 5, ">=" & CDbl(Bis)
    rng.AutoFilter 4, "<" & CDbl(Von)
    Set fil = wbQuelle.Worksheets(1).Range("Tab_Zaehler_Staende[ZählerNr]").SpecialCells(xlCellTypeVisible)
    For Each cell In fil
        ZählerNr.AddItem cell.Value
    Next cell
    
    End Sub
    Liegt es vielleicht daran schon, das ich keine manuellen Eintragungen machen kann?
    Ich habe gelesen das man im Eigenschaft Feld "Style 0- frmStyleDropDownCombo "
    auswählen soll. Das bring aber auch nicht das gewünschte Ergebnis
    Muss ich die Datei, nach deinem Code, eigentlich noch öffnen? Offen ist sie ja schon.
    Das ist nicht so wichtig funktioniert ja.
    Danke
    Gruß
    Martin
     
    Cherished, 10. Juli 2023
    #12
  13. Beverly
    Beverly Erfahrener User

    per VBA in Datei springen und wieder in Ausgangs Datei zurück

    Hi Martin,

    meinst du, dass du in der ComboBox keine Einträge machen kannst wenn diese nicht in der Liste vorhanden sind? Dafür ist die Eigenschaft "MatchRequired" zuständig - diese muss auf False stehen (steht sie standardmäßig auch).


    per VBA in Datei springen und wieder in Ausgangs Datei zurück Grußformelper VBA in Datei springen und wieder in Ausgangs Datei zurück Beverly's Excel - Inn
     
    Beverly, 10. Juli 2023
    #13
  14. Cherished hat Ahnung
    Hallo Karin
    genau.
    Sobald ich eine Zahl Anfange, wird die Nächstmögliche Zahl angezeigt und ich kann keine weitere Zahlen eintragen.
    Die Eigenschaft ist auf False eingestellt.
    Gruß
    Martin
     
    Cherished, 10. Juli 2023
    #14
  15. Beverly
    Beverly Erfahrener User
    Hi Martin,

    du musst dann einfach die ComboBox öffnen und den richtigen Eintrag auswählen.


    per VBA in Datei springen und wieder in Ausgangs Datei zurück Grußformelper VBA in Datei springen und wieder in Ausgangs Datei zurück Beverly's Excel - Inn
     
    Beverly, 10. Juli 2023
    #15
Thema:

per VBA in Datei springen und wieder in Ausgangs Datei zurück

Die Seite wird geladen...
  1. per VBA in Datei springen und wieder in Ausgangs Datei zurück - Similar Threads - VBA Datei springen

  2. offene Word-Datei per VBA speichern

    in Microsoft Excel Hilfe
    offene Word-Datei per VBA speichern: Guten Abend zusammen, mit dem nachfolgenden Code öffne ich ein OLE-Objekt (Word-Datei) aus Excel heraus. Sheets("WORD").Select ActiveSheet.Shapes.Range(Array("Object 7")).Select...
  3. VBA Variableninhalt nach import aus zwei verschiedenen Dateien verschieden >Leer< und >""<

    in Microsoft Excel Hilfe
    VBA Variableninhalt nach import aus zwei verschiedenen Dateien verschieden >Leer< und >""<: Halle Excel Freaks, nach dem Import in eine Exelmappe aus einer anderen Mappe greife ich auf eine Zelle zu. In beiden Mappen steht in der Zelle nichts Beim Debuggen ist mir aufgefallen:...
  4. Datum einer Datei per VBA auslesen

    in Microsoft Access Hilfe
    Datum einer Datei per VBA auslesen: Hallo, ich möchte mit Access VBA das Änderungsdatum einer Excel-Datei auslesen. Hat vielleicht einer eine Idee oder so etwas schon mal gemacht? Über jede Hilfe wäre ich sehr dankbar. liebe Grüße...
  5. Datei in mehreren Ordnern suchen und wenn gefunden öffnen?! Macro / VBA

    in Microsoft Excel Hilfe
    Datei in mehreren Ordnern suchen und wenn gefunden öffnen?! Macro / VBA: Hallo Leute, Hoffentlich könnt ihr mir hier helfen, ich krieg den Syntax einfach nicht hin (wahrscheinlich ist es auch totaler käse den ich programmiert habe). Also im Grunde soll eine Datei...
  6. Aufrufen Datei aus SharePoint per VBA

    in Microsoft Access Hilfe
    Aufrufen Datei aus SharePoint per VBA: Wer kann mir helfen. In meiner Firma gibt es Dateien in diversen Ordner in Form von SharePoints, worauf alle Kolleginnen und Kollegen zugreifen kann. Dort habe ich eine Excel-Vorlage, worin die...
  7. einzelne Spalten in neue Dateien kopieren

    in Microsoft Excel Hilfe
    einzelne Spalten in neue Dateien kopieren: Hallo zusammen, ich brauche ein wenig Hilfestellung: Ich habe eine Tabelle (exemplarisch) Titel A Titel B Spalte A Spalte B...
  8. Dateien über vba öffnen,zwischen Arbeitsmappen springen/aktivieren

    in Microsoft Excel Hilfe
    Dateien über vba öffnen,zwischen Arbeitsmappen springen/aktivieren: Hallo, ich habe folgendes folgendes Anliegen. Ich will in meiner datei ein makro ausführen, welche eine andere Datei öffnet und sich von dort aus verschiedene Spalten kopiert. Das funktioniert...
  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