if...then

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: if...then
von: René
Geschrieben am: 12.03.2005 19:20:12
Hallo zusammen
kann mir jemand von Euch helfen und mir sagen, wie ich diese riesengrosse if...then...goto Anweisung vernünftig verkleinern kann? (In der Beispieldatei ist nur ein Teil davon.)
https://www.herber.de/bbs/user/19581.txt
Für Euch Profis sicher etwas einfaches.
Ich Danke Euch schon jetzt für Eure Mühe.
Gruss
René

Bild

Betrifft: AW: if...then
von: Ramses
Geschrieben am: 12.03.2005 22:10:15
Hallo
Bischen kompliziert, aber ich würde da auf "Select Case" wechseln
Hier ein Beispiel

Sub Demo()
Select Case LArt
    Case "A"
       wshDr.Delete
       wshv.Visible = True
       wshv.Copy before:=Sheets(2)
       ActiveSheet.Name = "Dr"
       wshv.Visible = xlVeryHidden
       Call druck_adr_liste(LArt)
       Exit Sub
   Case "P"
       wshDr.Delete
       wshv1.Visible = True
       wshv1.Copy before:=Sheets(2)
       ActiveSheet.Name = "Dr"
       wshv1.Visible = xlVeryHidden
       Call druck_adr_vs(LArt)
       Exit Sub
   Case usw
End Select
End Sub


Damit ist der Code zumindest wesentlich übersichtlicher
Gruss Rainer
Bild

Betrifft: AW: if...then
von: René
Geschrieben am: 12.03.2005 22:19:19
Hallo Rainer
danke für Deine Idee. Aber da wird das ganze ja noch viel länger, da ich dann mehrmals den gleichen Code verwenden muss.
Etwa sieben mal den gleichen Code wie wie Du ihn bei "CaseA" hast und erst dann das was Du bei "Case B" hast. Und auch das wieder mehrere Male. Und das ganze weiter über rund 30 Positionen.
Gruss
René
Bild

Betrifft: AW: if...then
von: Ramses
Geschrieben am: 12.03.2005 22:25:44
Hallo
Tut mir leid, da kann ich dir nicht folgen:
Die Select Anweisung macht genau das gleiche wie deine If-Anweisung, mit dem Unterschied, dass die jeweilige Aktion direkt nach dem Entscheid ausgeführt wird.
Ich hatte dir ja geschrieben, kürzer geht es nicht, aber übersichtlicher :-)
Gruss Rainer
Bild

Betrifft: AW: if...then
von: René
Geschrieben am: 12.03.2005 22:35:25
Hallo Rainer,
ich Danke Dir. Dann werd ich wohl der Übersichtichkeit halber die Version mit Case gebrauchen.
Gruss
René
Bild

Betrifft: meine Herren, Select Case macht mehr als...
von: Luc :-?
Geschrieben am: 12.03.2005 22:59:31
ihr euch offensichtlich vorstellen könnt. Es ist natürlich Quatsch, Select Case zu verwenden und dadurch nichts einzusparen ggüber dem vorliegenden Konstrukt. Jede auszuführende Operation wird nur einmal aufgeschrieben (übrigens ohne exit sub, wenn das, was nach end select kommt für alle gilt) und unter Case alle zutreffenden Fälle aufgeführt, z.B. "A" to "Z", 1 to 999 oder hier case "A","P","Neu","In". Das ist ja gerade einer der Vorteile dieser Operation ggüber if...then...else. Alternativ dazu könnte natürlich auch ein Array mit den LArt-Werten und eins mit zugehörigen SprungmarkenreihenfolgeNr angelegt werden, sodass nach entsprechender Auswahl und Zuordnung eine Variable mit der richtigen Reihenfolgenr gefüllt ist, um mit on variable goto sprungmarkenliste das Ganze ebenfalls verkürzen zu können.
Gruß an euch und schönes WE
Luc :-?
Bild

Betrifft: AW: meine Herren, Select Case macht mehr als...
von: René
Geschrieben am: 12.03.2005 23:03:30
Hallo Luc,
wie funktioniert denn das mit dem Array genau?
Gruss
René
Bild

Betrifft: AW: meine Herren, Select Case macht mehr als...
von: Ramses
Geschrieben am: 12.03.2005 23:06:25
Hallo
"...Es ist natürlich Quatsch, Select Case zu verwenden und dadurch nichts einzusparen ggüber dem vorliegenden Konstrukt..."
Dann zeig mir das doch mal :-)
Ich glaube ganz einfach du hast den vorgestellten Code nicht gelesen.
"...Das ist ja gerade einer der Vorteile..."
Du darfst mir glauben, dass ich die Vorteile von "Select Case" kenne
"...Alternativ dazu könnte natürlich auch ein Array mit den LArt-Werten und eins mit zugehörigen SprungmarkenreihenfolgeNr angelegt werden,..."
Das bezeichne ICH als völligen Quatsch, weil sich dadurch der gleiche unübersichtliche "GoTo" Schmarrn ergibt
Gruss Rainer
Bild

Betrifft: @Ramses: diesmal zur Sache u. @René
von: Luc :-?
Geschrieben am: 12.03.2005 23:23:13
nochmal Hallo,
@Ramses:
ist heute wohl nicht dein Tag?! Glaub mir, du antwortest zu viel - macht süchtig! Natürlich hab ich den Code gelesen. Der ist genauso wie man es nicht machen soll. Aber falls du dein Beispiel meinst, da hab ich Zusammenfassungen vermisst. Da ist natürlich klar, dass René dann alles einzeln aufschreiben würde. So etwas sollte man als erfahrener Vielantworter schon bedenken.
@René:
Das hab ich schon befürchtet, dass du danach fragst. Diese Alternative macht es etwas übersichtlicher, ist aber nicht eleganter als die zu bevorzugende Methode mit Select Case (aber mit Zusammenfassungen!). Möglicherweise hättest du mit den Arrays größere Verständnisprobleme. Code könnte ich dir so als Beispiel morgen zukommen lassen, aber wie gesagt - guter Programmierstil ist Select Case, die Array-Methode ist höchstens originelle Individualität.
Grüße
Luc :-?
Bild

Betrifft: AW: @Ramses: diesmal zur Sache u. @René
von: René
Geschrieben am: 12.03.2005 23:31:50
Hallo Luc,
für ein Beispiel wäre ich Dir natürlich sehr dankbar. Man hat ja nie ausgelernt und ich bin noch nicht so versiert in VBA als dass ich für Beispiele Nein sagen würde. Und sei es jetzt ein Beispiel mit dem Array oder dem Select Case mit Zusammenfassung.
Auf jeden Fall schon mal danke schön.
Gruss
René
Bild

Betrifft: AW: @Ramses: diesmal zur Sache u. @René
von: Ramses
Geschrieben am: 12.03.2005 23:44:15
Hallo
kann ja sein dass ich "blind" bin, aber wenn bei JEDER "If"-Anweisung eine andere Datei, kopiert, versteckt und dargestellt wird, dann wird das wohl schwierig das in gesammelte "Case" Anweisung zu packen,... oder sehe ich das falsch.
Du kannst mich ja überzeugen indem du ein solches Beispiel darstellst.
Ich lasse mich gerne überzeugen.
Auch das mit dem Array würde mich stark interessieren. Zeig mal.
Gruss Rainer
Bild

Betrifft: AW: @Ramses (und René)
von: Luc :-?
Geschrieben am: 13.03.2005 17:46:40
Hallo Ramses (und René),
mir war aufgefallen, dass von mehreren LArt-Werten zur gleichen Marke gesprungen wird, wo natürlich auch stets in die gleichen Dateien gespeichert wird. Wenn das in die Select Case Konstruktion eingebunden wird, kann man im Fall der Sprungmarke 1...
Select Case LArt
Case "A", "P", "Neu", "In", "x8"
wshDr.Delete
wshv.Visible = True
wshv.Copy before:=Sheets(2)
ActiveSheet.Name = "Dr"
wshv.Visible = xlVeryHidden
Call druck_adr_liste(LArt)
Case ...
End Select

...schreiben. Alle weiteren Sprungmarkenblöcke werden analog in das Select Case Konstrukt eingebunden. Damit ergeben sich natürlich auch 14 Blöcke. Es entfallen 19 Zeilen Sprungbefehle und leider nur 4x Exit Sub, weil hier, wenn's so richtig ist ab Sprungmarke 5 immer alle nachfolgenden Blöcke mitabgearbeitet werden. Da wäre u.U. eine 2.Select Case Struktur hilfreich - evtl mit bedingten Sprungbefehlen. Darüber und über eine generelle Alternative denke ich noch nach. Dazu dann voraussichtlich morgen mehr.
Noch 'nen schönen Sonntag-Abend
Luc :-?
Bild

Betrifft: AW: @Ramses (und René)
von: René
Geschrieben am: 13.03.2005 21:19:28
Hallo Luc,
damit Du das ganze richtig überschauen kannst, hab ich diesmal den ganzen Code hochgeladen. Du kannst ihn unter dem nachfolgenden Link anschauen.
https://www.herber.de/bbs/user/19612.txt
Danke für Deine Bemühungen
Gruss
René
Bild

Betrifft: AW: @Ramses (und René)
von: Ramses
Geschrieben am: 13.03.2005 22:24:48
Hallo
Schön, sieht besser aus und liest sich besser als nur ein allgemeiner Kommentar :-)
Als Herausforderung:
Ich kenne nur einen einzige Situation, wo ich eine Sprungmarke benötige, und die sehe ich hier im Code nicht :-)
Gruss Rainer
Bild

Betrifft: AW: @René (und Rainer)
von: Luc :-?
Geschrieben am: 14.03.2005 20:19:34
Hallo René (und Ramses),
so, dass beruhigt mich aber, dass die fehlenden exit in deinem Upload wieder auftauchen. Dadurch wird es einfacher. Hier erstmal die Variante mit select case, wobei hier 2 Versionen möglich sind, weil du streng genommen die set-Befehle gar nicht mehr brauchst. Wenn du deshalb d2: bevorzugst, dann das d1-Unterprogramm löschen und d2: in d1: ändern. Im vorderen Teil dann die Befehle um wsh() und sx herum sowie diese Variablen in der Dim-Anweisung ebenfalls löschen. Wenn nicht, dann d2-Unterprog löschen (jeweils von Markenzeile bis einschl. return).

Sub testcopy(LArt As String)     'kann mit Parameter nur von einem Programm aufgeruf wdn
    Const sht As String = "Dr SZ B_H L_H Et V V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 P_L"
    Dim i As Integer, sx As Integer, sn As Variant, _
        wsh() As Worksheet, x As Worksheet
    sn = Split(sht, " ")
    sx = UBound(sn)
    ReDim wsh(sx) As Worksheet
    With ActiveWorkbook
        For i = 0 To sx
            Set wsh(i) = .Sheets(sn(i))
        Next i
    End With
    Application.DisplayAlerts = False
    Select Case LArt   'KB/GB beachten, sonst nur LCase(LArt)u.KB or UCase(LArt)u.GB vwd!
    Case "A", "EM", "Fa", "FM", "G", "IN", "JM", "Neu", "P"
        i = 5
        Go

Sub d1
        Call druck_adr_liste(LArt)
    Case "x2"
        i = 6
        Go

Sub d1
        Call druck_adr_vs(LArt)
    Case "Del"
        i = 7
        Go

Sub d1
        Call druck_adr_del(LArt)
    Case "x27", "x28", "x29", "x30", "x31"
        i = 8
        Go

Sub d1
        Call druck_fleiss(LArt)
    Case "x1"
        i = 9
        Go

Sub d1
        Call druck_auszeichnung_ehrung(LArt)
    Case "x24", "x25", "x26"
        i = 10
        Go

Sub d1
        Call druck_anmeld_anlass(LArt)
    Case "x22"
        i = 11
        Go

Sub d1
        Call druck_helfer_ausstellung(LArt)
    Case "x23"
        i = 12
        Go

Sub d1
        Call druck_helfer_lotto(LArt)
    Case "x7"
        i = 13
        Go

Sub d1
        Call druck_geburts_eintrittsdaten(LArt)
    Case "x8"
        i = 14
        Go

Sub d1
        Call druck_adr_liste(LArt)
    Case "x4"
        i = 15
        Go

Sub d1
        Call druck_liste_beitrag(LArt)
    Case "x6"
        i = 16
        Go

Sub d1
        Call druck_adr_parus(LArt)
    Case "x5"
        i = 17
        Go

Sub d1
        Call druck_präsenzliste(LArt)   'Namen übprüf, war Fehler, besser ohne Umlaut
    Case "x9", "x10", "x11", "x12", "x13", "x14", "x15", "x16", "x17", "x18", "x19", _
               "x20", "x21"
        i = 4
        Go

Sub d1
        Call druck_etikettenliste(LArt)
    End Select
    Application.DisplayAlerts = True
    Exit Sub
d1: wsh(0).Delete
    wsh(i).Visible = True
    wsh(i).Copy Before:=Sheets(2)
    ActiveSheet.Name = sn(0)
    wsh(i).Visible = xlVeryHidden
    Return
d2: With ActiveWorkbook            'alternativ zu d1, dann können sx u. wsh() entfallen!
        .Sheets(sn(0)).Delete
        .Sheets(sn(i)).Visible = True
        .Sheets(sn(i)).Copy Before:=Sheets(2)
        ActiveSheet.Name = sn(0)
        .Sheets(sn(i)).Visible = xlVeryHidden
    End With
    Return
End 

Sub </code>
Hieran ist schon zu sehen, dass man eigentlich auch ohne Select Case auskommen müsste, wenn man nur das Variablenfeld (Array) für die Blattnamen geschickt aufbaut (Reihenfolge der Namen in der zugrundeliegenden Textvariablen), ein Variablenfeld für die LArt analog anlegt und denen ein Feld mit den zugehörigen i-Werten zuordnet. Das würde das Programm noch kürzer machen. Das dann evtl. morgen, falls du nicht selbst probieren oder aber vgl willst.
Gruß Luc :-?

Bild

Betrifft: AW: @René (und Rainer) Nachtrag
von: Luc :-?
Geschrieben am: 14.03.2005 20:29:05
nochmals...
Habe mich eben 'ne ganze Weile mit der automatischen Forumsformatierung rumgeärgert und zum Schluss kam das raus! Naja, besser als zuerst!
Habe noch Folgendes vergessen zu erwähnen:
Die Anlage der Blattnamen in Form eines Strings, der dann in ein Datenfeld umgewandelt wird, hat den Vorteil größerer Transparenz und Pflegeleichtigkeit des Programms. Du brauchst so nur die Stringkonstante zu ändern, wenn sich bei den Blattnamen Änderungen ergeben. Alles weitere richtet sich dann automatisch danach. Im Grunde genommen könnte man diesen String auch als Parameter ans Programm übergeben oder ihn aus einem Hauptblatt auslesen. Dann muss bei Änderungen das Programm gar nicht angefasst wdn.
schönen Abend
Luc :-?
Bild

Betrifft: AW: @René (und Rainer)
von: René
Geschrieben am: 14.03.2005 21:16:47
Hallo Luc,
Danke für diesen Vorschlag. Bin Dir natürlich auch für den kürzeren Vorschalg dankbar. Werd aber selber auch versuchen ob ich's hinkriege. Muss dazu aber sagen, dass ich nicht so ein Profi wie Du bin.
Besten Dank auf jeden Fall mal und dann bis morgen.
Gruss
René
Bild

Betrifft: AW: Variante2
von: Luc :-?
Geschrieben am: 15.03.2005 10:58:05
Hallo René,
zuvor noch ein Nachtrag zu Variante 1: Die automatische Programmcode-Erkennung hat leider den gosub-Befehl zerrissen. Bitte beachte das.
Der folgende Code enthält zusätzliche Kontrollen zur Absicherung gg. Fehler bei evtl Änderungen der Feldvariablen:

Sub testcopy(LArt As String)
    Const sht As String = "Dr SZ B_H L_H Et V V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 P_L"
    Dim i As Integer, j As Integer, k As Integer, LAw As String, _
        lw As Variant, lx As Variant, sn As Variant, x As Worksheet
    LAw = "A Del EM Fa FM G IN JM Neu P x1 x2 x4 x5 x6 x7 x8 x9 x10 x11 x12 " & _
          "x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 x29 x30 x31"
    lx = Array(5, 7, 5, 5, 5, 5, 5, 5, 5, 5, 9, 6, 15, 17, 16, 13, 14, 4, 4, 4, 4, _
               4, 4, 4, 4, 4, 4, 4, 4, 4, 11, 12, 10, 10, 10, 8, 8, 8, 8, 8)
    sn = Split(sht, " ")
    lw = Split(LAw, " ")
    With WorksheetFunction
        k = .Min(lx)
        If k < 1 Or .Max(lx) > UBound(sn) Or UBound(lw) <> UBound(lx) Then
            MsgBox "Programmvariablen unstimmig!", vbCritical + vbOKOnly, _
                   "Interner Fehler"
            Exit Sub
        End If
    End With
    For i = 0 To UBound(lw)
        If lw(i) = LArt Then
            j = lx(i)
            Exit For
        End If
    Next i
    If j = 0 Then Exit Sub
    Application.DisplayAlerts = False
    With ActiveWorkbook
        .Sheets(sn(0)).Delete
        .Sheets(sn(j)).Visible = True
        .Sheets(sn(j)).Copy Before:=Sheets(2)
        ActiveSheet.Name = sn(0)
        .Sheets(sn(j)).Visible = xlVeryHidden
    End With
    On j - k GoTo d1, d2, d3, d4, d5, d6, d7, d8, d9, e0, e1, e2, e3
    Call druck_etikettenliste(LArt): GoTo ex
d1: Call druck_adr_liste(LArt): GoTo ex
d2: Call druck_adr_vs(LArt): GoTo ex
d3: Call druck_adr_del(LArt): GoTo ex
d4: Call druck_fleiss(LArt): GoTo ex
d5: Call druck_auszeichnung_ehrung(LArt): GoTo ex
d6: Call druck_anmeld_anlass(LArt): GoTo ex
d7: Call druck_helfer_ausstellung(LArt): GoTo ex
d8: Call druck_helfer_lotto(LArt): GoTo ex
d9: Call druck_geburts_eintrittsdaten(LArt): GoTo ex
e0: Call druck_adr_liste(LArt): GoTo ex
e1: Call druck_liste_beitrag(LArt): GoTo ex
e2: Call druck_adr_parus(LArt): GoTo ex
e3: Call druck_präsenzliste(LArt)
ex: Application.DisplayAlerts = True
End Sub 

Ansonsten gilt auch hier das zu Variante1 und im Nachtrag Gesagte. Nach dem, was du geschrieben hast, gehe ich davon aus, dass du die Befehlsabfolge nachvollziehst. Ich selbst würde auch keine Fremdcodes einsetzen, die ich nicht verstehe.
Gruß Luc
:-?
Bild

Betrifft: AW: Variante2
von: René
Geschrieben am: 15.03.2005 11:26:42
Hallo Luc,
Besten Dank für Deine Mühe.
Es geht mir nicht darum, Fremdcode nicht benutzen wenn ich Ihn nicht verstehe. Aber ich will ja bei dem ganzen auch etwas lernen, damit ich dann bei etwas anderem das auch selber fertig bringe. Deshalb versuche ich ja, das nachzuvollziehen.
Die automatische Programmcode-Erkennung hab ich gar nicht eingesetzt, da ich das nicht kenne. :-(
Auf jeden Fall noch einmal ein Herzliches Danke und sollte Dir noch mehr einfallen, für Anregungen bin ich immer dankbar.
Gruss
René
Bild

Betrifft: AW: AutoCodeErkennung
von: Luc
Geschrieben am: 15.03.2005 12:16:53
Hallo René,
freut mich, dass ich richtig liege mit meiner Einschätzung. Diese Einstellung wird aber offensichtlich immer seltener.
Die automatische Programmcodeerkennung kannst du nicht benutzen, sondern höchstens auslösen. Sie ist (mitunter lästiger) Bestandteil der Forumssoftware. Schreib mal in irgendeinem deiner Postings hier mittendrin das Wort sub mit großem S. Dann kannst du sehen, was die Automatik mit deinem Posting macht.
Gruß Luc :-?
Bild

Betrifft: AW: AutoCodeErkennung
von: René
Geschrieben am: 15.03.2005 15:58:57
Hallo Luc,
Besten Dank für Deine Ausführung.
Und schon hab ich wieder was gelernt! :-)
Und das mit dem lernen ist doch wirklich so. Ein Forum sollte ja dazu da sein um bei einem Problem so zu helfen, dass man es in einem anderen Fall selber lösen kann und dabei etwas lernt. Wenn das aber nicht so ist, kanns man ja zum Beispiel direkt schreiben: "Ich bin zu Faul um was zu lernen, gebt mir bitte die Lösung!" Ist vielleicht ein bisschen krass ausgedrückt, ich weiss, aber wie gesagt, sowas liegt mir nicht.
"Es ist schliesslich noch nie ein Profi vom Himmel gefallen und zum lernen ist es nie zu spät!" sagte schon...
Gruss
René
Bild

