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

Dynamisches Makro?

Dynamisches Makro?
03.05.2006 15:28:33
Andi
Schönen guten Nachmittag,
habe ein Makro geschrieben, dass ich auf einen Button gelegt habe. Bei Ausführung wird ein bestimmter Bereich in ein Diagramm dargestellt.
Gibt es eine Möglichkeit, dass ich nur einen Teil des Tabelleblatts markiere und dann das Makro nur für diesen markierten Bereich ausführen lasse? Also quasi dynamisch?
Danke
Gruß
Andi

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dynamisches Makro?
03.05.2006 15:40:20
ANdreas
Hallo Andi,
sollte schon gehen, das Makro kann ja den markierten Teil auslesen (Selection) und diesen abstand des im Code statitisch angegebenen Bereiches (z.B. Range("A1:A20")) verwenden.
Gruß
Andreas
AW: Dynamisches Makro?
03.05.2006 16:00:35
Andi
Hi Andreas,
das klingt ja schonmal gut. Wie muss ich das denn ins Makro schreiben?
Statt des Bereichs einfach ...?
Danke
Andi
AW: Dynamisches Makro?
03.05.2006 16:04:12
ANdreas
Hallo Andi,
wie ich schrieb: Selection
Damit Du es besser verstehst was das ist, nimm doch mal ein kleines Testmakro:

Sub Test()
MsgBox "Aktuell markierter Bereich ist: " & Selection.Address(0, 0)
End Sub

Gruß
Andreas
Anzeige
AW: Dynamisches Makro?
03.05.2006 16:11:00
Andi
ich steh wohl auf dem schlauch
Also hier ist mein Code...
ActiveChart.ChartType = xlLine
ActiveChart.SetSourceData Source:=Sheets("Vergleich").Range("E1:AI1,E15:AI18") _
, PlotBy:=xlRows
Was muss ich jetzt statt ".Range..." einsetzen?
einfach nur "& Selection.Address(0, 0)" fumktioniert ja nicht.
Danke
Gruß
Andi
AW: Dynamisches Makro?
03.05.2006 16:16:39
ingoG
Hallo Andi,
versuchs mal so...
ActiveChart.ChartType = xlLine
ActiveChart.SetSourceData Source:=Sheets("Vergleich").Range("E1:AI1," & selection.address) _
, PlotBy:=xlRows
hierbei mußt du allerdings selber darauf achten, dass du vorher einen sinnvollen bereich markiert hast oder du musst es programmtechnisch sicherstellen ;-)
Gruß Ingo
PS eine Rückmeldung wäre nett...
Anzeige
AW: Dynamisches Makro?
03.05.2006 16:22:42
Andi
habe es fast geschafft.
das diagramm macht er richtig, aber trotzdem meldet sich der Debugger in dieser zeile.
hier mal der code
ActiveChart.SetSourceData Source:=Sheets("Vergleich").Range("& selection.address") _
, PlotBy:=xlRows
was läuft da falsch?
Danke!
Andi
AW: Dynamisches Makro?
03.05.2006 16:26:33
ingoG
Hallo Andi,
warum hast Du meine Version nicht einfach übernommen?
mit Deiner Lösung muß mE ein Fehler kommen, da der String den Du an Range übergibst so nicht ok ist.
wenn schon dann:
ActiveChart.SetSourceData Source:=Sheets("Vergleich").Range( selection.address) _
, PlotBy:=xlRows
Dann gibst Du ihm aber keine Überschriften mit...
Gruß Ingo
Anzeige
AW: Dynamisches Makro?
03.05.2006 16:33:58
Andi
Hallo Ingo,
die Überschriften richten sich nach der Auswahl und können daher nicht pauschal übergeben werden. Muss also 2 bereiche markieren.
habe jetzt deine letzte version übernommen - trotzdem meckert der Debugger (Laufzeitfehler 483 - Objekt unterstützt diese Eigenschaft oder Methode nicht)
Gruß
Andi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige