[Visual Basic] VBA-Zeilen prüfen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von juppwatis, 8. Juli 2010 .

Schlagworte:
  1. 8. Juli 2010
    VBA-Zeilen prüfen

    Hallo zusammen,

    ich versuche gerade eine kleine Excelvorlage zu basteln, die überprüft ob diverse Zustände in Zellen eintreten und davon abhängig dann einen Wert in einer anderen Zelle ausgeben.

    Hier mal der bisherige Code:

    Code:
    'Stand anzeigen
    Sub TerminPruefung()
    'Variablendeklaration
    Dim Termin As Date
    Dim Status As String
    
    'Einlesen der Daten
    Termin = Range("I7").Value
    Status = Range("K7").Value
    
    'Überprüfungen
    If Termin >= Now() And Status = "in Arbeit" Then
     Range("J7").Value = "im Zeitrahmen"
    ElseIf Termin >= Now() And Status = "erledigt" Then
     Range("J7").Value = "abgeschlossen"
    ElseIf Termin < Now() And Status = "in Arbeit" Then
     Range("J7").Value = "überzogen"
    ElseIf Termin < Now() And Status = "erledigt" Then
     Range("J7").Value = "abgeschlossen"
    End If
    End Sub
    Wie man sieht wird mit dem Code immer überprüft was in in I7 und K7 steht und in Abhängigkeit davon dann etwas in J7 geschrieben.
    Jetzt will ich das aber, dass das nicht nur für die Zeile 7 gilt, sondern für das gesamte Tabellenblatt, bis man bei der Zeile ankommt, wo gar nix mehr drin steht. Wird man wohl irgendwie mit ner For-Schleife machen müssen, aber weiß leider nicht wie kann mir da jmd helfen?

    Des Weiteren will ich noch überprüfungen machen, wenn Termin leer ist. Habe es mit

    Code:
    ElseIf Termin ="" ....
    
    versucht. aber das funktioniert leider nicht.

    Kann mir bei beiden Angelegenheiten bitte wer weiterhelfen?

    Cheers
     
  2. 9. Juli 2010
    AW: VBA-Zeilen prüfen

    So hab die Lösung deiner Probleme.

    Ich habs jetztmal beispielmäßig für paar Zeilen gemacht. Ich glaub der Code erklärt alles.


    Spoiler
    Code:
     'Variablendeklaration
     Dim test As String
     Dim i As Integer
     i = 1
    
     'Testausgabe
     test = Range("A3").Value
     MsgBox(test, MsgBoxStyle.Information, "Information")
    
     'Auslesen und schreiben in die Zellen
     While Range("A" + i.ToString).Value <> ""
     test = Range("A" + i.ToString).Value
     Range("B" + i.ToString).Value = test
     i = i + 1
     End While
    
    
     
  3. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.