ich würde gerne in einer Tabelle mit ca. 4.000 Zeilen aus einer Zahl z.B. 100 eine -100 machen, wenn in der Spalte daneben ein S steht Sie ungefähr so aus:
A B C 100 H 100 S
Also wenn in einer Zeile in B ein S steht soll er (A * -1 ) nehmen, wenn H dann so lassen. wie bekomme ich das hin das er das für jede Zeile prüft und durchführt?
Freue mich über eine detaillierte Beschreibung , da ich nicht so firm in Excel bin
Vielen Dank
chefe321[ Bild bitte so als Datei hochladen: Klick mich! ]
wenn ich mal davon ausgehe, dass in C:F im Original weitere Daten stehen, wird das wohl so nicht ohne weiteres gehen. Um die Daten in der gleichen Spalte umzuwandeln, muß man mit VBA arbeiten.
Als einfaches Beispiel:
Code:
Sub wechseln() Dim loCo as long Dim loLast as long
lolast=cells(rows.count,1).end(xlup).row for loco=1 to lolast if cells(loco,2)="S" then cells(loco,1)=-cells(loco,1) next End Sub
Gruß
Edgar
Meine Antworten sind freiwillig und ohne Gewähr! Über Rückmeldungen würde ich mich freuen.
das wäre mein Vorschlag (geht in beide Richtungen, ist wiederholt anwendbar und etwas schneller):
Code:
Sub Wechseln() Dim i As Long Dim varD As Variant
With Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp)) varD = .Resize(, 2).Value For i = 1 To UBound(varD) Select Case varD(i, 2) Case "S" varD(i, 1) = -Abs(varD(i, 1)) Case "H" varD(i, 1) = Abs(varD(i, 1)) End Select Next .Value = varD End With End Sub