Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Makro Hilfe
#1
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. 

Danke
Antworten Top
#2
Hi Markus,


Zitat:ich will einen Marko erstellen

na, du bist mir ja einer. :05:  :32:

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?
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#3
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.

Bei mir kommt der Fehler
Antworten Top
#4
Hallo,
(06.09.2016, 06:32)Markus.Jens schrieb: Bei mir kommt der Fehler

ich sehe jetzt spontan hier 2 Fehler:
               .XValues = wksTab.Range("A")
              .Values = wksTab.Range("E")
Gruß Uwe
Antworten Top
#5
Hallo, bei mir kommt das die Datei nicht anerkannt wird die ich auswählen will.
Was muss ich bei den Beiden Fehlern verbessern?
Antworten Top
#6
Hallo,

vielleicht klappt es so?
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)
   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
Gruß Uwe
Antworten Top
#7
Vielen Dank Uwe.

Leider kommt dieser Fehler. Bin Neuling bitte nimm es mir nicht übel wegen evt. dummer Fragen.


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#8
Hallo Markus,

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:
  • Markus.Jens
Antworten Top
#9
Leider kommt jetzt das bei mir :(.

Ich bin leider Neuling. Nimm mir meine dummen Fragen bitte nicht übel. Danke.


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#10
Es hängt einmal der der Zeile wo er die Datei raussucht. Er erkennt den Dateinamen nicht und zum anderen an der Zeile

With Worksheets("Diagramm").ChartObjects.Add(0, 0, 450, 300).Chart.ChartType = xlXYScatterSmoothNoMarkers

Danke.


Angehängte Dateien Thumbnail(s)
   
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste