Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

VBA - Hochkomma entfernen | Herbers Excel-Forum


Betrifft: VBA - Hochkomma entfernen von: WalterK
Geschrieben am: 31.01.2012 20:44:06

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

  

Betrifft: Wenn du mit 'Hochkomma' die ' am Anfang ... von: Luc:-?
Geschrieben am: 31.01.2012 21:01:01

…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 :-?


  

Betrifft: AW: VBA - Hochkomma entfernen von: Gerd L
Geschrieben am: 31.01.2012 22:53:54

Hallo Walter!

With Range(Cells(1, 1), Cells(30, 1))
.Value = . Value
End With

---weiterer Code

Gruß Gerd


  

Betrifft: AW: VBA - Hochkomma entfernen von: WalterK
Geschrieben am: 31.01.2012 23:17:58

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


  

Betrifft: Hochkomma --> Len(PrefixCharacter) = 1 von: Matthias L
Geschrieben am: 31.01.2012 23:24:55

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


  

Betrifft: AW: Hochkomma --> Len(PrefixCharacter) = 1 von: WalterK
Geschrieben am: 31.01.2012 23:40:36

Hallo Matthias,

die Hochkommas in den Textzellen werden nicht gelöscht, oder mache ich etwas falsch!

Danke für die Hilfe und Servus, Walter


  

Betrifft: Ich habe es an ->Deiner<- Datei getestet von: Matthias L
Geschrieben am: 31.01.2012 23:45:49

Hallo Walter

https://www.herber.de/bbs/user/78673.xls

Gruß Matthias


  

Betrifft: AW: Ich habe es an ->Deiner<- Datei getestet von: WalterK
Geschrieben am: 01.02.2012 00:10:00

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


  

Betrifft: AW: Ich habe es an ->Deiner<- Datei getestet von: Reinhard
Geschrieben am: 01.02.2012 00:35:08

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


  

Betrifft: VBA - Hochkomma entfernen von: Erich G.
Geschrieben am: 01.02.2012 00:48:12

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


  

Betrifft: Abschließend möchte ich noch .... von: WalterK
Geschrieben am: 01.02.2012 13:25:38

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


Beiträge aus den Excel-Beispielen zum Thema "VBA - Hochkomma entfernen"