Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1136to1140
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
Inhaltsverzeichnis

Negative Werte ins Positive setzten

Negative Werte ins Positive setzten
F.
Hallo
Habe mit diesem Code versucht alle negativen Werte zweier Spalten in allen Tabellen ab dem 7. Blatt vom Negativen ins Positive zu drehen. Es würde klappen, aber nur mit dem ersten Blatt.
Sub Negative_Vorzeichen()
Dim i As Long
For i = 7 To Sheets.Count
Range("E:E,H:H").Select
Range("H1").Activate
Selection.Replace What:="-", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Next i
Sheets("Makros starten").Select
MsgBox "Negative Werte ins Positive gesetzt"
End Sub

Ich denke, die Schleife (oder wie das nennt) ist falsch. Kann mir jemand weiterhelfen?
Gruss
Frédéric
AW: Negative Werte ins Positive setzten
15.02.2010 14:14:49
Hajo_Zi
Hallo Frédéric,
Ich würde vermute da fehlt ein Bezug zur Tabelle und Du fängst erst bei Tabelle 7 an und ich vermute mal auch der Falsche Lösungsansatz. Aber ich baue dies nicht nach.
Option Explicit
Sub Negative_Vorzeichen()
Dim i As Long
For i = 7 To Sheets.Count
With Worksheets(i)
.Range("E:E,H:H").Replace What:="-", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End With
Next i
MsgBox "Negative Werte ins Positive gesetzt"
End Sub


Anzeige
AW: Negative Werte ins Positive setzten
15.02.2010 14:25:01
F.
Hallo Hajo
Ich möchte die Veränderung erst ab dem siebten Blatt starten. Der Name dieses Blattes ändert sich ständig, ich kann deshalb keinen Bezug darauf setzen bzw. ich wüsste nicht wie.
Gruss
Frédéric
AW: Negative Werte ins Positive setzten
15.02.2010 14:28:59
Hajo_Zi
Hallo Frédéric,
warum offen?
Gruß Hajo
AW: Negative Werte ins Positive setzten
15.02.2010 14:35:17
F.
Aus Dummheit.. ist eben Montag. Aus Versehen angeklickt.
Gruss und Sorry
Frédéric
AW: Negative Werte ins Positive setzten
15.02.2010 14:38:10
F.
Hallo Hajo
Vielen Dank für die Hilfe.
Gruss
Frédéric
Die Schleife ist NICHT falsch, du benutzt sie,...
15.02.2010 14:15:27
Luc:-?
...d.h., die Laufvariable, nur nicht, Frédéric...!
Außerdem gefällt mir die Methode nicht. Mit xlPart würdest du ggf auch Bindestriche in Texten löschen, wenn nicht gar Minuszeichen in Formeln...
Gruß Luc :-?
Anzeige
AW: Die Schleife ist NICHT falsch, du benutzt sie,...
15.02.2010 14:21:41
F.
Hallo Luc
Ok, wieder einmal was gelernt. Wie müsste ich sie korrekt benutzen?
Die Methode gefiel mir auch nicht sehr, hatte jedoch keine andere Idee. In den beiden Spalten sind nur Zahlen positiver und negativer Art. Die von Dir angesprochenen Bindestriche liegen in anderen Spalten. Formeln sind auch keine enthalten.
Gruss
Frédéric
AW: Die Schleife ist NICHT falsch, du benutzt sie,...
15.02.2010 14:37:06
JOWE
Hallo Frédéric,
so z.B.:
Sub Negative_Vorzeichen()
Dim i As Long
Dim z As Object
For i = 7 To Sheets.Count
For Each z In Sheets(i).Range("E:E,H:H")
If IsNumeric(z.Value) And z.Value 

dauert aber natürlich 'ewig'
Gruß
Jochen
Anzeige
AW: Die Schleife ist NICHT falsch, du benutzt sie,...
15.02.2010 14:40:36
F.
Hallo Jochen
Vielen Dank für diesen (wenn auch "ewigen") Lösungsansatz.
Gruss
Frédéric
Eine deiner analoge Methode fkt auch, ...
15.02.2010 16:26:33
Luc:-?
...wenn man sie richtig anwendet, Frédéric... ;-)
Hier wdn alle Zellen mit negativen Werten direkt „angelaufen“, egal was sonst noch _ so an '-'en im Blatt existiert...

Sub InPositiv()
Dim i As Long, vorZelle As Range
For i = 7 To Sheets.Count
While vorZelle Is Nothing Or ActiveCell.Address  vorZelle.Address
Set vorZelle = ActiveCell
Cells.Find(What:="-*", After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlWhole, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False).Activate
ActiveCell = Abs(ActiveCell)
Wend
Next i
Sheets("Makros starten").Select
MsgBox "Negative Werte erfogreich umgewandelt!", vbInformation + vbOKOnly, "InPositiv"
End Sub
Allerdings ist mir nicht klar, warum du so etwas machst. Wdn evtl Berechnungen mit diesen Werten dann uU nicht falsch?! Negative Werte ggf auf 0 zu setzen, ergäbe für mich eher einen Sinn...
Gruß Luc :-?
Anzeige
AW: Eine deiner analoge Methode fkt auch, ...
15.02.2010 16:52:13
F.
Hallo Luc
Danke für Deinen Input. In der Welt des VBA fühle mich noch nicht zu Hause. Klappt irgendwann hoffentlich besser. :) Konnte meine Aufgabe mit sehr viel Hilfe aus diesem Forum zu Ende führen. Vielen Dank auch an Dich!
Ohne die Datei zu sehen ist der Sinn dahinter kaum ersichtlich.
Kurzübersicht:
- Eine SAP-Liste wird zuerst mittels Formeln "zurechtgestaucht".
- Dann die Summen und 0er-Zeilen rausgelöscht
- Aufsplittung pro Buchungskreis. Zudem müssen die Daten nach RG oder GU getrennt werden.
- Aus der Gesamtliste werden die benutzten Buchungskreise für die Tabellenblätter ausgelesen (Suchkriterium)
- Daten aus der Gesamtliste werden in die jeweilige Tabelle eintragen
- Alle Tabellenblätter müssen von der Summe her identisch mit der Gesamtliste sein (einfache Prüfung)
- Da SAP die Daten nur in positiver Form liest, müssen alle negativen Zahlen am Ende umgedreht werden (keine weitere Verarbeitung)
- alle Tabellen werden einzeln im txt.-Format abgespeichert
Das ist die Idee dahinter. Ich bin mir sicher, dass es einfacher und schneller gehen würde, allerding reicht mein Wissen nicht. Aber alles ist lernbar....
Gruss
Frédéric
Anzeige
Aha, na dann... Wirste schon schaffen! orT
15.02.2010 16:58:40
Luc:-?
Toi, toi, toi! Gruß Luc :-?

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige