Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1924to1928
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bereiche selektieren > in Zahl umwandeln

Bereiche selektieren > in Zahl umwandeln
31.03.2023 08:41:18
Addi

Hallo Zusammen,
ich möchte mittels VBA in einem Sheet 4 Bereiche (Spalte B, D, E und G) jeweils von Zeile 2 bis "Letzte Zeile" selektieren und die Zellinhalte in eine Zahl umwandeln.
Könnt Ihr mir dabei ggf. helfen?
Vielen Dank vorab...viele Grüße
Addi

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bereiche selektieren > in Zahl umwandeln
31.03.2023 08:56:18
RPP63
Moin!
Was bedeutet "Zellinhalte"?
Sind dort als Text formatierte "Zahlen"?
Dann prinzipiell mittels Text in Spalten.
Da man dies aber nicht auf einen mehrspaltigen Bereich anwenden kann, muss man die Spalten iterieren.

Lädst Du mal ein Beispiel hoch?

Gruß Ralf


AW: Bereiche selektieren > in Zahl umwandeln
31.03.2023 09:03:04
Addi
Hallo Ralf,
vielen Dank für die schnelle Rückmeldung. Ja es sind als Text formatierte Zahlen.
Leider kann ich kein Upload machen - das ist von der IT gesperrt...
Die Zahlen stehen in der Zelle mit einem grünen Dreieck links oben...die Spalte ist als "Standard" formatiert.
Vielen Dank und viele Grüße
Addi


Anzeige
AW: Bereiche selektieren > in Zahl umwandeln
31.03.2023 09:29:46
RPP63
Dann teste mal:
Sub Textzahl_Zahl()
Dim s&
For s = 2 To 7
  Select Case s
    Case 3, 5 'nix machen 
    Case Else: Columns(s).TextToColumns
  End Select
Next
End Sub
Gruß Ralf


Anzeige
Risiko!
31.03.2023 09:48:40
Daniel
Hi
bei TextToColumns sollte man die Parameter nicht weglassen, denn hier gilt, dass bei fehlender Parameterangabe die letzten Einstellungen übernommen werden.
das könnte dazu führen, dass im bereich befindliche Texte (du hast Zeile 1 ja nicht ausgeschlossen) fälschlicherweise getrennt werden.
Dh man sollte die Parameter so mitgeben, dass keine Aufteilung in Spalten stattfinden kann, egal was einer Zelle steht (Getrennt + alle Trennzeichen abwählen, oder Feste Breite mit einer Spalte)

Gruß Daniel


AW: Risiko!
31.03.2023 10:55:31
RPP63
Ich bin mir des Risikos bewusst, Daniel! ;)
Alles ab Zeile 2 ginge ja auch so:
Cells(2, s).Resize(2 ^ 20 - 1).TextToColumns
Ist aber nicht wirklich ernstgemeint.


Anzeige
AW: Risiko!
31.03.2023 12:09:35
Daniel
und warum lässt du dann den Fragesteller in diese Falle laufen?


AW: Bereiche selektieren > in Zahl umwandeln
31.03.2023 09:40:21
Daniel
Hi
Cells.SpecialCells(xlCellTypeLastCell).Offset(1, 0).Copy
Range("B:B,D:E,G:G").PasteSpecial xlPasteValues, operation:=xlAdd
Gruß Daniel


AW: Bereiche selektieren > in Zahl umwandeln
31.03.2023 09:57:45
Daniel
noch ne Frage: sind das Ganzzahlen oder Dezimalzahlen?
bei Dezimalzahlen + Umwandlung per Makro hast du das Problem, dass bei einer Ausführung der Umwandlung per Makro Excel das Komma nicht als Dezimal, sondern als Tausendertrennzeichen interpretieren wird.
Wenn du also deutsche Dezimalzalen mit Komma als Dezimalzeichen vorliegen hast, müsstest du erst das Komma durch den Punkt austauschen, was aber schon ausreicht, um die Umwandlung zu initieren.
dh bei Dezimalzahlen reicht:

Range("B:B,D:E,G:G").Replace ",", ".", xlpart
wenn man die Zeile 1 explizt ausnehmen muss:
Intersect(ActiveSheet.UsedRange.Offset(1, 0), Range("B:B,D:E,G:G")).Replace ",", ".", xlpart
hat man amerikanische Dezimalzahlen, dann tauscht man Punkt durch Punkt.

Gruß Daniel


Anzeige
AW: Bereiche selektieren > in Zahl umwandeln
31.03.2023 12:16:54
Addi
Vielen Dank an Euch beide - ich werde mir Eure Lösungen mal anschauen und testen...
...es handelt sich um Ganzzahlen.
Viele liebe Grüße
Addi

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige