Hallo Thomas,
…das Wichtigste hat Du leider vergessen zu erwähnen: passt
es denn bei den eingefügten Werten mit den Daten?
Die eingefügten Daten passen.
Von F9:F74 entfernt er die Hochkommata und schreibt die Werte rechtsbündig in die Zelle.
Du musst nur einfach den Offset weglassen, dann passt das -
soooooo schwer kann das IMO doch nicht sein:
Klar, mein Fehler.
Sub test()
Dim z As Range
For Each z In Range(„F9:F74“)
If Not z.Value = „“ And Not z.Value = „—“ Then
With z
.NumberFormat = „General“
.Value = CDbl(CStr(z.Text))
End With
End If
Next
End Sub
Das passt für die eine Spalte.
Erweitere ich den Bereich z.B. auf C9:F74, sagt er
„Typen unverträglich“. D.h, er kann das immer nur mit
einer Spalte tun.
Kann ich ihm sagen, er soll alle vorhandenen Spalten
ab B abklappern und das obige Makro drüberschicken?
Gruß
Rolf
Moin Reinhard,
ich habs nochmal versucht. Es passiert doch was.
Wenn ich den Bereich verkleinere, z.B. D10:F43, dann nimmt er
nur von D10 das Hochkomma weg, sonst passiert nix.
Begrenze ich das Ganze auf Spalte F mit F10:F43, bearbeitet
er nur F10:F15. Die Hochkommata sind weg, die Zahlen rechtsbündig
und richtig. Aber der Rest …
Gruß
Rolf
Okay, probiere halt den nachfolgenden Code.
Ist doch nur eine Frage der geduld bis mal ein Code klappt
-))
Gruß
Reinhard
Public Sub test5()
’ Idee: Rolf
’ Codes: Thomas, Nepumuk
’ Gesamtcodierung: Reinhard
Dim objCell As Range
On Error GoTo ende 'wenn Specialcells nix findet
Application.ScreenUpdating = False
For Each objCell In
ActiveSheet.Range(„A1:BI350“).SpecialCells(xlCellTypeConstants)
If objCell.PrefixCharacter „“ Then objCell.Value =
CDbl(CStr(objCell.Text))
Next
Range(„A1:BI350“).NumberFormat = „General“
ende:
Application.ScreenUpdating = True
End Sub
Ähm - Du hast das sicher getestet, aber bei mir hat’s absolut
keinen Effekt auf die Tabelle (mit der hochgeladenen und
meinem
Original getestet). Die Hochkommata bleiben überall drin.
Sonst hat’s auch ein paar Sekunden gedauert, bis er fertig
war.
Jetzt zuckt der Bildschirm nur kurz (Wäre ja schön, wenn’s so
schnell ginge
. )
Mach ich was falsch?
Gruß
Rolf
Grüezi Rolf
…das Wichtigste hat Du leider vergessen zu erwähnen: passt
es denn bei den eingefügten Werten mit den Daten?
Die eingefügten Daten passen.
Von F9:F74 entfernt er die Hochkommata und schreibt die Werte
rechtsbündig in die Zelle.
Na, das ist doch immerhin mal ein Fortschritt und erleichtert die weiteren Schritte.
Das passt für die eine Spalte.
Erweitere ich den Bereich z.B. auf C9:F74, sagt er
„Typen unverträglich“. D.h, er kann das immer nur mit
einer Spalte tun.
Nein, aber Du sagtest bis heute nicht, was Du denn eigentlich tun willst, sondern beziehst dich in deinen Angaben auch nur auf eine Spalte.
Sogar das Beispiel, das Du hochgeladen hat, bezieht sich auf eine einzelne Spalte und nicht alles in dem Tabellenblatt.
Kann ich ihm sagen, er soll alle vorhandenen Spalten
ab B abklappern und das obige Makro drüberschicken?
Die folgenden Zeilen dürften deinem ‚Leiden‘ ein Ende bereiten:
Sub Delete\_HochKomma()
Dim rngZelle As Range
For Each rngZelle In ActiveSheet.UsedRange
rngZelle.FormulaLocal = rngZelle.FormulaLocal
Next rngZelle
End Sub
Doch Vorsicht!
Dein Tabellenblatt hat ein ganz erhebliches Problem;
Zellen die neu eingefügt werden (oder wenn alle nicht verwendeten gelöscht werden) sind im Textformat und nicht im ‚Standard‘-Format eingefügt.
Es stellt sich mir daher mehr die Frage wie es kommt, dass dein Tabellenblatt durchs Band weg mit dem Hochkommazeichen ‚versehen‘ ist.
Das ist meiner Ansicht nach der Punkt an dem Du grundsätzlich ansetzen solltest.
Mit freundlichen Grüssen
Thomas Ramel
Moin Thomas,
sorry für die späte Antwort, ich war ein paar Tage außer Betrieb.
Die folgenden Zeilen dürften deinem ‚Leiden‘ ein Ende
bereiten:
Sub Delete_HochKomma()
Dim rngZelle As Range
For Each rngZelle In ActiveSheet.UsedRange
rngZelle.FormulaLocal = rngZelle.FormulaLocal
Next rngZelle
End Sub
Jawoll, jetzt klappt das. Vielen herzlichen Dank.
Doch Vorsicht!
Dein Tabellenblatt hat ein ganz erhebliches Problem;
Zellen die neu eingefügt werden (oder wenn alle nicht
verwendeten gelöscht werden) sind im Textformat und nicht im
‚Standard‘-Format eingefügt.
Es stellt sich mir daher mehr die Frage wie es kommt, dass
dein Tabellenblatt durchs Band weg mit dem Hochkommazeichen
‚versehen‘ ist.
Die Datei wird mir vom Kunden so angeliefert 
Danke und allen schöne Feiertage, ich mach jetzt Urlaub 
Rolf