Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1348to1352
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
Inhaltsverzeichnis

AktiveSheet Konvention

AktiveSheet Konvention
13.02.2014 14:13:17
Härte10
Hallo,
versuche mit meinem Pidgin-VBA ein Makro zu basteln. (Excel 2010)
Zunächst einmal zu meinem Verständnis.
Habe ich richtig erkannt, dass ich einem Arbeitsblatt (sheet) einen nahezu beliebigen Namen geben kann (mit Leerzeichen, Bindestrichen, etc) und diesen mit
Msgbox Activesheet.name auch anzeigen lassen kann .... aber wenn ich zB.
ActiveChart.PlotArea.Select oder ActiveChart.SeriesCollection(1).XValues = ActiveSheet.Name & "!x1value" oä. benutzen will, muss ich mich an die alte DOS-Namenskonvention 8.3 halten ?

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

Betreff
Datum
Anwender
Anzeige
Jein! In PfadAngaben u.Vglbarem wird der ...
13.02.2014 14:56:57
Luc:-?
…ganze Pfad bis vor dem !, also inkl Blattname in solchen Fällen in Apostrophs gesetzt, Hardy;
zB so 'name'!, dann folgt (muss folgen, sonst wäre das Bisherige überflüssig) eine Zell(Bereichs)Adresse (ein Value hat hier nichts zu suchen, das ist nur bei reinen Wertübergaben in VBA sinnvoll (und dann auch mit Pkt), nicht beim Aufbau von Adressen. Allerdings ist auch nicht ganz klar, was da nun in der Collection stehen soll, normalerweise doch das Objekt!? Denke, dass du hier ohnehin falsch herangehst. Lies lieber noch mal in der VBE-Hilfe nach!
Gruß Luc :-?

Anzeige
AW: AktiveSheet Konvention
13.02.2014 15:01:35
EtoPHG
Hallo,
Mit DOS-Konventionen hat der Registernamme (Tabelleblatt-Name) überhaupt nichts am Hut.
Der Blattname kann max. 31 Zeichen enthalten, nicht 2mal existieren und darf keine der folgenden Spezialzeichen enthalten \ : / ? * [ ]
Und lies den Artikel zu ->Keine Selects, bevor du ernsthaft VBA-Code zu schreiben beginnst.
Gruess Hansueli

AW: AktiveSheet Konvention
13.02.2014 15:41:14
Härte10
Zu meinem eigentlichen Problem
Ich habe ein Arbeitsblatt mit Wertebereichen und 2 Diagrammen mit jeweils 3 Graphen (Kurven).
Eine feste Kurve und 2 (polynome) Trendlinien mit wechselnder Anzahl an Wertepaaren, also dynamischen benannten Bereichen.
Im Originalsheet stehen als xvalue= 'sheet1'!X1wert und value= 'sheet1'Y1wert etc.
Beim kopieren werden die benannten Bereiche zwar übernommen, im Diagramm aber in absolute Adressen umgewandelt also zB. xvalue = 'sheet1''!$C$24:$F$24
Um sie wieder zu zuweisen habe ich folgendes Makro erstellt. Excel 2010
---------------------------------------
Option Explicit
Sub DynKurve()
' DynKurve Makro
ActiveSheet.Unprotect
ActiveSheet.ChartObjects("Diagramm 2").Activate
ActiveChart.PlotArea.Select
ActiveChart.SeriesCollection(1).XValues = ActiveSheet.Name & "!x1value"
ActiveChart.SeriesCollection(1).Values = ActiveSheet.Name & "!y1value"
ActiveChart.SeriesCollection(2).XValues = ActiveSheet.Name & "!x2value"
ActiveChart.SeriesCollection(2).Values = ActiveSheet.Name & "!y2value"
ActiveSheet.ChartObjects("Diagramm 3").Activate
ActiveChart.PlotArea.Select
ActiveChart.SeriesCollection(1).XValues = ActiveSheet.Name & "!x1value"
ActiveChart.SeriesCollection(1).Values = ActiveSheet.Name & "!y1value"
ActiveChart.SeriesCollection(3).XValues = ActiveSheet.Name & "!x2value"
ActiveChart.SeriesCollection(3).Values = ActiveSheet.Name & "!y2value"
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
True, AllowFormattingCells:=True
End Sub
-----------------------------------
Das funktioniert nur wenn ich das kopierte Blatt --- zB. "sheetName (2)" in "sheetn2" oder "irgendwas" umbenenne. Mit Bindestrich"-" oder "()" im Namen funktioniert es nicht.
Ich hätte nur gerne gewußt warum das so ist.
Werde jetzt mal versuchen das ohne Activate und Select zu konstruieren.

Anzeige
AW: AktiveSheet Konvention
13.02.2014 15:49:23
EtoPHG
Hallo,
Wenn ein Tabellenamme Leerzeichen enthält muss er in einfache 'Quotes' gefasst werden.
ActiveChart.SeriesCollection(1).XValues = "'" & ActiveSheet.Name & "'!x1value"
Und wie schon gesagt: Keine Selects und Activates!
Gruess Hansueli

AW: AktiveSheet Konvention
13.02.2014 16:18:09
Härte10
Danke vielmals.
Wie so oft ist der Grund sehr simpel !
Werde mir Mühe geben mit VBA, aber wenn man die Ergebnisse von 3 Monaten Arbeit in 2 Tagen abliefern muß, wählt man den scheinbar einfachsten Weg. (Makrorekorder + rudimentäres Wissen)

Das hättest du aber schon meiner AW ...
13.02.2014 17:42:28
Luc:-?
…entnehmen können!
Luc :-?

Anzeige
AW: Das hättest du aber schon meiner AW ...
14.02.2014 12:02:00
Härte10
Sorry,
aber nicht nur zu lange Autofahrt führt zum Tunnelblick ....

Du sagst es... ;-] Gruß owT
15.02.2014 15:08:38
Luc:-?
:-?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige