Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Excel Daten auslesen

VBA Excel Daten auslesen
21.02.2020 08:53:10
Wrona
Hallo in die Runde,
habe folgendes Problem, ich speichere eine Datei wie folgt:
pfad = "Y:\Zwischenablage\" & Format(Export.Sheets("Journal").Range("J1"), "YYYY") & "-" & Format(Export.Sheets("Journal").Range("J1"), "MM")
dateiname = Replace(Export.Sheets("Journal").Range("H1"), " ", "") & "_" & Export.Sheets("Journal").Range("B1")
Zelle J1 steht Datum in der Form Januar (01.01.2020)
Zelle H1 steht die Dienstgruppe (DG12)
Zelle Be steht der Name in der Form (Name,Vorname)
der Dateiname sieht dann wie folgt: 2020-01DG12_Name,Vorname
wie kann ich bei der nächsten Speicherung wäre hier die Datei 2020-02DG12_Name,Vorname die Daten einer bestimmten Zelle aus dem Vormonat (2020-01DG12_Name,Vorname) auslesen, stehe bisssl auf dem Schlauch.
Danke schon mal im voraus.
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Excel Daten auslesen
21.02.2020 09:34:06
fcs
Hallo Wrona,
dann musst du dir Pfad/Dateiname für den Vormonat in Variablen "zusammenbasteln", die Vormonatsdatei kurz schreibgeschützt öffnen, Wert in Variable auslesen und Datei wieder schliessen.
Ungetestet kann das etwa wie folgt aussehen.
Sub Test()
Dim export As Workbook
Dim pfad As String, dateiname As String
Dim pfadVM As String, dateinameVM As String, wkbVM As Workbook, varWertVM
Dim Jahr As Integer, Monat As Integer
Jahr = Year(export.Sheets("Journal").Range("J1").Value)
Monat = Month(export.Sheets("Journal").Range("J1").Value)
If Monat = 1 Then
pfadVM = "Y:\Zwischenablage\" & Format(Jahr - 1, "0000") & "-" & Format(12, "00")
dateinameVM = Replace(export.Sheets("Journal").Range("H1"), " ", "") & "_" _
& export.Sheets("Journal").Range("B1")
Else
pfadVM = "Y:\Zwischenablage\" & Format(Jahr, "0000") & "-" & Format(Monat - 1, "00")
dateinameVM = Replace(export.Sheets("Journal").Range("H1"), " ", "") & "_" _
& export.Sheets("Journal").Range("B1")
End If
dateinameVM = Dir(pfadVM & dateinameVM & ".xls*")
If dateinameVM = "" Then
MsgBox "Datei für den Vormonat existiert nicht!"
varWertVM = "kein Wert"
Else
Application.ScreenUpdating = False
Set wkbVM = Application.Workbooks.Open(pfadVM & dateinameVM, ReadOnly:=True)
varWertVM = wkbVM.Worksheets("Blattname").Range("C7").Value 'Name und Zelle anpassen!
wkbVM.Close savechanges:=False
Application.ScreenUpdating = True
End If
pfad = "Y:\Zwischenablage\" & Format(export.Sheets("Journal").Range("J1"), "YYYY") & "-" &  _
Format(export.Sheets("Journal").Range("J1"), "MM")
dateiname = Replace(export.Sheets("Journal").Range("H1"), " ", "") & "_" _
& export.Sheets("Journal").Range("B1")
End Sub

Anzeige
AW: VBA Excel Daten auslesen
21.02.2020 11:33:01
Darius
fcs Vielen Dank für die schnelle Antwort,
muss zugeben das ich was vergessen habe, die Zelle die ich aus dem Vormonat auslesen möchte ist E75 und der Wert aus dieser Zelle soll in den aktuellen Monat in die Zelle E74 übernommen werden,
Sorry für die Umstände und Danke!
AW: VBA Excel Daten auslesen
21.02.2020 20:20:23
fcs
Hallo Darius,
dann etwa so - nicht vergessen den Namen des Blattes anzupassen in den Zeilen mit Kommentar!
LG
Franz
Sub Test()
Dim export As Workbook
Dim pfad As String, dateiname As String
Dim pfadVM As String, dateinameVM As String, wkbVM As Workbook, varWertVM
Dim Jahr As Integer, Monat As Integer
Jahr = Year(export.Sheets("Journal").Range("J1").Value)
Monat = Month(export.Sheets("Journal").Range("J1").Value)
If Monat = 1 Then
pfadVM = "Y:\Zwischenablage\" & Format(Jahr - 1, "0000") & "-" & Format(12, "00")
dateinameVM = Replace(export.Sheets("Journal").Range("H1"), " ", "") & "_" _
& export.Sheets("Journal").Range("B1")
Else
pfadVM = "Y:\Zwischenablage\" & Format(Jahr, "0000") & "-" & Format(Monat - 1, "00")
dateinameVM = Replace(export.Sheets("Journal").Range("H1"), " ", "") & "_" _
& export.Sheets("Journal").Range("B1")
End If
dateinameVM = Dir(pfadVM & dateinameVM & ".xls*")
If dateinameVM = "" Then
MsgBox "Datei für den Vormonat existiert nicht!"
varWertVM = "kein Wert"
Else
Application.ScreenUpdating = False
Set wkbVM = Application.Workbooks.Open(pfadVM & dateinameVM, ReadOnly:=True)
varWertVM = wkbVM.Worksheets("Blattname").Range("E75 ").Value 'Blatt-Name anpassen!!!
wkbVM.Close savechanges:=False
Application.ScreenUpdating = True
End If
pfad = "Y:\Zwischenablage\" & Format(export.Sheets("Journal").Range("J1"), "YYYY") & "-" &  _
Format(export.Sheets("Journal").Range("J1"), "MM")
dateiname = Replace(export.Sheets("Journal").Range("H1"), " ", "") & "_" _
& export.Sheets("Journal").Range("B1")
export.Worksheets("Blattname").Range("E74 ").Value= varWertVM  'Blatt-Name anpassen!!!!
End Sub

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige