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

Sheet-Name mit Zähler

Sheet-Name mit Zähler
14.02.2004 19:07:55
Christoph
Hallo bestes Forum,
mit Hilfe einer UserForm erstelle ich Diagramme (jeweils als neues Sheet).
Die für die Diagramme relevanten Tabellenbereiche können in ComboBoxes ausgewählt werden. Das funktioniert alles bestens.
Aus den gewählten Einträgen in den ComboBoxes erzeuge ich ebenfalls den Namen des neuen Sheets. ("DiagrName = CoBox1 & "-" & CoBox2")
Mein Problem:
Wenn ein und dieselbe Auswahl der ComboBox-Werte öfters vorkommt, dann werden
die Sheet-Namen doppelt vergeben (was logischerweise zu einem Fehler führt).
Dies möchte ich abfangen, indem ein für diese Auswahl spezifischer Zähler
angehängt wird.
Bsp: ab-cd, ab-cd(1), ef-gh, ef-gh(1), ef-gh(2), ...
Der untenstehende Code ist leider noch völlig unvollständig und falsch.
Aber vielleicht könnt ihr mit helfen:

Sub Test()
Dim DiagrName As String
Dim i As Integer, j As Integer
DiagrName = CoBox1 & "-" & CoBox2
For j = 1 To 8             'besser mit Do Until, aber wie?
For i = 1 To Charts.Count
If Charts(i).Name = DiagrName Then
'Abfrage, ob schon eine Klammer angehängt ist:
If Right(DiagrName, 1) = ")" Then
'...und jetzt? wie weiter?
Else:
DiagrName = DiagrName & "(" & j & ")"
End If
End If
Next i
Next j
'anschließend: "Charts.Add" usw. das läuft
End Sub

schon vorab vielen Dank
Gruß
Christoph

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
fast gelöst
14.02.2004 19:45:02
Christoph
Hallo Leute,
bis auf die Loop-Schleife habe ich es gelöst.(es war wohl fast zu einfach...)
Ich muss feststellen, es ist nicht das erste Mal, dass ich bei der Formulierung des
Problems hier im Forum schon fast auf die Lösung komme. (bei solchen relativ simplen
Sachen wie unten zumindest. - Naja, nach gefundener Lösung ist meistens alles simpel)
Das soll aber nicht meine Anerkennung eures Einsatzes schmälern. Ganz im Gegenteil.
Was würde ich ohne dieses Forum machen...
viele Grüße Christoph

Sub Test()
Dim DiagrName As String
Dim i As Integer, j As Integer
DiagrName = CoBox1 & "-" & CoBox2
For j = 1 To 8             'besser mit Do Until, aber wie?
For i = 1 To Charts.Count
If Charts(i).Name = DiagrName Then
If Right(DiagrName, 1) = ")" Then
DiagrName = Left(DiagrName, Len(DiagrName) -3)
End If
DiagrName = DiagrName & "(" & j & ")"
End If
Next i
Next j
End Sub

Anzeige
AW: fast gelöst
14.02.2004 19:55:36
PeterW
Hallo Christoph,
warum Loop-Schleife? Du musst doch "nur" noch abfragen, welche Zahl im Fall der öffnenden Klammer in der Klammer steht und diese um 1 erhöhen. Ermittle die Länge des Szrings, dann weißt du, ob die Zahl ein- oder zweistellig ist. Diese dann auszulesen und um 1 zu erhöhen, eine Klammer dran zu setzen und so den Namen zu bilden dürfte eine Kleinigkeit sein.
Gruß
Peter
Danke für den Tipp
14.02.2004 20:03:21
Christoph
Hi Peter,
das ist 'ne gute Idee, vielen Dank.
Gruß
Christoph

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige