Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
852to856
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
852to856
852to856
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

excel makro auf mehrere dateien anwenden

excel makro auf mehrere dateien anwenden
15.03.2007 15:40:00
Max
Hallo ,
ich habe folgendes problem, ich habe mir ein makro erstellt mit dem makro recorder das mir aus einer excel datei xy 4 verschiedene diagramme generiert.
Soweit läuft auch alles.
Nun möchte ich dieses makro aber auch auf andere Dateien anwenden , also Dateien die zwar strukturell gleich sind , aber einen anderen dateinamen besitzen.
Ansich einfach die statischen dateinamen werte durch variable ersetzen , nur wie ;)
Vielen dank schonmal für die Hilfe
Max
Source:

Sub Makro1()
' Makro1 Makro
Range("A17:H27").Select
Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Sheets("warnstufen_gesamt_n2").Range( _
"A17:H17,A19:H27"), PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="trigger_d"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "Nur Trigger"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = _
"Eigengeschwindigkeit km/h"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Häufigkeit"
End With
With ActiveChart.Axes(xlCategory)
.HasMajorGridlines = True
.HasMinorGridlines = False
End With
With ActiveChart.Axes(xlValue)
.HasMajorGridlines = False
.HasMinorGridlines = False
End With
ActiveChart.HasLegend = True
ActiveChart.Legend.Select
Selection.Position = xlTop
Sheets("warnstufen_gesamt_n2").Select
Range("I33,A17:H17,A30:H38,I33").Select
Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Sheets("warnstufen_gesamt_n2").Range( _
"A17:H17,A30:H38"), PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="now_d"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "NOW"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = _
"Eigengeschwindigkeit km/h"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Häufigkeit"
End With
With ActiveChart.Axes(xlCategory)
.HasMajorGridlines = True
.HasMinorGridlines = False
End With
With ActiveChart.Axes(xlValue)
.HasMajorGridlines = False
.HasMinorGridlines = False
End With
ActiveChart.HasLegend = True
ActiveChart.Legend.Select
Selection.Position = xlTop
ActiveChart.HasDataTable = False
Sheets("warnstufen_gesamt_n2").Select
Range("A17:H17").Select
ActiveWindow.SmallScroll Down:=12
Range("A41:H49").Select
Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Sheets("warnstufen_gesamt_n2").Range( _
"A17:H17,A41:H49"), PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="aw_d"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "AW"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = _
"Eigengeschwindigkeit km/h"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Häufigkeit"
End With
With ActiveChart.Axes(xlCategory)
.HasMajorGridlines = True
.HasMinorGridlines = False
End With
With ActiveChart.Axes(xlValue)
.HasMajorGridlines = False
.HasMinorGridlines = False
End With
ActiveChart.HasLegend = True
ActiveChart.Legend.Select
Selection.Position = xlTop
ActiveChart.HasDataTable = False
Sheets("warnstufen_gesamt_n2").Select
ActiveWindow.SmallScroll Down:=3
Range("A17:H17").Select
ActiveWindow.SmallScroll Down:=15
Range("A17:H17,A52:H60").Select
Range("A52").Activate
Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Sheets("warnstufen_gesamt_n2").Range( _
"A17:H17,A52:H60"), PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="wb_d"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "WB"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = _
"Eigengeschwindigkeit km/h"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Häufigkeit"
End With
With ActiveChart.Axes(xlCategory)
.HasMajorGridlines = True
.HasMinorGridlines = False
End With
With ActiveChart.Axes(xlValue)
.HasMajorGridlines = False
.HasMinorGridlines = False
End With
ActiveChart.HasLegend = True
ActiveChart.Legend.Select
Selection.Position = xlTop
ActiveChart.HasDataTable = False
Sheets("warnstufen_gesamt_n2").Select
ActiveWindow.SmallScroll Down:=-3
Range("A17:H17").Select
ActiveWindow.SmallScroll Down:=27
Range("A17:H17,A63:H71").Select
Range("A63").Activate
ActiveWindow.SmallScroll Down:=-27
Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Sheets("warnstufen_gesamt_n2").Range( _
"A17:H17,A63:H71"), PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="nb_d"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "NB"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = _
"Eigengeschwindigkeit km/h"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Häufigkeit"
End With
With ActiveChart.Axes(xlCategory)
.HasMajorGridlines = True
.HasMinorGridlines = False
End With
With ActiveChart.Axes(xlValue)
.HasMajorGridlines = False
.HasMinorGridlines = False
End With
ActiveChart.HasLegend = True
ActiveChart.Legend.Select
Selection.Position = xlTop
Sheets("warnstufen_gesamt_n2").Select
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
personl.xls
15.03.2007 17:03:13
Beate
Hallo,
Guckst Du: Personl.xls - Die persönliche Makromappe
Das Makro, welches du in die personl.xls eingefügt hast, kannst du dann aus jeder Datei heraus aufrufen.
Gruß,
Beate
AW: personl.xls
16.03.2007 09:07:00
Max
Hi also wenn ich die seite richtig gelesen habe , hab ich glaube ich das Problem falsch beschrieben,
ich habe das Makro in der globalen makro datei, allerdings stehen im code des makros ja calls auf "warnstufen_gesamt_n2" , das ist der dateiname des excels mit dem ich das makro erstellt habe.
So wenn ich nun aber ein zB ein file "Kopie von warnstufen_gesamt_n2" öffne und darauf das makro anwenden will funktioniert das nicht.
So nun sollte es doch die möglichkeit geben diesen string "warnstufen_gesamt_n2" irgendwie durch eine variable zu ersetzen die immer den namen des aktiven files beinhaltet.
mfg Max
Anzeige
AW: personl.xls
16.03.2007 16:11:00
Beate
Hallo Max,
natürlich habe ich deine Umgebung nicht nachgebaut. Aber wenn du das Makro von:
ActiveChart.SetSourceData Source:=Sheets("warnstufen_gesamt_n2").Range( _
"A17:H17,A30:H38"), PlotBy:=xlColumns
in:
ActiveChart.SetSourceData Source:=Range("A17:H17,A30:H38"), PlotBy:=xlColumns
änderst und es dann aufrufst aus dem Blatt, in dem die Daten liegen, sollte es laufen. Egal, wie die Datei heißt. Hauptsache die Tabelle ist so aufgebaut, dass sie zum Makro passt.
Gruß,
Beate
AW: personl.xls
19.03.2007 15:21:00
Max
Ja so gehts auch.
Habs mittlerweile auch gelöst und such mir jetzt die schönere lsg. raus.
Vielen Dank auf jedenfall für deine Resonanz.
Wenn ich mal wieder VBA fragen habe poste ich hier wieder.
Liebe Grüße
Max
Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige