Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1740to1744
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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.

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

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige