Vba - passende Zellen auswählen
#1
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


-----------
Top
#2
Hallo,

du must die Schleifen anpassen.

For row = 3 to 9 step 3
For column = 4 To 4
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





[-] Folgende(r) 1 Nutzer sagt Danke an Ego für diesen Beitrag:
  • sarkami
Top
#3
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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • sarkami
Top
#4
'step 3' ... und ich probiers die ganze zeit mit 'and' ...

vielen dank euch beiden!


@rpp63 wieso sollte man das nicht machen?
Top
#5
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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • sarkami
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste