"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

excel vba problem

HitTheCow 30.09.2008 - 10:37 835 4
Posts

HitTheCow

it's been an honor.
Avatar
Registered: Mar 2002
Location: bielefeld
Posts: 6376
wiedereinmal... :D

und zwar hab ich 3 spalten (A-C), welche mit 6 stelligen/2stelligen/2stelligen zahlen befüllt sind.
jedoch muss ich die zahlen übertragen, speichern, und mit ihnen rechnen, die meisten mit führenden nullen.

mein problem ist nun, dass ich, wenn ichs
1) als zahlen lasse (z.B.:######000000), er trotzdem ständig ohne die nullen rumhantiert,
2) als string übergebe usw usf hab ich zwar keine probleme mit dem hantieren, jedoch kann ich dann mit ihnen nicht mehr rechnen (klar, sind ja auch keine zahlen mehr).

gibts da irgendwie eine schöne lösung oder einen befehl, den ich noch nicht gefunden hab? oder muss ich ständig bei allen interaktionen den string in einen value und umgekehrt wandeln?
hab schon alle zellenformatierungen durch, einfache hochkomma spielereien, cstr() umwandlungen ...

any ideas?
tia, htc :)


ajo, problem2: :D
sortieren.
würd gern nach spalte A, dann B, dann C sortieren (bevorzugt ab einer gewissen zeile bis ganz weit unten).
aber er nimmt mir die dazugehörigen spalten D-H nicht mit...
ich kanns zwar einbinden, aber dann sortiert er die auch :(
Bearbeitet von HitTheCow am 30.09.2008, 14:06

Punisher

Bukanier
Avatar
Registered: Sep 2002
Location: Disneyland
Posts: 1867
also mal zum Zellenformat: Wenn du das Zellenformat auf Custom stellst, und dann soviel Nuller eingibst wie du Stellen brauchst, werden diese auch als Nullen vorangestellt
zB
Format: 000 -> 003
Format: 0000 -> 0003

Rauten sind nur dazu da um Tausenderpunkte zu machen

:edit:

und beim sortieren würd ich mal das vorschlagen ... oder bringt das bei dir nix

Code:
    Range("A1:H9").Select
    Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Key2:=Range("B1") _
        , Order2:=xlAscending, Key3:=Range("C1"), Order3:=xlAscending, Header:= _
        xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:= _
        xlSortNormal

bzw kann die erste zeile auch durch ein column select ersetzt werden
Code:
Columns("A:H").Select
Bearbeitet von Punisher am 30.09.2008, 11:19

HitTheCow

it's been an honor.
Avatar
Registered: Mar 2002
Location: bielefeld
Posts: 6376
danke danke :)
sortieren funzt - hat nun auch mit dem makrorekorder funktioniert:
Code:
Range("A9:H9999").Select
Selection.sort Key1:=Range("A9"), Order1:=xlAscending, Key2:=Range("B9"), _
Order2:=xlAscending, Key3:=Range("C9"), Order3:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, _
DataOption3:=xlSortNormal

beim zellenformat mags aber noch nicht so recht:
ob ich # einfüge oder nicht ändert garnix, auch keine tausenderpunkte - egal.
das mit den nullern passt.
nur wenn ich in ein feld, welches mit 000000 formatiert ist eine 3 eintrage, zeigt er mir zwar optisch 000003 an, aber eigentlich steht eine 3 drinnen.
mal ein bildchen machen:
excel_131596.png
auch wenn ich ihm per hand 001234 eingeb... arrrr excel-noob auf hochglanz hier :D
ich will ein wysiwyg-excel haben! :(

edit:
Range("A1").Select
Selection.NumberFormat = "000000"
ist eigentlich dasselbe wie wenn ichs mit der hand mach. bringt mich aber auch nicht weiter.
Bearbeitet von HitTheCow am 30.09.2008, 12:32

Punisher

Bukanier
Avatar
Registered: Sep 2002
Location: Disneyland
Posts: 1867
Nuller per Hand eingeben wird nie funktionieren, da schlägt immer das Format zu.

HitTheCow

it's been an honor.
Avatar
Registered: Mar 2002
Location: bielefeld
Posts: 6376
ja... hab jetzt bissi rumgemurkst und es per hand erledigt :)
danke für die unterstützung!
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz