Hallo liebe Community,
ich bin blutiger VB-Anfänger und habe mir zu dieser Frage bereits einen Wolf gegoogelt, komme aber leider nicht weiter. Bitte habt Nachsicht, falls diese Frage schon anderswo beantwortet wurde (ich glaube aber nicht in dieser Form).
Es geht um eine Excel-Tabelle mit mehreren Worksheets, welche automatisch von einem Computersystem generiert wird. Auf dem Worksheet "Treatments" finden sich in Spalte C verschiedene Einheiten (mg, µg, mmol, IE, MBq und noch ein paar mehr). Ein weiteres Worksheet "ExternalIDs" enthält in Spalte L die gleichen Einheiten, welche aber maschinenlesbar gemacht wurden (z.B. wird "µg" zu "mcg", aus "IE" wird "units". Jetzt möchte ich die beiden Spalten (Also Worksheet "Treatments", C2:C5000 und Worksheet "ExternalIDs", L2:L5000) miteinander vergleichen, und wenn die jeweilige Zuordnung passt die Zelle grün hinterlegen. Falls es nicht passt, möchte ich die Zelle rot hinterlegen.
Aus juristischen Gründen ist es nicht möglich, die Daten einfach rüber zu kopieren - sie müssen händisch eingetragen werden, das Script soll lediglich eine zusätzliche "Kontrollinstanz" bilden.
Probleme habe ich vor allem damit, dass die Felder mit ungleichen Werten benannt sind und auf unterschiedlichen Worksheets liegen. Folgenden Code habe ich mir bereits zusammengeschustert:
Leider markiert er nicht was er soll... habe ich ein Brett vor dem Kopf? Ich hoffe das ich diese "For"-Schleife (wenn sie einmal klappt) einfach kopieren und für die anderen Werte anpassen kann...
Vielen Dank fürs Lesen und liebe Grüße!
Jan
ich bin blutiger VB-Anfänger und habe mir zu dieser Frage bereits einen Wolf gegoogelt, komme aber leider nicht weiter. Bitte habt Nachsicht, falls diese Frage schon anderswo beantwortet wurde (ich glaube aber nicht in dieser Form).
Es geht um eine Excel-Tabelle mit mehreren Worksheets, welche automatisch von einem Computersystem generiert wird. Auf dem Worksheet "Treatments" finden sich in Spalte C verschiedene Einheiten (mg, µg, mmol, IE, MBq und noch ein paar mehr). Ein weiteres Worksheet "ExternalIDs" enthält in Spalte L die gleichen Einheiten, welche aber maschinenlesbar gemacht wurden (z.B. wird "µg" zu "mcg", aus "IE" wird "units". Jetzt möchte ich die beiden Spalten (Also Worksheet "Treatments", C2:C5000 und Worksheet "ExternalIDs", L2:L5000) miteinander vergleichen, und wenn die jeweilige Zuordnung passt die Zelle grün hinterlegen. Falls es nicht passt, möchte ich die Zelle rot hinterlegen.
Aus juristischen Gründen ist es nicht möglich, die Daten einfach rüber zu kopieren - sie müssen händisch eingetragen werden, das Script soll lediglich eine zusätzliche "Kontrollinstanz" bilden.
Probleme habe ich vor allem damit, dass die Felder mit ungleichen Werten benannt sind und auf unterschiedlichen Worksheets liegen. Folgenden Code habe ich mir bereits zusammengeschustert:
Quellcode
- Sub UnitComparison_Makro()
- Dim ZelleA As Range
- Dim ZelleB As Range
- Dim a As Range
- Dim b As Range
- Set a = ThisWorkbook.Worksheets("Treatments").Range("C2:C5000")
- Set b = ThisWorkbook.Worksheets("ExternalIDs").Range("L2:L5000")
- For Each ZelleA In a
- Set ZelleB = b.Cells(ZelleA.Row, 12)
- If ZelleA.Value = "µg" And ZelleB.Value = "mcg" Then
- a.Cells(ZelleA.Row, 3).Interior.ColorIndex = 4
- End If
- Next ZelleA
- End Sub
Leider markiert er nicht was er soll... habe ich ein Brett vor dem Kopf? Ich hoffe das ich diese "For"-Schleife (wenn sie einmal klappt) einfach kopieren und für die anderen Werte anpassen kann...
Vielen Dank fürs Lesen und liebe Grüße!
Jan