Betrifft: Abfrage in VBA effizienter gestalten
von: Axel
Geschrieben am: 23.01.2010 14:04:00
Hallo,
ich erstelle ein Diagramm mit Excel, allerdings wähle ich vorher Verschiedene Parameter aus, die dann in dem Diagramm dargestellt werden sollen.
Nun muss der Name des Diagramms allerdings an die Auswahl angepasst werden, damit ich immer weiß, was ich mir gerade anzeigen lasse. Bisher sieht mein Code dazu so aus:
'Aussagekräftigen Titel zusammenbauen
----------->Das muss effektiver gehen!!!
If Auswahl_ParameterA <> -1 Then
Diagrammname = Auswahl_ParameterA
End If
If Auswahl_ParameterB <> -1 Then
Diagrammname = Diagrammname & " " & Auswahl_ParameterB
End If
If Auswahl_ParameterC <> -1 Then
Diagrammname = Diagrammname & " " & Auswahl_ParameterC
End If
If Auswahl_ParameterD <> "keine Auswahl" Then
Diagrammname = Diagrammname & " " & Auswahl_ParameterD
End If
If Auswahl_ParameterE <> "keine Auswahl" Then
Diagrammname = Diagrammname & " " & Auswahl_ParameterE
End If
With ActiveChart
.ChartType = xlXYScatterSmooth
.ChartArea.Border.LineStyle = xlNone
.HasTitle = True
.ChartTitle.Text = Diagrammname
End With
Ich finde diesen Aufbau schrecklich. Kennt ihr einen schnelleren und effektiveren Weg?
Gruß und Dank
Axel
Betrifft: AW: mit so wenig Information über den Code
von: Daniel
Geschrieben am: 23.01.2010 14:08:35
kann man da schlecht was optimieren.
was ist z.B. "Auswahl_ParameteC"
und wie wäre es mit dem Hochladen einer Beispieldatei?
Gruß, Daniel
Betrifft: AW: mit Index-Variablen
von: Daniel
Geschrieben am: 23.01.2010 14:36:55
Hi
1. IF-Abfrage:
IF-Bedingunen, die nur den TRUE-Pfad haben (kein ELSE) und dieser aus einem Befehl besteht, kann man auch so schreiben:
IF Bedingung 1 Then MachWas
anstelle von:
If Bedingung 1 then
MachWas
End if
wenn du die Auswahlparameter als Index-Variable gestaltets, dann könntest du statt der Einzelabfrage eine Schleife drüber laufen lassen, das würde dann in etwa so aussehen:
For i = 1 to 5 Select Case AuswahlParameter(i) Case -1, "keine Auswahl" Case else Diagrammtitel = Diagrammtitel & " " & Auswahlparameter(i) end select next Diagrammtitel = Mid$(Diagrammtitel, 2)Gruß, Daniel
Betrifft: AW: Abfrage in VBA effizienter gestalten
von: Gerd L
Geschrieben am: 23.01.2010 15:02:19
Hallo Axel,
meinst Du so?
Diagrammname = Trim$(Diagrammname & Replace(Replace(" " & Auswahl_ParameterB & " " & Auswahl_ParameterC & " " & Auswahl_ParameterD & " " & Auswahl_ParameterE, " -1", ""), " keine Auswahl", ""))
Gruß Gerd
Betrifft: AW: Abfrage in VBA effizienter gestalten
von: Axel
Geschrieben am: 25.01.2010 08:28:25
Hallo,
ich werde beides mal ausprobieren.
Danke für eure Antworten.
Bin leider gerade nicht an der Arbeit, daher werde ich die Lösungen erst im Laufe der Woche testen können.
Gruß
Axel