05.09.2016, 21:09 (Dieser Beitrag wurde zuletzt bearbeitet: 26.09.2016, 15:06 von Rabe.
Bearbeitungsgrund: redundante Zeilenumbrüche entfernt
)
Hallo, ich will einen Marko erstellen, wo ich mehrere Exceldateien in eine Exceldatei packen will. Jede Datei soll einen Tab bekommen und dann will ich aus allen Tabs .. Spalte A und E in ein Diagramm. Kann mir jemand Tipps bzw.Vorschläge geben.
Spaß beiseite, mir ist schon klar, dass du ein Makro meinst. Mit Makros kann ich dir leider nicht helfen - mein Wissen/Können ist hier nur sehr rudimentär. Aber allgemein: Zeichne mit dem Makrorekorder mal einen Vorgang auf und stelle dann das Makro hier vor. Die Spezialistenwerden dir den Code dann verallgemeinern. Sinnvoll wäre es auch, genauer zu beschreiben, wo du was automatisiert haben möchtest.
Achte auch auf die Nomenklatur. Willst du wirklich mehrere Dateien in eine andere Datei(!) packen? Oder meinst du, dass du Tabellenblätter in eine andere Datei kopieren willst?
06.09.2016, 07:32 (Dieser Beitrag wurde zuletzt bearbeitet: 06.09.2016, 07:36 von WillWissen.
Bearbeitungsgrund: Makro in Codetags gesetzt
)
Code:
Option Explicit Sub zustel() Dim strDatnam As String Dim wb As Workbook Dim ws As Worksheet strDatnam = Dir("C:\Users\MARMUE4\Desktop\STD\*.xlsx") Do While Len(strDatnam) Set wb = Workbooks.Open(strDatnam) Set ws = ThisWorkbook.Sheets.Add ws.Name = Split(strDatnam, Application.PathSeparator)(UBound(Split(strDatnam, Application.PathSeparator))) wb.Sheets(1).Cells.Copy Destination:=ws.Cells wb.Close savechanges:=False strDatnam = Dir Loop Set ws = Nothing Set wb = Nothing End Sub Sub DiaErstellen() Dim wksTab As Worksheet With Worksheets("Diagramm").ChartObjects.Add(0, 0, 450, 300).Chart .ChartType = xlXYScatterSmoothNoMarkers For Each wksTab In Worksheets If wksTab.Name <> "Diagramm" Then With .SeriesCollection.NewSeries .XValues = wksTab.Range("A") .Values = wksTab.Range("E") .Name = wksTab.Range("H2") End With End If Next wksTab End With End Sub End Sub
Das ist das was ich bis jetzt habe.
Also der Makro soll aus einem Ordner mit Exceldatein alle entnehmen und in eine Exceldatei packen. In den vielen Dateien ist jeweils nur die 1 Tabelle belegt und die soll weine Tabelle in der einen Exceldatei bekommen ...d.h. 10 Dateien --> in Exceldatei 10 Tabellen. Aus diesen Tabellen sollen die Spalte A und E in ein Diagramm gebraucht werden. Dabei ist a die x- Achse. Danke.
Sub zustel() Dim strDatnam As String Dim wb As Workbook Dim ws As Worksheet strDatnam = Dir("C:\Users\MARMUE4\Desktop\STD\*.xlsx") Do While Len(strDatnam) If strDatnam <> ThisWorkbook.Name Then Set wb = Workbooks.Open(strDatnam) Set ws = ThisWorkbook.Sheets.Add ws.Name = strDatnam wb.Sheets(1).Cells.Copy Destination:=ws.Cells wb.Close savechanges:=False strDatnam = Dir End If Loop Set ws = Nothing Set wb = Nothing End Sub Sub DiaErstellen() Dim wksTab As Worksheet With Worksheets("Diagramm").ChartObjects.Add(0, 0, 450, 300).Chart .ChartType = xlXYScatterSmoothNoMarkers For Each wksTab In Worksheets If wksTab.Name <> "Diagramm" Then With .SeriesCollection.NewSeries .XValues = wksTab.Range("A:A") .Values = wksTab.Range("E:E") .Name = wksTab.Range("H2") End With End If Next wksTab End With End Sub
Du musst schon sagen, um welches Makro es geht und wo genau es "hängt". Klicke in dem gezeigten Meldungsfenster auf Debuggen. Dann wird die Codezeile gelb markiert.
Gruß Uwe
Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:1 Nutzer sagt Danke an Kuwer für diesen Beitrag 28 • Markus.Jens