Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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


-----------
Antworten 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
Antworten 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
Antworten Top
#4
'step 3' ... und ich probiers die ganze zeit mit 'and' ...

vielen dank euch beiden!


@rpp63 wieso sollte man das nicht machen?
Antworten 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
Antworten Top


Gehe zu:


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