excel vba problem

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/excel_vba_problem_200148/page_1 - zur Vollversion wechseln!


HitTheCow schrieb am 30.09.2008 um 10:37

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 :(


Punisher schrieb am 30.09.2008 um 11:10

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


HitTheCow schrieb am 30.09.2008 um 11:40

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.


Punisher schrieb am 30.09.2008 um 12:49

Nuller per Hand eingeben wird nie funktionieren, da schlägt immer das Format zu.


HitTheCow schrieb am 30.09.2008 um 14:07

ja... hab jetzt bissi rumgemurkst und es per hand erledigt :)
danke für die unterstützung!




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026