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

Forumthread: Dollarzeichen aus String entfernen

Dollarzeichen aus String entfernen
18.07.2017 17:41:03
Herbert
Hallo,
ich erstelle eine String-Variable (Stringname = [Bereichsname].Address). Das Ergebnis ist ein String in dieser Ausführung: "$A$1:$B$10"
Nun möchte ich die $ aus diesem String löschen, so dass es dann einen String wie folgt ergibt: "A1:B10". Wie könnte ich das per VBA machen?
Servus
Anzeige

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dollarzeichen aus String entfernen
18.07.2017 17:42:49
Hajo_Zi
[Bereichsname].Address (false,false)

Ich gebe keinen Dank für eine Rückmeldung, da ich durch solche Beiträge nicht meine Beitragszahl erhöhen muss.
Rückmeldung ist ja in der Heutigen Zeit nicht üblich und die wenigen die eine Rückmeldung geben, mögen mir das verzeihen, das kein Danke für eine Rückmeldung kommt.
Anzeige
AW: Dollarzeichen aus String entfernen
18.07.2017 17:45:26
Herbert
Hallo Hajo,
g e n i a l!!! Vielen Dank!
Bis "Pfalz"! ;o)=)
Servus
AW: Dollarzeichen aus String entfernen
18.07.2017 17:56:33
Herbert
Hallo Hajo,
Deine Version funktioniert perfekt, doch was ich damit erreichen wollte klappt trotzdem nicht.
Also, ich wollte mit 2 Variablen den Sortierbereich festlegen und dann mit den Variablen sortieren. Excel sortiert mir aber nicht, wenn ich anstatt der festen Bereichsangabe ("A1:B10") die entsprechende Variable einsetze, obwohl die Variable die selben Angaben hat. Was mache ich hier falsch?
Hier der Code, den ich verwende:
Sub MediListeSortieren()
Dim sMediListe$, sMediListeÜ$
sMediListe = [Medi_Liste].Address(False, False)
sMediListeÜ = [Medi_ListeÜ].Address(False, False)
With ActiveSheet.Sort
.SortFields.Clear
.SortFields.Add Key:=Range(sMediListe), SortOn:=xlSortOnValues, _
Order:=xlAscending, DataOption:=xlSortNormal
.SetRange Range(sMediListeÜ)
.Header = xlYes
.SortMethod = xlPinYin
Application.ScreenUpdating = False
.Apply
Application.ScreenUpdating = True
End With
End Sub
Servus
Anzeige
AW: kompletter Unfung was du machst.
18.07.2017 18:16:14
Daniel
Warum holst du dir aus dem den beiden Zellbereichen die Adressen als String und wandelst dann diese wieder in Zellbereiche um?
das wäre nur dann sinnvoll, wenn der Ausgangszellbereich [Medi_Liste]und er zu sortierende Zellbereich auf unterschiedlichen Tabellenblättern liegen, aber trotzdem die gleichen Adressen haben.
(Bspw [Medi_Liste] ist Tabelle1!A1:B10 und du willst Tabelle2!A1:B10 sortieren)
Außerdem wäre es hierfür völlig egal, ob du die Adresse mit oder ohne $ angibst.
die $-Zeichen sind nur dann relevant, wenn du die Adresse in eine Formel mit A1-Adressierungsart verwendest. In allen anderen Fällen in VBA spielt es keine Rolle, ob mit oder ohne $-Zeichen.
Wenn du die Medi_Liste sortiern willst, dann kannst du diese auch direkt als Zellbereich angeben und brauchst nicht diese Klimmzüge.
Wäre also erstmal zu klären, was und wo du überhaupt sorieren willst.
weiterhin ist es so, dass das Sortierkriterium immer nur eine Zelle sein sollte und kein Zellbereich.
und Wenn Zellbereich, dann beim normalen sortieren immer nur eine Spalte, aber nicht mehrere.
Gruß Daniel
Anzeige
AW: kompletter Unfung was du machst.
19.07.2017 08:05:23
Herbert
Hallo Daniel,
wenn Du nur recht hättest, dannhätte ich euch gar nicht bemühen müssen! Denn wenn ich in den Sortiercode anstatt der Bereichsnamen/Variablen, den Bereich fix angebe ("A1:B10") funktioniert der Code einwandfrei. Nur nicht mit einer Variablen, in der sich die "$" befinden oder mit "Range(Variable)". Oder habe ich Dich falsch verstanden?
Servus
Anzeige
AW: kompletter Unfung was du machst.
19.07.2017 09:25:58
Daniel
Es ist völlig egal, ob du Range("A1:B10") oder Range("$A$1:$B$10") schreibst.
Das macht keinen Unterschied.
Gruß Daniel
AW: kompletter Unfung was du machst.
19.07.2017 12:09:49
Herbert
Hallo Daniel,
Du hast recht! Ich hatte völlig übersehen, dass der "Key" ja in einer Spalten angegeben werden muss und nicht über mehrere Spalten. Du hast mich darauf gebracht und als ich es dann realisiert habe, fiel es mir wie "Schuppen aus den Haaren"! Na klar, der Key kann nur in einer Spalte gesucht werden!
Nun funzt es wunderbar mit und ohne "$", wie Du richtig festgestellt hast.
@Trotzdem auch noch mal einen Dank an Hajo, denn dadurch habe ich gelernt, dass man mit (False,False) die "$" entfernen kann! Prima!
Servus
Anzeige
WorksheetFunction.Substitute ?
18.07.2017 17:46:39
KlausF
Hi Herbert,
funktioniert das nicht einfach mit (?)
WorksheetFunction.Substitute(DeinString, "$", "")
Habe ich aber nicht ausprobiert ...
Gruß
Klaus
AW: WorksheetFunction.Substitute ?
18.07.2017 17:51:31
Herbert
Hallo Klaus,
Du hast recht, das funktioniert auch. Nur Hajo's Version ist einfacher. Trotzdem vielen Dank.
Servus
Yes
18.07.2017 17:55:53
KlausF
Nur Hajo's Version ist einfacher
Ja. Da habe ich soeben auch etwas gelernt ...
Gruß
Klaus
Anzeige
AW: Yes
18.07.2017 17:59:27
Herbert
Hallo Klaus,
und so geht es mir auch immer noch, ich lerne immer wieder noch etwas dazu, und das, obwohl ich schon seit 1994 mit Excel arbeite! Oder vielleicht sollte ich das ja garnicht sagen, sonst kommt noch einer und sagt "und da weißt du das und das und das alles noch nicht!". Recht hat er! Aber ich bin noch immer lernwillig! ;o)=)
Servus
Anzeige
Sicher hätte er, aber nicht nur deshalb... ;-] orT
19.07.2017 03:32:05
Luc:-?
Gruß, Luc :-?
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Dollarzeichen aus Strings in Excel entfernen


Schritt-für-Schritt-Anleitung

Um Dollarzeichen aus einem String in Excel zu entfernen, kannst du die folgende VBA-Methode verwenden. Diese Methode ist besonders nützlich, wenn du mit Zelladressen arbeitest, die das Dollarzeichen enthalten. Hier ist, wie du es machst:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu, indem du auf Einfügen > Modul klickst.

  3. Kopiere den folgenden Code in das Modul:

    Sub DollarzeichenEntfernen()
       Dim originalString As String
       Dim bereich As Range
    
       ' Beispielbereich
       Set bereich = Range("A1:B10")
       originalString = bereich.Address
    
       ' Dollarzeichen entfernen
       Dim neuerString As String
       neuerString = Replace(originalString, "$", "")
    
       ' Ergebnis anzeigen
       MsgBox neuerString  ' zeigt "A1:B10"
    End Sub
  4. Schließe den VBA-Editor und führe das Makro aus, um den String ohne Dollarzeichen anzuzeigen.

Diese Methode verwendet die Replace-Funktion, um alle Dollarzeichen im String zu entfernen.


Häufige Fehler und Lösungen

  • Fehler: Das Makro funktioniert nicht, wenn du die Variable für die Zelladresse verwendest.

    • Lösung: Stelle sicher, dass die Zelladresse korrekt zugewiesen ist. Verwende Address(False, False), um die Dollarzeichen zu entfernen, bevor du die Adresse als String speicherst.
  • Fehler: Sortierung funktioniert nicht mit Variablen, die Dollarzeichen enthalten.

    • Lösung: Überprüfe, ob der Sortierbereich korrekt angegeben ist. Das Dollarzeichen ist in VBA nicht relevant, wenn du den Range direkt angibst.

Alternative Methoden

Eine alternative Methode, um Dollarzeichen aus einem String zu entfernen, ist die Verwendung der WorksheetFunction.Substitute-Funktion direkt in Excel. Hier ein Beispiel:

  1. Angenommen, der String mit Dollarzeichen steht in Zelle A1.
  2. Verwende die folgende Formel in einer anderen Zelle:

    =SUBSTITUTE(A1, "$", "")

Diese Formel ersetzt alle Dollarzeichen in dem String, der in Zelle A1 steht, durch nichts.


Praktische Beispiele

  • Beispiel 1: Wenn du den Bereich $A$1:$B$10 in eine einfache Adresse umwandeln möchtest, kannst du das VBA-Skript verwenden, um das Dollarzeichen zu entfernen und den resultierenden String zu verwenden.

  • Beispiel 2: Wenn du mit Formeln arbeitest und Dollarzeichen vermeiden möchtest, kannst du die SUBSTITUTE-Formel verwenden, um den Bereich dynamisch anzupassen.


Tipps für Profis

  • Verwendung von Shortcuts: Du kannst das Dollarzeichen in Excel auch schnell entfernen, indem du den Bereich direkt in eine Formel eingibst, ohne die Dollarzeichen. So umgehst du die Notwendigkeit, sie manuell zu entfernen.

  • Flexible Zellreferenzen: Überlege, ob du dynamische Zellreferenzen verwenden kannst, um die Notwendigkeit von Dollarzeichen zu minimieren. Das macht deine Formeln flexibler und einfacher zu handhaben.


FAQ: Häufige Fragen

1. Wie kann ich Dollarzeichen in einer Excel-Formel entfernen?
Du kannst die Funktion SUBSTITUTE verwenden, um Dollarzeichen aus einem String in einer Formel zu entfernen.

2. Warum sind Dollarzeichen in Excel wichtig?
Dollarzeichen dienen dazu, absolute Zellreferenzen zu erstellen, die beim Kopieren von Formeln nicht verändert werden. Sie sind in vielen Fällen entscheidend, um sicherzustellen, dass die richtigen Daten referenziert werden.

3. Gibt es einen Shortcut, um Dollarzeichen zu entfernen?
Es gibt keinen spezifischen Shortcut, um Dollarzeichen in Excel zu entfernen, aber das direkte Arbeiten mit Zellreferenzen ohne Dollarzeichen ist eine effektive Methode.

Durch diese Anleitungen und Tipps kannst du erfolgreich Dollarzeichen aus Strings in Excel entfernen und deine Arbeit effizienter gestalten.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige