Clever-Excel-Forum

Normale Version: Vba - passende Zellen auswählen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Moin leute :43:

Wie muss ich folgenden code umändern damit nur die zellen: C4, F4 ,I4 ausgewählt werden?



-----------------------------------------------------


Code:
Option Explicit

Private Sub Worksheet_Calculate()
    Dim row As Integer
    Dim column As Integer
    Dim whiteTime As Date
    On Error Resume Next
    
    'row gibt die Zeilen an, in denen sich etwas ändert
    For row = 4 To 4
        'column gibt die Spalte(n) an, von links gezählt, in denen sich etwas ändert: 1 = A, 2 = B, etc.
        For column = 1 To 9
            DoEvents
            If Trim$(Cells(row, column).Text) <> "" And IsNumeric(Cells(row, column).Value) And varValue(row, column) <> Cells(row, column).Value Then
                Cells(row, column).Interior.ColorIndex = IIf(varValue(row, column) > Cells(row, column).Value, 3, 4)
                varValue(row, column) = Cells(row, column).Value
                'TimeValue gibt Zeit an, wie lange Farbe bleibt
                whiteTime = Now + TimeValue("00:20:00")
                Call killWhiteTask(row, column, varWhiteTime(row, column))
                varWhiteTime(row, column) = whiteTime
                Call setWhiteTask(row, column, whiteTime)
            End If
        Next
    Next
End Sub

Public Sub killWhiteTask(row As Integer, column As Integer, time As Date)
    Application.OnTime time, "'clearCell " & row & "," & column & "'", , False
End Sub

Public Sub setWhiteTask(row As Integer, column As Integer, time As Date)
    Application.OnTime time, "'clearCell " & row & "," & column & "'"
End Sub


-----------
Hallo,

du must die Schleifen anpassen.

For row = 3 to 9 step 3
For column = 4 To 4
Hallo Helmut!
Row <-> Column
@sarkami:
Man sollte NIEMALS Variablennamen mit VBA-Schlüsselworten belegen!
Nimm meinethalben zusätzlich eine Präfix, die auf den Datentyp hinweist aka ungarische Notation, der hier (Zeile) aber besser long ist:
Dim lgRow As Long, lgColumn As Long

Gruß Ralf
'step 3' ... und ich probiers die ganze zeit mit 'and' ...

vielen dank euch beiden!


@rpp63 wieso sollte man das nicht machen?
Zitat:@rpp63 wieso sollte man das nicht machen?

Ausverkauftes Stadion,
Stadionsprecher: "Der Fahrer des Golf bitte dringend zu seinem Auto kommen!"
-> halbes Stadion leer!
Besser wäre die Benennung eines eindeutigen Merkmals, um die Besucher nicht zu verwirren!  :19:

Auf VBAisch:
Du kannst Variablen benennen, wie Du möchtest, solange sie keine Sonderzeichen oder eine führende Ziffer enthalten, solltest Dich aber nicht wundern, wenn Du viel Zeit fürs debugging aufbringen musst.

Gruß Ralf