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

Eingabewert ändert Formatierung der Zeile

Eingabewert ändert Formatierung der Zeile
27.03.2008 10:05:00
Sebastian
Hallo,
ich möchte nach der Eingabe in der Spalte "I" (Fälle: 1,2,3,4, sonst), dass sich die Formatierung der Zeile "A:I" ändert. Doch es soll vermieden werden, dass man alle Zeilen von "I" mit einer Schleife ausliest, da nur ein Wert geändert wird.
Wie kann ich die Zeile der Spalte "I" ansprechen, wo die Änderung vorgenommen wurde?
Habe bisher nur diese Möglichkeit mit einer Schleife gefunden! Leider komm ich bei der If-Schleife nicht mehr klar.

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim iRow As Integer, iRowL As Integer
iRowL = Cells(Rows.Count, 1).End(xlUp).Row
For iRow = iRowL To 1 Step -1
If Not Cells(iRow, 9).Value = 0 Then
Call uptodate(Target.Value, iRow)
Else
'do nothing
End If
Next iRow
End Sub
Sub uptodate(Wert As Integer, iRow As Integer)
Select Case Wert
Case "1"
ecrow (iRow)
Case "2"
shrow (iRow)
Case "3"
table (iRow)
Case "4"
nexport (iRow)
Case Else
leer (iRow)
End Select
End Sub
Sub leer(iRow As Integer)
Range("$A$iRow:$I$iRow").Select
Selection.Interior.Color = RGB(255, 255, 255)
Selection.Borders.LineStyle = xlNone
End Sub


Vielen Dank für die Hilfe!
Gruss,
Sebastian

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eingabewert ändert Formatierung der Zeile
27.03.2008 10:57:01
Ingo
Hallo Sebastian.
Die Zeile ist target.row
mfG
Ingo Christiansen

AW: Eingabewert ändert Formatierung der Zeile
27.03.2008 12:06:35
Sebastian

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Address = Cells(Target.Row, 9).Address Then
Call uptodate(Target.Value, Target.Row)
Else
'do nothing
End If
End Sub
Sub uptodate(Wert As Integer, MouseRow As Integer)
Select Case Wert
Case "1"
ecrow (MouseRow)
Case "2"
shrow (MouseRow)
Case "3"
table (MouseRow)
Case "4"
nexport (MouseRow)
Case Else
leer (MouseRow)
End Select
End Sub
Sub leer(Row As Integer)
Range(Cells(Row, 1), Cells(Row, 9)).Select
Selection.Interior.Color = RGB(255, 255, 255)
Selection.Borders.LineStyle = xlNone
End Sub


Danke! Es funktioniert :)
Hab noch eine Verständnisfrage:
Wieso muss der "Target.Row" vom "Private Sub" an die einzelnen Subs weitergegeben werden? Denn "Target.Row" ist doch eine Globale Variable oder irre ich mich da?
Und noch ne 2.Frage:
Kann ich nach einer Änderung/Formatänderung der Zeile die Markierung aufheben?
Hab da einen Befehl gefunden mit "Application.CutCopyMode = False"
Aber dieser hat leider nicht den gewünschten Erfolg gebracht...
Danke!

Anzeige
AW: Eingabewert ändert Formatierung der Zeile
27.03.2008 12:23:00
Sebastian
Zur 2.Frage:
Habe ich es nun so gelöst:

Sub leer(Row As Integer)
Range(Cells(Row, 1), Cells(Row, 9)).Interior.Color = RGB(255, 255, 255)
Range(Cells(Row, 1), Cells(Row, 9)).Borders.LineStyle = xlNone
End Sub


Laut meinen Recherchen im Internet gibt es keinen VBA-Befehl der Markierungen aufhebt, aber man den Befehl .Select zu 95% nicht braucht. Richtig?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige