Microsoft Excel

Herbers Excel/VBA-Archiv

Nur negative Vorzeichen ändern | Herbers Excel-Forum


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 Sub
Dies ä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.

Hat jemand eine Idee?

Gruss
Frédéric

  

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ß

David


  

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ß
David


  

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

Gruß
Rudi


  

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


Beiträge aus den Excel-Beispielen zum Thema "Nur negative Vorzeichen ändern"