Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
328to332
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
328to332
328to332
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zellenwert rechtsbündig aufteilen

Zellenwert rechtsbündig aufteilen
27.10.2003 08:17:16
ewald
Hallo Forum,

folgendes Makro (vom Dan) teilt den Zellenwert in die Nachbarzellen
linksbündig, möchte aber, das dass Makro rechtsbündig teilt.

Wenn man in den folgenden zwei Zeilen die Zahlen ändert auf - 4 und -3,
dann wird rechtsbündig geteilt aber nur für eine Zahl z. B. 0,88 nich für 12,03
da funktioniert es nicht.
Wenn man stattdessen -5 und -4 eintippt funktionirt es für eine Zahl wie
z. B. 12,03 nicht aber für 0,88.

NeueSp% = Zelle.Column + WertLen% - 2
Else
NeueSp% = Zelle.Column + WertLen% - 1

Kann man das Makro so flexibel gestalten das es gleich ist, ob eine
oder zwei Zahlen vor dem Komma stehen?
Das ganze Makro:


Sub ZellenAufteilen()
Dim Wert$, WertLen%, CharNr%, Char$, NeueSp%, Zelle As Range, Zellen As Range
' testen ob zellen ausgewahlt sind
If (TypeName(Application.Selection) <> "Range") Then
MsgBox "Keine Zellen ausgewahlt.": End
Else
' referenz an die ausgawahlte selection setzen
Set Zellen = Application.Selection
End If
Selection.NumberFormat = "0"
' alle zellen durchgehen und Wert$ In Einzelne Zellen Aufteilen
For Each Zelle In Zellen
Wert$ = CStr(Zelle.Value)
WertLen% = Len(Wert$)
' wenn ein Komma da ist, brauchen wir eine zelle weniger
If (InStr(1, Wert$, ",")) Then
' in diese spalte wird der neue character eingefugt
NeueSp% = Zelle.Column + WertLen% - 2
Else
NeueSp% = Zelle.Column + WertLen% - 1
End If
' fur jeden character in Wert$, beginnend mit dem letzten
For CharNr% = -WertLen% To -1
Char$ = Mid(Wert$, -CharNr%, 1)
' testen, ob es sich um Komma handelt oder nicht
If (Char$ <> ",") Then
Cells(Zelle.Row, NeueSp%).Value = Char$
NeueSp% = NeueSp% - 1
Else
Cells(Zelle.Row, NeueSp% + 1).Value = Char$ & Cells(Zelle.Row, NeueSp% + 1).Value
End If
Next CharNr%
Next Zelle
End Sub


Es wäre schön wenn mir jemand helfen könnte.

Herzlichen Dank im Voraus.

Grüße

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellenwert rechtsbündig aufteilen
27.10.2003 09:05:27
Galenzo
Hallo,
wenn du einfach nur eine Zahl in Vor- und Nachkommastellen auftrennen willst,
dann benutze doch Funktionen.
zB. in A1 steht deine Zahl (zB: 12,45)
dann schreibst du in B1: =GANZZAHL(A1)
und in C1: = A1-B1

Ich hoffe, das hilft dir etwas.
AW: Zellenwert rechtsbündig aufteilen
27.10.2003 09:32:48
ewald
Hallo Galenzo,

die Werte weden Spaltenweise in ein neues Blatt kopiert
per Makro ohne Formeln und die Werte sollen rechtsbündig
aufgeteilt werden.

Trotzdem Vielen Dank.

Grüße
AW: Zellenwert rechtsbündig aufteilen
27.10.2003 10:56:55
Galenzo
Die Aufteilung von rechts bis Komma so:

= Right(s, Len(s) - InStr(s, ","))

zusammengebastelt aus:
Len - ermittelt die Länge
Instr - sucht erste Vorkommen (hier: des Kommas)
Right - schneidet von rechts ab

mfg
Anzeige
AW: Vielen Dank für den Tipp
27.10.2003 11:45:06
ewald
Grüße

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige