Betrifft: Nur negative Vorzeichen ändern
von: F. Jordan
Geschrieben am: 28.01.2010 15:01:58
Hallo zusammen
Ich versuche in einer variablen Anzahl von Tabellenblättern die negativen Vorzeichen in Positive zu ändern.
Zum Beginn habe ich dies mit einem kleinen Beispiel versucht.
A1: -1
A2: 2
A3: (leer)
A4: -3
Damit versucht zu drehen (inkl. Beachtung von leeren Zellen)
Sub Vorzeichen() Dim rngZelle As Range For Each rngZelle In Selection If IsNumeric(rngZelle.Value) And Not IsEmpty(rngZelle) Then rngZelle.Value = -rngZelle.Value Next End SubDies ändert aber alle Vorzeichen in Gegenteil nicht nur die Negativen. Ausserdem muss ich hier den Range von Hand auswählen und ich kann es nicht auf eine variable Anzahl von Tabellen anwenden.
Betrifft: AW: Nur negative Vorzeichen ändern
von: David
Geschrieben am: 28.01.2010 15:08:39
Hallo Frederic.
vielleicht einfach
if rngZelle<0 then ...Gruß
Betrifft: AW: Nur negative Vorzeichen ändern
von: David
Geschrieben am: 28.01.2010 15:09:30
ich meinte natürlich
If rngZelle.Value < 0 Then ...Gruß
Betrifft: AW: Nur negative Vorzeichen ändern
von: F. Jordan
Geschrieben am: 28.01.2010 15:24:18
Hallo David
Eigentlich logisch. Danke!
Gruss
Frédéric
Betrifft: AW: Nur negative Vorzeichen ändern
von: Rudi Maintaire
Geschrieben am: 28.01.2010 15:11:40
Hallo,
Sub tt() Dim wks As Worksheet, rng As Range Application.ScreenUpdating = False For Each wks In Worksheets For Each rng In wks.Columns(1).SpecialCells(xlCellTypeConstants, xlNumbers).Cells If rng < 0 Then rng = rng * -1 Next Next Application.ScreenUpdating = True End Sub
Betrifft: AW: Nur negative Vorzeichen ändern
von: F. Jordan
Geschrieben am: 28.01.2010 15:23:46
Hallo Rudi
Wenn ich Deinen Code richtig lesen kann, dann ist er für jedes Arbeitsblatt in der Mappe.
Wie müsste er aussehen, wenn ich erst ab einem bestimmten Arbeitsblat beginnen möchte?
Gruss
Frédéric
Betrifft: AW: Nur negative Vorzeichen ändern
von: F. Jordan
Geschrieben am: 28.01.2010 15:24:47
Betrifft: AW: Nur negative Vorzeichen ändern
von: F. Jordan
Geschrieben am: 28.01.2010 16:08:15
Sorry "Frage offen" nicht erwischt.
Betrifft: ...Indem du eine Startkonstante festlegst,...
von: Luc:-?
Geschrieben am: 28.01.2010 18:14:12
...Frederic,
und dann entweder einen For i = startIdx To ...- oder den bisherigen For Each-Zyklus wählst und im letzteren Fall die Befehlsausführung davon abhängig machst, ob der Blatt-Index ≥ startIdx ist, vorausgesetzt, die Blätter stehen auch in der richtigen Reihenfolge.
Eine Konstante am PgmAnfang lässt sich leichter ändern als irgendwelche Zahlen irgendwo im Code...
Gruß Luc :-?
Betrifft: AW: rng.Value= Abs(rng.Value) ...
von: Gerd L
Geschrieben am: 28.01.2010 20:23:19
... reicht auch.
Gruß Gerd