Registriert seit: 23.06.2016
Version(en): 2013
Hallo Leute,
ich habe folgendes Anliegen:
Ich möchte gerne zwei Mappen mit Namen vergleichen und in Mappe 2 die Namen markieren, welche in Mappe 1 aufgelistet sind.
Beispiel:
Mappe 1 Spalte A1-A5 stehen 5 verschiedene Namen.
Mappe 2 Spalte A1-A50 stehen 50 verschiedene Namen.
Das Skript soll in Mappe 2 die in Mappe 1 stehenden 5 Namen markieren.
Mit einem Namen klappt das soweit gut, nur unterschiedliche bin ich zu dämlich.
Danke im Voraus :)
Registriert seit: 12.04.2014
Version(en): Office 365
moin,
dann zeig doch schon mal dein Skript welches bei einem Namen funktioniert
mfg Tom
Registriert seit: 18.10.2020
Version(en): 365
Und wie lautet die Frage?
Registriert seit: 12.03.2016
Version(en): Excel 2003/ 2016
Hallo
ich glaube nicht das der Frager einen fertigen Code hat. Mit dem kann er sich seinen eigenen Code zusammenbasteln.
Geändert werden müssen ggf. die Mappen Namen, Tabellen Namen und der Farbcode. Dann sollte das Makro laufen.
mfg Gast 123
Code:
Sub Namen_vergleichen()
Dim AC As Range, AJ As Range
Dim Sht1 As Worksheet 'in Mappe1
Set Sht1 = Workbooks("Mappe1").Sheets("Tabelle1")
With ThisWorkbook.Sheets("Tabelle1") 'Mappe2
.Range("A1:A50").Interior:ColorIndex = xlNone
Farbe = 22 'Innenfarbe festlegen
For Each AC In Sht1.Range("A1:A5")
For Each AJ In .Range("A1:A50")
If AC.Value = AJ.Value Then
AC.Interior.ColorIndex = Farbe
Exit For
End If
Next AJ
Next AC
End With
End Sub
Registriert seit: 23.06.2016
Version(en): 2013
Danke erstmal allen.
Mein Skript sieht bisher so aus:
Code:
Sub MarkiereNamen()
Dim QuellBereich As Range
Dim ZielBereich As Range
Dim Zelle As Range
Set QuellBereich = Worksheets("Mappe1").Range("A1:A5")
Set ZielBereich = Worksheets("Mappe2").Range("A1:A100")
For Each Zelle In QuellBereich
If Zelle.Value = "GesuchterName" Then
ZielBereich.Cells(Zelle.Row, 1).Interior.Color = RGB(255, 0, 0)
End If
Next Zelle
End Sub
Nur klappt das eben nur mit dem einen spezifischen Namen und nicht mit unterschiedlichen.
Registriert seit: 12.04.2014
Version(en): Office 365
ich würde es so lösen
zu starten aus deinem Worksheet("Mappe1")
Code:
Sub MarkiereNamen()
Dim i As Integer
Dim strName As String
Dim c As Range
For i = 1 To 5
strName = Cells(i, 1).Value
With Worksheets("Mappe2")
Set c = .Columns(1).Find(strName, LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
.Cells(c.Row, 1).Interior.Color = RGB(255, 0, 0)
End If
End With
Next
End Sub
heißen deine Worksheets tatsächlich Mappe1 & Mappe2?
mfg Tom
Registriert seit: 12.01.2020
Version(en): 2010, 2021
Hallo P4tt3x,
Zitat:Ich möchte gerne zwei Mappen mit Namen vergleichen und in Mappe 2 die Namen markieren, welche in Mappe 1 aufgelistet sind.
Das geht auch ganz ohne VBA, mit der bedingten Formatierung.
Arbeitsblatt mit dem Namen 'Tabelle1' |
| A | B | C |
1 | Mappe 1 | | Mappe 2 |
2 | Name 1 | | Name 5 |
3 | Name 2 | | Name 8 |
4 | Name 3 | | Name 2 |
5 | | | Name 1 |
6 | | | Name 4 |
7 | | | Name 9 |
8 | | | Name 3 |
9 | | | Name 7 |
10 | | | Name 10 |
11 | | | Name 6 |
Verwendete Systemkomponenten: [Windows (64-bit) NT 10.00] / MS Excel 2021 |
Diese Tabelle wurde mit Tab2Html (v2.7.1) erstellt. ©Gerd alias Bamberg |
Formel für bedingte Formatierung für den Datenbereich in "Mappe2":
=ZÄHLENWENN($A$2:$A$4;C2)
Das funktioniert natürlich auch, wenn die Daten auf unterschiedlichen Tabellenblättern stehen.
(Wenn sich die Daten allerdings in unterschiedlichen Arbeitsmappen befinden, wohl eher nicht)
Gruß
Fred
< es lebe die Hilfsspalte >