Betrifft: Ganz in meinem Sinne...! -- owT
von: Luc ;-)?)
Geschrieben am: 15.03.2005 16:04:39

Bild

Betrifft: AW: AutoCodeErkennung
von: René
Geschrieben am: 15.03.2005 17:17:35
Hallo Luc,
kannst Du mir das folgende ein wenig genauer erklären?
LAw = "A Del EM Fa FM G IN JM Neu P x1 x2 x4 x5 x6 x7 x8 x9 x10 x11 x12 " & _
"x13 x14 x15 x16 x17 x18 x19 x20 x21 x22 x23 x24 x25 x26 x27 x28 x29 x30 x31"
lx = Array(5, 7, 5, 5, 5, 5, 5, 5, 5, 5, 9, 6, 15, 17, 16, 13, 14, 4, 4, 4, 4, _
4, 4, 4, 4, 4, 4, 4, 4, 4, 11, 12, 10, 10, 10, 8, 8, 8, 8, 8)
On j - k GoTo d1, d2, d3, d4, d5, d6, d7, d8, d9, e0, e1, e2, e3
Vor allem begreife ich nicht ganz, wie Du da auf "d1..." usw kommst.
Danke und Gruss
René
Bild

Betrifft: ...also doch noch Arbeit, war schon fast weg...
von: Luc
Geschrieben am: 15.03.2005 23:01:16
...hallo, hallo und gute Nacht René,
in LAw habe ich alle deine mir bekannten FArt-Werte als String zusammengefasst, damit sie sich bei Bedarf leichter ändern lassen. Nichtgenannte Werte (also auch x) wdn nicht berücksichtigt. Leerzeichen ist Trennzeichen (Delimiter) für die Funktion Split(), die daraus dann das Array (Datenfeld) lw macht, das im Folgenden verwendet wird (analog war's bei sht und sn). In lx (gleich als Array geschrieben, um Probleme beim Umwandeln in Integerwerte zu vermeiden) stehen die Positionsnummern (Indizes) der den FArt-Werten zuzuordnenden Blattnamen aus dem Array sn. Das Blatt "Dr" hat z.B. den Index 0, weil es als 1.Wert im Datenfeld sn steht.
Beim letzten Konstrukt handelt es sich um einen bedingten Sprungbefehl. Die Bedingung steht nach dem Schlüsselwort On. Nach Goto wdn dann die einzelnen Sprungmarken aufgeführt. Wenn j-k=0 ist, wird der nächste Befehl genommen, deshalb steht da der Programmaufruf für 4-4=0 (sn(4)="Et") ohne Sprungmarke. Bei allen anderen Werten von j-k wird die dieser Reihenfolgenr entsprechende Sprungmarke ausgewählt und angesprungen. Nach dem Abarbeiten des Call-Befehls wird mit goto ex die Endbehandlung angesprungen (Alarmmeldung wieder eingeschaltet) und das Programm verlassen. Die Namen der Sprungmarken (d1...e3) habe ich frei gewählt, du kannst auch andere nehmen (z.B. deine Zahlen). Ich wollte sie bloß 2stellig haben.
Das mit den bedingten Sprungbefehlen findest du auch in der Editorhilfe unter on oder goto.
Ciao Luc :-?
Bild

Betrifft: AW: ...also doch noch Arbeit, war schon fast weg...
von: René
Geschrieben am: 16.03.2005 11:57:05
Hallo Luc
danke für Deine Ausführungen. So kann ich das ganze noch viel besser nachvollziehen.
Gruss
René
Bild

Betrifft: ...da hilft man gern - OK & Ciao! -- owT
von: Luc
Geschrieben am: 16.03.2005 12:05:22

Bild

Betrifft: @Ramses (für Rene irrelevant)
von: Luc :-?
Geschrieben am: 12.03.2005 23:10:28
Hallo Ramses,
meinst du nicht auch, dass mayk immer noch das gleiche Problem (s. OffTopic) hat?
Gruß Luc :-?
Bild

Betrifft: Reine Höflichkeit :-) o.T.
von: Ramses
Geschrieben am: 12.03.2005 23:12:04
...
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Hyperlink"