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

Forumthread: Makro, Excel Datei kopieren und Daten einfügen

Makro, Excel Datei kopieren und Daten einfügen
06.01.2017 14:30:56
Jann
Hallo zusammen
Für die Arbeit muss viele verschiedene Listen erstellen, alle mit dem gleichen Layout etc.. um _
dies zu vereinfachen habe ich folgendes Makro erstellt.

Sub Makro1()
Dim Name, Vorname, PersNr, Eintritt, GebDat, Vorgesetzter, Stellenproz, Abteilung, Kst,  _
Funktion, Bemerkung, ILKO, FormNr
Application.ScreenUpdating = False
Row = 3
Do
Windows("Mitarbeiterliste.xlsm").Activate
Sheets("EAV").Select
Name = Cells(Row, "A").Value
If Name = "End" Then Exit Do
Vorname = Cells(Row, "B").Value
PersNr = Cells(Row, "F").Value
Eintritt = Cells(Row, "E").Value
GebDat = Cells(Row, "D").Value
Vorgesetzter = Cells(Row, "K").Value
Stellenproz = Cells(Row, "C").Value
Abteilung = Cells(Row, "H").Value
Kst = Cells(Row, "G").Value
Funktion = Cells(Row, "J").Value
Bemerkung = Cells(Row, "I").Value
ILKO = Cells(Row, "L").Value
FormNr = Cells(Row, "M").Value
If InStr(FormNr, 1) > 0 Then
Windows("Formular1.xlsx").Activate
Sheets("Vorlage").Select
Cells(3, "C").Value = Name & " " & Vorname
Cells(3, "I").Value = Eintritt
Cells(3, "E").Value = Stellenproz
Cells(4, "C").Value = Kst
Cells(4, "E").Value = ILKO
ActiveWorkbook.SaveCopyAs Filename:=ActiveWorkbook.Path & "\" & Kst & "\" & Name & " " &  _
Vorname & " (1) .xlsx"
End If
Row = Row + 1
Loop Until Row = 250
Range("A1").Select
Application.ScreenUpdating = True
End Sub

Es geht dabei darum, dass ich eine neue Excel-Datei erstelle, dies geschieht durch Kopieren. Die Datei wird von Formular1 kopiert und auch mit Namen abgespeichert. Dies funktioniert einwandfrei. Nun müsste ich noch Namen, Vornamen, Stellenproz, KST und ILKO in die kopierte Variante einfügen und zwar bei allen.
Warum kopierst es alle Listen und speichert diese auch richtig ab, aber es fügt keine Daten ein?
Vielen Dank für eure Hilfe.
Gruss
Anzeige

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

Betreff
Datum
Anwender
Anzeige
Makro, Excel Datei kopieren und Daten einfügen
06.01.2017 16:03:50
Michael
Hi,
versuch mal:
Sub neu()
Dim z& ' & = as long, z wie Zeile
Dim datei$ ' $ = as string
Dim a  ' ohne Angabe = as Variant, a wie "Array"
Const rowMin = 3, rowMax = 250
Windows("Mitarbeiterliste.xlsm").Activate
a = Sheets("EAV").Range("A" & rowMin & ":M" & rowMax)
' damit sind alle Werte von "A3:M250" im Array a
Windows("Formular1.xlsx").Activate
z = 1
While a(z, 1)  "End"
If val(a(z, 13)) > 0 Then  ' 13 = Spalte M
With Sheets("Vorlage")
.Range("C3") = a(z, 1) & " " & a(z, 2)
.Range("I3") = a(z, 5)
.Range("E3") = a(z, 3)
.Range("C4") = a(z, 7)
.Range("E4") = a(z, 12)
End With
datei = "\" & a(z, 7) & "\" & a(z, 1) & "_" & a(z, 2) & "_(1).xlsx"
ActiveWorkbook.SaveCopyAs Filename:=ActiveWorkbook.Path & datei
End If
z = z + 1
Wend
End Sub

Die beiden Dateien gezipt, damit die Dateinamen passen: https://www.herber.de/bbs/user/110374.zip
Vorsicht!!! Überschreibe damit nicht Deine Originale!
Schöne Grüße,
Michael
Anzeige
AW: Makro, Excel Datei kopieren und Daten einfügen
06.01.2017 16:24:44
Jann
Hey Michael!
Danke dir tausend mal! Hat super geklappt!
Schönes Wochenende!
freut mich, gern geschehen,
06.01.2017 17:03:21
Michael
Jann,
Dir auch & Gruß,
Michael
;

Forumthreads zu verwandten Themen

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