Neue Datei erstellen in unterordner des Aktuellen

  • Excel

Es gibt 24 Antworten in diesem Thema. Der letzte Beitrag () ist von Eierlein.

    Ich meinte eigentlich Sheets.Name
    also dem Sheet einen anderen Namen geben... ich hab grade das gefühl ich habe ein Brett vorm Kopf, ich habe garantiert schonmal ein sheet umbenannt... :/

    Mich verwirrt irgendwie, dass ich im VBA Werkzeugkasten oder wie sich das nennt Sheets.Name nicht finde... laut internet schreiben die es einfach dahinter....

    Visual Basic-Quellcode

    1. Function SheetExists(ByVal Sheetname as String, Optional ByVal wb as Workbook) As Boolean
    2. If wb is Nothing Then Set wb=ThisWorkbook
    3. On Error Goto Done
    4. SheetExists = wb.Sheets(Sheetname).Name = Sheetname
    5. Done:
    6. End Function


    Hm... also bis zur zweiten Zeile verstehe ich es... aber welchen Error könnte er bekommen um zu done zu gehen? was machst du in zeile 4? da stehen ja 2 gleichheitszeichen... *ratlos*
    "Der Visual Basic ist nur so schlau wie der, der davor sitzt" - Na schön! Dann steh ich eben auf!

    "Wenn du denkst es geht nicht mehr kommt irgendwo ein Lichtlein her"
    If Tunnel.Licht = JemandImTunnelDerVerzweifeltIst Then Licht.Aus = True

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Kathleen“ ()

    also ein 3 fach Gleichheitszeichen bedeutet, wenn die beiden hinteren komponenten gleich sind bekommt die bedingung vorne true? Hab ich das richtig verstanden? Sry, aber diese Gleichung ist mir bisher noch nie untergekommen...
    "Der Visual Basic ist nur so schlau wie der, der davor sitzt" - Na schön! Dann steh ich eben auf!

    "Wenn du denkst es geht nicht mehr kommt irgendwo ein Lichtlein her"
    If Tunnel.Licht = JemandImTunnelDerVerzweifeltIst Then Licht.Aus = True

    Kathleen schrieb:

    also ein 3 fach Gleichheitszeichen bedeutet, wenn die beiden hinteren komponenten gleich sind bekommt die bedingung vorne true?
    So ähnlich könnte man es zusammen fassen.
    Das erste Gleichheitszeichen ist eine Zuweisung und das zweite ist ein Vergleich.
    In Nicht-VB-Sprachen werden dafür unterschiedliche Operatoren genommen.
    Man könnte das auch etwas aussagekräftiger schreiben:
    SheetExists = (wb.Sheets(Sheetname).Name = Sheetname)​
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --