Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
356to360
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
356to360
356to360
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Namensliste ergänzen - Fehler in Match-Funktion

Namensliste ergänzen - Fehler in Match-Funktion
30.12.2003 09:40:11
Jochen
Hallo,

ich komme leider nicht weiter, vielleicht kann mir jemand helfen.

Das Problem:

in Tabelle1 stehen Namen z.B. A, B, C
in Tabelle2 stehen Namen z.B. A, B, C, D, E

nun möchte ich vergleichen, wenn der Name aus T2 nicht in T1 enthalten ist, soll er ergänzt werden.

Mein Lösungsversuch:


Sub namenpflege()
Dim i%, name$
With [Tabelle2]
For i = 2 To .Cells(65000, 2).End(xlUp).Row
name = .Cells(i, 2)
If IsError(Application.WorksheetFunction.Match(name, [Tabelle1].Range("1:1"), 0)) = True Then
[Tabelle1].Cells(1, [Tabelle1].Cells(1, 253).End(xlToRight).Column + 2) = name
End If
Next
End With
End Sub


... weist leider, wenn die Variable nicht in T1 enthalten ist einen Fehler aus und ergänzt die Daten nicht.

Danke.

Gruß

Jochen

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Namensliste ergänzen - Fehler in Match-Funktion
30.12.2003 10:10:00
ChrisL
Hi Jochen

Versuchs mal statt mit Match mit CountIf (Zählenwenn).

If WorksheetFunction.CountIf(....) > 0 Then MsgBox "Eintrag bereits vorhanden."

Gruss
Chris
AW: Namensliste ergänzen - Fehler in Match-Funktion
30.12.2003 10:14:02
Ramses
Hallo

probier mal das aus :-)


Sub namenpflege()
'Variablendeklaration ;-))
Dim i As Long, name As String, myFind As Variant
Dim wks1 As Worksheet, wks2 As Worksheet
'Variablen füllen
Set wks1 = Worksheets("Tabelle1")
Set wks2 = Worksheets("Tabelle2")
With wks2
'Schleife starten
For i = 2 To .Cells(65000, 2).End(xlUp).Row
'Suchebegriff definieren
name = .Cells(i, 2)
'Suchbereich definieren in Tabelle 1
With wks1.Range("a1:a" & wks1.Cells(65000, 2).End(xlUp).Row)
'Suche starten
Set myFind = .Find(name, LookIn:=xlValues)
If myFind Is Nothing Then
'Wenn der Begriff nicht gefunden wird
'wird die ganze Zeile an das Ende der Tabelle1 kopiert
'Das ergänzen einzelnen Zellen sparen
'wir uns somit :-)
wks2.Rows(i).Copy _
Destination:=wks1.Rows(wks1.Cells(65000, 2).End(xlUp).Row + 1)
End If
End With
Next i
End With
End Sub


Gruss Rainer
Anzeige
@ChrisL und Ramses - Herzlichen Dank - es funzt!
30.12.2003 10:27:47
Jochen
.
Merci :-)) Geschlossen o.T.
30.12.2003 10:30:05
Ramses
...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige