Microsoft Excel

Herbers Excel/VBA-Archiv

Zellinhalte vergleichen | Herbers Excel-Forum


Betrifft: Zellinhalte vergleichen von: Kaiser Jörg
Geschrieben am: 15.12.2009 16:42:18

Hallo

Ich benötige Eure Hilfe, bei der Erstellung eines Makros. Siehe Upload Datei.

https://www.herber.de/bbs/user/66612.xlsx

Also der Bereich wäre C4 - AG42 immer im Aktiven Tabellenblatt.

In Spalte C Zelle 4 soll als erstes geprüft werden, ob eine Hintergrundfarbe vorhanden ist.
Wenn ja keine Aktion - weiter zu C5 ....

Wenn keine Hintergrundfarbe vorhanden zB hier ab F4 soll geprüft werden ob der Wert von B4 und der Wert von F3 übereinstimmt. Wenn ja soll in dann "frei " eingetragen werden. Wenn Nein soll der Wert aus A4 eingetragen werden.
Bei F5 soll der Wert von B5 mit dem Wert von F3 verglichen werden. Widerrum wenn der Wert übereinstimmt "frei" eintragen ansonsten den Wert aus A5 eintragen.

In der nächsten Spalte wiederum soll in G4 soll der Wert aus B4 mit dem Wert aus G3 verglichen werden.
Aktionen wie oben.

Mit Formeln habe ich es hinbekommen, aber per Makro wäre es einfacher bei der Erstellung.

Ich hoffe ich habe mich verständlich ausgedrückt und hoffe auf Eure Hilfe.

MfG Jörg

  

Betrifft: AW: Zellinhalte vergleichen von: welga
Geschrieben am: 16.12.2009 19:03:55

Hi Georg,

also probier mal das hier:

Sub test1()
Dim spa As Long, zei As Long


With ThisWorkbook.Sheets(1)
    For zei = 4 To 42
        For spa = 3 To 33
          .Cells(zei, spa).Select
            If Selection.Interior.Pattern <> xlNone Then GoTo nachste
              If .Cells(zei, 2).Value = .Cells(3, spa).Value Then
              .Cells(zei, spa).Value = "frei"
              Else
              .Cells(zei, spa).Value = .Cells(zei, 1).Value
              End If
nachste:
        Next spa
    Next zei
End With

End Sub

Gruß
welga


  

Betrifft: AW: Zellinhalte vergleichen von: Jörg Kaiser
Geschrieben am: 16.12.2009 20:03:02

Hallo Welga

Hab es gerade probiert und mus sagen EINWANDFREI.

Erst mal VIELEN DANK dafür.

Habe mir heute nachmittag auch Gedanken gemacht und
folgendes erst mal für 1 Spalte geschrieben. Da müsste ich aber 31 Schleifen
hintereinander setzten und immer die Offsetwerte ändern, sowie 31 Variablen definieren.

Da ist Dein Code natürlich viel besser.

Sub MonatAusfüllen() erst mal 1 Spalte

a = Cells(3, 6)


For Each Zelle In Range("F4:F42")
If Zelle.Interior.ColorIndex = xlNone Then
If Zelle.Offset(0, -4).Value = a Then
Zelle.Value = "frei"

Else
Zelle.Value = Zelle.Offset(0, -5)
End If
End If
Next


End Sub
Also noch mal besten Dank

MfG Jörg


Beiträge aus den Excel-Beispielen zum Thema "Zellinhalte vergleichen"