Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: eckige Klammern

eckige Klammern
25.06.2007 13:19:38
Hendryk
Hallo zusammen,
ich hoffe ihr könnt mir weiterhelfen und zwar bin ich gerade dabei mir einen Abweichungsreport zu basteln.
Dabei werden 2 Excel Files miteinander verglichen. Dazu hab ich mir mittels VBA folgende Lösung einfallen lassen (langes ausgiebiges googeln). Und zwar möchte ich mittels VBA einen Pfad einer Datei einlesen. Das funktioniert auch schon ganz gut, nur mit diesem Pfad kann ich in Excel nicht weiterrechnen. Dazu fehlen mir noch zwei eckige Klammern.
so sieht der Pfad jetzt aus:
Z:\06 Monthly, Quarterly Reporting\02 Dashboard\02 Final Dashboard\01 Excel Retrieve\2007\03\Final Final\Final_Dashboard_March_EUR_070503_MS.xls
so soll er aussehen:
Z:\06 Monthly, Quarterly Reporting\02 Dashboard\02 Final Dashboard\01 Excel Retrieve\2007\03\Final Final\[Final_Dashboard_March_EUR_070503_MS.xls]
Gibt es eine Lösung, die mir vor dem letzten Slash und nach dem .xls eine eckige Klammer setzt.
Vielen Dank

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: eckige Klammern
25.06.2007 13:26:50
Renee
Mazwara Hendryk,
So ?

sDeinPfad = Left(sDeinPfad, InStrRev(sDeinPfad, "\")) & "[" & _
Right(sDeinPfad, Len(sDeinPfad) - InStrRev(sDeinPfad, "\")) & "]"


Rgds Renee

AW: eckige Klammern
25.06.2007 13:39:00
Hendryk
Vielen herzlichen Dank Renee,
da sich meine VBA Kenntnisse in grenzen halten kann ich nicht so recht was damit anfangen.
Vielleicht kannst du mir da ja weiterhelfen.
Gruß
Hendryk

Anzeige
AW: eckige Klammern
25.06.2007 13:51:00
Renee
Dear Hendrik,
Du hast geschrieben so sieht der Pfad jetzt aus:
Irgendwo/wie muss der Pfad ja in einer Variablen abgespeichert sein (das entspricht sDeinpfad)?
Oder hast Du noch gar kein VBA? Wo befindet sich dann dieser String für den Pfad ?
Greetz Renee

Anzeige
AW: eckige Klammern
25.06.2007 13:57:00
Hendryk
Hallo Renee,
wie gesagt meine VBA Kenntnisse halten sich in Grenzen und das Pfadauslesen hab ich mir so zusammen gesucht, aber das Makro sieht folgendermaßen aus:

Sub openAndRefreshChoiceCall(SheetChoice As msforms.ComboBox, tbFN As msforms.TextBox)
SheetChoice.Clear
tbFN.Text = ""
'Debug.Print CurDir
SetUNCPath (ThisWorkbook.path)
Dim filename As String
filename = Application.GetOpenFilename("Excel Files (*.xls), *.xls")
If filename = "False" Then Exit Sub
tbFN.Text = filename
Set wb = Workbooks.Open(filename)
For i = 1 To wb.Sheets.Count
If wb.Sheets(i).Name  "Control" Then
SheetChoice.AddItem wb.Sheets(i).Name
End If
Next i
If wb.Sheets.Count > 1 Then SheetChoice.ListIndex = 0
wb.Close
Set wb = Nothing
ThisWorkbook.Activate
End Sub


Vielen Dank für deine Hilfe

Anzeige
AW: eckige Klammern
25.06.2007 14:05:33
Renee
Hello Hendrik,
Sorry, aber da blick ich nicht ganz durch, das kann nur ein Teil eines grösseren Codes sein.
Du könntest versuchen:

vor diese zeile:
tbFN.Text = filename
schreibst Du das hier:
filename = Left(filename, InStrRev(filename, "\")) & "[" & _
Right(filename, Len(filename) - InStrRev(filename, "\")) & "]"
tbFN.Text = filename


Greetz Renee

Anzeige
AW: eckige Klammern
25.06.2007 14:10:14
Hendryk
Vielen herzlichen Dank für deine Mühe
;
Anzeige
Anzeige

Infobox / Tutorial

Eckige Klammern in Excel richtig nutzen


Schritt-für-Schritt-Anleitung

Um eckige Klammern in Excel zu verwenden, insbesondere in einem VBA-Skript, gehe wie folgt vor:

  1. Öffne das VBA-Editor: Drücke ALT + F11, um den VBA-Editor in Excel zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf „VBAProject (deine Arbeitsmappe)“, wähle „Einfügen“ und dann „Modul“.

  3. Schreibe den Code: Verwende den folgenden VBA-Code, um die eckigen Klammern vor dem letzten Slash und nach der Dateiendung .xls hinzuzufügen:

    Sub AddEckigeKlammern()
        Dim sDeinPfad As String
        sDeinPfad = "Z:\06 Monthly, Quarterly Reporting\02 Dashboard\02 Final Dashboard\01 Excel Retrieve\2007\03\Final Final\Final_Dashboard_March_EUR_070503_MS.xls"
    
        sDeinPfad = Left(sDeinPfad, InStrRev(sDeinPfad, "\")) & "[" & _
        Right(sDeinPfad, Len(sDeinPfad) - InStrRev(sDeinPfad, "\")) & "]"
    
        MsgBox sDeinPfad
    End Sub
  4. Führe das Skript aus: Klicke auf „Ausführen“ oder drücke F5, um dein Skript auszuführen.

  5. Überprüfe das Ergebnis: Ein Meldungsfeld zeigt dir den neuen Pfad mit den eckigen Klammern.


Häufige Fehler und Lösungen

  • Problem: Der Pfad wird nicht korrekt angezeigt.

    • Lösung: Stelle sicher, dass du die richtige Variable für deinen Pfad verwendest. Überprüfe, ob der Pfad korrekt in der Variablen sDeinPfad gespeichert ist.
  • Problem: Fehlermeldungen beim Ausführen des Codes.

    • Lösung: Achte darauf, dass du die richtigen Anführungszeichen verwendest und dass der VBA-Code keine Syntaxfehler enthält.

Alternative Methoden

Falls du nicht mit VBA arbeiten möchtest, kannst du auch Excel-Formeln nutzen, um eckige Klammern hinzuzufügen:

  1. Verwende die TEXTVERKETTEN-Funktion (ab Excel 2016):

    =TEXTVERKETTEN("", WAHR, LEFT(A1, LEN(A1)-LEN(B1)), "[" & B1 & "]")
  2. Für ältere Versionen:

    ="[" & A1 & "]"

Hierbei ist A1 die Zelle mit dem Dateinamen und B1 die Zelle mit der Dateiendung.


Praktische Beispiele

  1. Beispiel für einen vollständigen Pfad: Wenn dein Pfad in der Zelle A1 steht und die Dateiendung in B1, dann kannst du in C1 folgende Formel verwenden:

    =LINKS(A1;SUCHEN("~";WECHSELN(A1;"\","~";LÄNGE(A1)-LÄNGE(WECHSELN(A1;"\";""))))-1) & "[" & RECHTS(A1;LÄNGE(A1)-SUCHEN("~";WECHSELN(A1;"\","~";LÄNGE(A1)-LÄNGE(WECHSELN(A1;"\";""))))) & "]"
  2. Anwendung in einem Abweichungsreport: Wenn du zwei Excel-Dateien vergleichst und deren Pfade automatisch formatieren möchtest, kannst du das VBA-Skript in einer Schleife über deine Dateipfade ausführen.


Tipps für Profis

  • Nutze Kommentare in deinem VBA-Code, um den Überblick über deine Skripte zu behalten.
  • Verwende Option Explicit am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert sind.
  • Experimentiere mit der Dir-Funktion, um dynamisch eine Liste von Dateien und deren Pfade zu erstellen, die dann mit eckigen Klammern formatiert werden können.

FAQ: Häufige Fragen

1. Kann ich eckige Klammern direkt in Excel-Formeln verwenden?
Ja, du kannst eckige Klammern in Excel-Formeln verwenden, z. B. bei der Erstellung von Verweisen auf andere Arbeitsblätter oder -dateien.

2. Was sind die Vorteile der Verwendung von VBA für eckige Klammern?
VBA bietet eine automatisierte Lösung, die sich besonders bei umfangreichen Datenmengen und wiederkehrenden Aufgaben als nützlich erweist. Es spart Zeit und reduziert manuelle Fehler bei der Eingabe.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige