Anzeige
Archiv - Navigation
396to400
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
396to400
396to400
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Daten formatieren?

Daten formatieren?
17.03.2004 16:12:09
ralle
Hallo zusammen!!
Schon wieder ein Frage:
Habe eine Tabelle mit folgendem Aufbau:
Spalte_Spalte_Spalte_Spalte_Spalte_Spalte_Spalte_Spalte_Spalte_Spalte_Spalte
___A______B______C______D_____E______F______G_______H______I_____J_______K
_1000___Text____200_____H____300_____S_____250______H_____150____S______230

Es geht jetz um die Spalten C bis J.
Wenn jetzt z.B. in der Spalte D ein H steht soll in der Spalte C der Wert als positiver Wert ausgegeben werden. Wenn dort ein S steht als negativer Wert. Gleiches gilt für die Spalten E und F; G und H sowie I und J.
Ist soetwas per Makro möglich ??
So wie ich Euch kenne findet Ihr da eine Lösung.
Entschuldigt die komische Darstellung der Tabelle, weiss mir anders nicht zu helfen.
Gruß
ralle

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten formatieren?
17.03.2004 19:27:46
Michael
Hallo Ralle,
Ich würde das ganz nicht per Makro machen sondern mit einer einfachen Wenn funktion... Das geht auch sehr elegant und ich inmeinen Augen nicht ganz so aufwendig!
Grüß
Michael
AW: Daten formatieren?
17.03.2004 23:04:41
Josef Ehrensberger
Hallo Ralle??
Kopiere diesen Code in das Modul der Tabelle.


'Modul der Tabelle
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
On Error GoTo ERRORH
   With Target
      If .Column = 3 Or .Column = 5 Or .Column = 7 Or .Column = 9 Or .Column = 11 Then
         If .Offset(0, 1).Value = "S" Then
            If .Value <> "" And .Value > 0 Then .Value = .Value * -1
         ElseIf .Offset(0, 1).Value = "H" Then
            If .Value <> "" Then .Value = Abs(.Value)
         End If
      End If
      If .Column = 4 Or .Column = 6 Or .Column = 8 Or .Column = 10 Or .Column = 12 Then
         If .Value = "S" Then
            If .Offset(0, -1).Value <> "" Then .Offset(0, -1) = .Offset(0, -1) * -1
         ElseIf .Value = "H" Then
            If .Offset(0, -1).Value <> "" Then .Offset(0, -1) = Abs(.Offset(0, -1))
         End If
      End If
   End With
ERRORH:
Application.EnableEvents = True
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5

Gruß Sepp


Ein kluger Mann macht nicht alle Fehler selbst.
Er lässt auch anderen eine Chance.

(Sir Winston Churchill)


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige