Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA - Hochkomma entfernen

VBA - Hochkomma entfernen
WalterK
Hallo,
Mit folgendem Codeteil aus einem Forum sollten die Hochkommas aus einer Tabelle entfernt werden. Bei Zahlen funktioniert das auch. Dachte eigentlich, dass es bei Text auch funktioniert. Tut es aber nicht.
Was muss geändert werden, damit alle Hochkommas in der Tabelle entfernt werden.
Option Explicit
Sub Hochzeichenentfernen()
Dim Zelle As Range
For Each Zelle In ActiveSheet.Range(Cells(1, 1), Cells(30, 3))
If Zelle = "" Or Zelle.Text = "FALSCH" Or Zelle.Value = False Then
Zelle.ClearContents
Else
If (InStr(2, Zelle.Text, ".") Or InStr(2, Zelle.Text, ":")) _
And IsDate(Zelle.Text) Then 'Text=Datum/Uhrzeit ?
Zelle.Value = CDate(Zelle.Text)
ElseIf IsNumeric(Zelle.Text) Then 'Text = Zahl ?
Zelle.Value = CDbl(Zelle.Text)
Else
Zelle.Value = Zelle.Text
End If
End If
Next Zelle
End Sub
Danke und Servus, Walter
Anzeige
Wenn du mit 'Hochkomma' die ' am Anfang ...
31.01.2012 21:01:01
Luc:-?
…von Texten meinst, Walter,
könnte das eigentl fktionieren, anderenfalls muss ich dich enttäuschen → die SubProz tut nichts dgl! Sie wandelt numerische Texte in Zahlen um, löscht Leer-Strings bzw Wahrheitswert FALSCH und wandelt Datum(stexte) in echtes Datum um, ansonsten übernimmt sie das Erscheinungsbild des Zellwerts als Zellwert, wobei ein nicht angezeigtes einleitendes Apostroph, was das Folgende zu Text macht, verschwinden könnte. Alle weiteren Apostrophs in Texten bleiben natürl erhalten.
Gruß Luc :-?
Anzeige
AW: VBA - Hochkomma entfernen
31.01.2012 22:53:54
Gerd
Hallo Walter!
With Range(Cells(1, 1), Cells(30, 1))
.Value = . Value
End With
---weiterer Code
Gruß Gerd
AW: VBA - Hochkomma entfernen
31.01.2012 23:17:58
WalterK
Hallo Gerd,
Das einfache Hochkomma bleibt nach Ausführen des Codes bei den Zellen mit Text erhalten, bei den Zahlen ist es nicht mehr vorhanden!
Ich möchte in der gesamten Tabelle alle Hochkommas (in der Regel stehen sie immer an 1. Stelle) entfernen.
Hier eine Beispieltabelle:
https://www.herber.de/bbs/user/78672.xls
Danke und Servus, Walter
Anzeige
Hochkomma --> Len(PrefixCharacter) = 1
31.01.2012 23:24:55
Matthias
Hallo Walter
Für Deine Bsp.Datei so:
Sub HochzeichenEntfernen()
Dim X&
For X = 1 To 3
If Len(Cells(4, X).PrefixCharacter) = 1 Then Cells(4, X).Value = Cells(4, X).Value
Next
MsgBox ";o)"
End Sub
Gruß Matthias
AW: Hochkomma --> Len(PrefixCharacter) = 1
31.01.2012 23:40:36
WalterK
Hallo Matthias,
die Hochkommas in den Textzellen werden nicht gelöscht, oder mache ich etwas falsch!
Danke für die Hilfe und Servus, Walter
Anzeige
AW: Ich habe es an ->Deiner<- Datei getestet
01.02.2012 00:10:00
WalterK
Hallo Matthias,
ich habe jetzt die hochgeladene Datei ausprobiert.
In den Zellen A4 und C4 ist nach Ausführen des Makros das Hochkomma nach wie vor vorhanden, in B4 ist es nicht mehr vorhanden. So scheint es jedenfalls, denn oben in der Bearbeitungszeile steht bezugnehmend auf Zelle C4 nach wie vor 'Gesamt (also mit Hochkomma).
Schreibe ich allerdings in eine andere Zelle das Wort Gesamt und überprüfe die Zelle mit C4 dann wird ein Wahrheitswert ausgegeben.
Komische Sache meine ich, so passts aber auch.
Besten Dank für die Hilfen, Servus Walter
Anzeige
AW: Ich habe es an ->Deiner<- Datei getestet
01.02.2012 00:35:08
Reinhard
Hallo Walter,
ich habe das mit XL 2000 getestet. In der bearbeitungszeile sieht man nach dem Makro
daß die Hochkommas weg sind. In allen drei Zellen.
Gruß
Reinhard
VBA - Hochkomma entfernen
01.02.2012 00:48:12
Erich
Hi Walter,
so weit ich weiß gibt es keinen 'ordentlichen' Weg für die Beseitigung der "'".
Man kann das Format einer 'sauberen' Zelle kopieren:

Sub HochkommaWeg()
Cells(3, 1).Copy
Cells(1, 1).PasteSpecial Paste:=xlPasteFormats, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
End Sub
Natürlich: Hier werden alle Formate übernommen - die müssen also schon passen.
Ein anderer Weg wäre:
Den Wert der "'"-Zelle (also den Text ohne "'") in eine andere Zelle schreiben, wie gewünscht formatieren,
diese Zelle dann auf die "'"-Zelle kopieren.
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich
Anzeige
Abschließend möchte ich noch ....
01.02.2012 13:25:38
WalterK
Hallo,
... allen Helfern mitteilen, dass ich die gleiche Datei jetzt am Laptop (Excel 2003) ausprobiert habe und hier werden tatsächlich keine Hochkommas mehr angezeigt. Wieso das beim StandPC (Excel 2010) anders ist, bleibt mir ein Rätsel. Es passt aber, weil ich nun damit umzugehen weiß.
Besten Dank und Servus, Walter
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Hochkomma in Excel entfernen mit VBA


Schritt-für-Schritt-Anleitung

Um das Hochkomma (Apostroph) in Excel zu entfernen, kannst Du ein einfaches VBA-Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung, um alle Hochkommas in einer Tabelle zu entfernen:

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

  2. Klicke im Menü auf Einfügen und wähle Modul.

  3. Füge den folgenden VBA-Code in das Modul ein:

    Option Explicit
    Sub Hochzeichenentfernen()
        Dim Zelle As Range
        For Each Zelle In ActiveSheet.Range(Cells(1, 1), Cells(30, 3))
            If Zelle.PrefixCharacter = "'" Then
                Zelle.Value = Zelle.Value
            End If
        Next Zelle
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Führe das Makro aus, indem Du ALT + F8 drückst, das Makro Hochzeichenentfernen auswählst und auf Ausführen klickst.

Mit diesem Makro werden alle Hochkommas, die als Präfix in den Zellen stehen, entfernt.


Häufige Fehler und Lösungen

  • Problem: Das Hochkomma bleibt in den Textzellen erhalten.

    • Lösung: Stelle sicher, dass Du das PrefixCharacter korrekt überprüfst und das Makro auf die richtigen Zellen anwendest.
  • Problem: Das Makro entfernt nur die Hochkommas bei Zahlen.

    • Lösung: Der Code muss angepasst werden, um auch Textzellen zu berücksichtigen. Achte darauf, dass das Makro in dem richtigen Bereich läuft.

Alternative Methoden

Falls Du VBA nicht verwenden möchtest, gibt es auch andere Methoden, um das Hochkomma zu entfernen:

  1. Einfügen und Überschreiben:

    • Kopiere den Inhalt der Zelle ohne das Hochkomma in eine andere Zelle und überschreibe dann die ursprüngliche Zelle.
  2. Text in Spalten:

    • Wähle die Zellen aus, gehe zu Daten und wähle Text in Spalten. Dieser Prozess kann helfen, den Text ohne Hochkomma zu extrahieren.
  3. Suchen und Ersetzen:

    • Drücke STRG + H, um das Fenster „Suchen und Ersetzen“ zu öffnen, und suche nach ' (Hochkomma). Lass das Ersetzen-Feld leer und klicke auf „Alle ersetzen“.

Praktische Beispiele

Hier sind einige Beispiele, wie Du Hochkommas in verschiedenen Szenarien entfernen kannst:

  • Entfernen von Hochkommas aus einer Liste von Namen:

    Sub NamenOhneHochkomma()
        Dim Zelle As Range
        For Each Zelle In ActiveSheet.Range("A1:A10")
            If Zelle.PrefixCharacter = "'" Then
                Zelle.Value = Zelle.Value
            End If
        Next Zelle
    End Sub
  • Hochkomma vor einer Zahl entfernen: Du kannst das gleiche Prinzip anwenden, um Hochkommas zu entfernen, die vor Zahlen stehen.


Tipps für Profis

  • Makros effizient verwenden: Speichere Deine VBA-Makros in einer persönlichen Arbeitsmappe, um sie in jedem Excel-Dokument verwenden zu können.
  • Fehlerbehandlung einbauen: Verwende On Error Resume Next, um potenzielle Fehler im Makro abzufangen und zu ignorieren.
  • Regelmäßige Backups: Mache regelmäßig Backups Deiner Excel-Dateien, bevor Du Makros ausführst, um Datenverlust zu vermeiden.

FAQ: Häufige Fragen

1. Warum lässt sich das Hochkomma in Excel nicht entfernen? Manchmal liegt das daran, dass das Hochkomma als Präfix verwendet wird und nicht als sichtbares Zeichen. Verwende VBA, um es gezielt zu entfernen.

2. Gibt es eine Möglichkeit, Hochkommas aus einer gesamten Spalte zu entfernen? Ja, Du kannst den Bereich im VBA-Code anpassen, um die gesamte Spalte auszuwählen, z.B. ActiveSheet.Columns("A").Value.

3. Was ist der Unterschied zwischen Hochkomma und Anführungszeichen? Das Hochkomma (') wird oft verwendet, um einen Textwert in Excel zu kennzeichnen, während Anführungszeichen (") in VBA verwendet werden, um Strings darzustellen.

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