Betrifft: Datensätze aus mehreren Tabellenblättern
von: Andrea
Betrifft: AW: Datensätze aus mehreren Tabellenblättern
von: 1712283.html
Geschrieben am: 10.09.2019 15:27:26
Hi Andrea,
hier ein Ansatz:
Dim liBlattNr As Integer
For liBlattNr = 1 To 45
hier dein Code, der alles in csv einträgt
Next
Betrifft: AW: Datensätze aus mehreren Tabellenblättern
von: 1712300.html
Sub Import()
Dim wb As Workbook
Set wb = Workbooks.Open("C:\Users\kneissl\Desktop\Ausarbeitungen\HR\bmd web\Stundenimport\ _
import.xlsx")
Dim Personalnummer As Integer
Dim Kostenträger As String
Dim Datum As String
Dim time1 As Date
Dim time2 As Date
Dim Zähler1 As Integer 'Kalendertage 1-31
Dim liBlattNr As Integer 'Tabellenblätter 1-45
Dim i As Integer 'Startzeile
For liBlattNr = 1 To 45
i = 16
For Zähler1 = 1 To 31
If Worksheets(liBlattNr).Cells(i, 8) <> "" Then 'wenn Uhrzeit von nicht leer
Personalnummer = WorksheetFunction.VLookup(Sheets(liBlattNr).[W9], Sheets("Mitarbeiter").[ _
C3:F300], 4, False)
wb.Sheets("Tabelle1").[A2] = Personalnummer
Kostenträger = Worksheets(liBlattNr).Range("z12").Copy
wb.Sheets("Tabelle1").[B2].PasteSpecial Paste:=xlPasteValues
Datum = DateSerial(Worksheets(liBlattNr).Cells(12, 21), Worksheets(liBlattNr).Cells(12, 19), _
Worksheets("1").Cells(i, 2))
wb.Sheets("Tabelle1").[D2] = Datum
time1 = Worksheets(liBlattNr).Cells(i, 8)
wb.Sheets("Tabelle1").[E2].Value = time1
time2 = Worksheets(liBlattNr).Cells(i, 11)
wb.Sheets("Tabelle1").[F2].Value = time2
wb.Sheets("Tabelle1").Rows("2:2").Select 'in .csv eine Leerzeile einfügen
Selection.Insert shift:=xlDown
End If
i = i + 1
Next Zähler1
Next
wb.Close savechanges:=True
Set wb = Nothing
End Sub
Betrifft: AW: Datensätze aus mehreren Tabellenblättern
von: 1712307.html
Betrifft: AW: Datensätze aus mehreren Tabellenblättern
von: 1712317.html
Betrifft: AW: Datensätze aus mehreren Tabellenblättern
von: 1712369.html
i = 16
For blatt = 1 To ThisWorkbook.Sheets.Count
If Worksheets("1").Cells(i, 8) <> "" Then 'wenn Uhrzeit von nicht leer
Personalnummer = ThisWorkbook.Worksheets(blatt).Range("w9").Copy
wb.Sheets("Tabelle1").[A2] = Personalnummer
Kostenträger = ThisWorkbook.Worksheets(blatt).Range("z12").Copy
wb.Sheets("Tabelle1").[B2].PasteSpecial Paste:=xlPasteValues
Datum = DateSerial(ThisWorkbook.Worksheets(blatt).Cells(12, 21), ThisWorkbook.Worksheets("1" _
).Cells(12, 19), ThisWorkbook.Worksheets("1").Cells(i, 2))
wb.Sheets("Tabelle1").[D2] = Datum
time1 = ThisWorkbook.Worksheets(blatt).Cells(i, 8)
wb.Sheets("Tabelle1").[E2].Value = time1
time2 = ThisWorkbook.Worksheets(blatt).Cells(i, 11)
wb.Sheets("Tabelle1").[F2].Value = time2
Schmutz = ThisWorkbook.Worksheets(blatt).Cells(i, 28).Copy
wb.Sheets("Tabelle1").[G2].PasteSpecial Paste:=xlPasteValues
Erschwernis = ThisWorkbook.Worksheets(blatt).Cells(i, 31).Copy
wb.Sheets("Tabelle1").[h2].PasteSpecial Paste:=xlPasteValues
Gefahr = ThisWorkbook.Worksheets(blatt).Cells(i, 34).Copy
wb.Sheets("Tabelle1").[i2].PasteSpecial Paste:=xlPasteValues
Schweisser = ThisWorkbook.Worksheets(blatt).Cells(i, 37).Copy
wb.Sheets("Tabelle1").[j2].PasteSpecial Paste:=xlPasteValues
Obermonteur = ThisWorkbook.Worksheets(blatt).Cells(i, 40).Copy
wb.Sheets("Tabelle1").[k2].PasteSpecial Paste:=xlPasteValues
wb.Sheets("Tabelle1").Rows("2:2").Select 'in .csv eine Leerzeile einfügen
Selection.Insert shift:=xlDown
End If
i = i + 1
Next
Betrifft: AW: Datensätze aus mehreren Tabellenblättern
von: 1712498.html
Geschrieben am: 11.09.2019 16:17:30
Hallo Matthias!
Spitze! das funktioniert perfekt :) scheiterte wirklich an dem passenden Tabellenblatt!
Vielen lieben Dank für Deine Hilfe!
lg Andrea
Betrifft: wer anderes bitte...
von: 1712327.html
Betrifft: AW: wer anderes bitte...
von: 1712328.html
Geschrieben am: 10.09.2019 17:56:30
Hi Andrea,
sorry, nicht alles, was ich schrieb.
In Zelle W9 sind doch Werte. Aber Tabelle "Mitarbeiter" fehlt.
Ciao
Thorsten