Anzeige
Archiv - Navigation
1392to1396
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
Inhaltsverzeichnis

Anschlussfrage

Anschlussfrage
26.11.2014 10:57:17
Gregor
Hallo zusammen
Aus dem Forumhabe ich folenden, von mir abgeänderten Code:
Sub test()
Dim wksQ As Worksheet, wksZ As Worksheet
Dim letzte As Long, letzteA As Long, i As Long, ii As Long
Set wksZ = Worksheets("Ziel")
Set wksQ = Worksheets("Quelle")
wksQ.Activate
letzte = wksZ.Cells(Rows.Count, 1).End(xlUp).Row
letzteA = wksQ.Cells(Rows.Count, 1).End(xlUp).Row
lezteS = wksQ.UsedRange.Columns.Count
For i = 2 To letzte
For ii = 3 To letzteA
If Application.CountIf(wksQ.Range(Cells(ii, 78), Cells(ii, lezteS)), wksZ.Cells(i,  _
1)) > 0 Then
wksZ.Cells(i, wksZ.Cells(i, Columns.Count).End(xlToLeft).Column + 1) = wksQ. _
Cells(ii, 1)
End If
Next
Next
Set wksZ = Nothing
Set wksQ = Nothing
End Sub
Wie kann ich den Code ergänzen, dass die gefundenen Begriffe in wksZ.Cells(i, wksZ.Cells(i, Columns.Count).End(xlToLeft).Column + 1) nicht doppelt aufgeführt werden, dass heisst nur, wenn nicht bereits vorhanden.
Danke und Gruss
Gregor

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Anschlussfrage
26.11.2014 12:10:19
hary
Moin Gregor
Dann musst du den Code auch richtig abschreiben.Es fehlt eine:
If Application.CountIf
Pruefung.
gruss hary

AW: Anschlussfrage
26.11.2014 14:11:17
Gregor
Und hier nochmals, weil neue Anfrage
Hallo Hary
Ja, aber ich musste den Code von Rows() in Range ändern, weil nur ab Spalte 78 bis letzeS im Quellbaltt und ab Spalte 5 bis 30 im Zielblatt verglichen bzw. gezählt werden darf. Folgender Code mit CountIf und Range erzeugt einen Fehler.
If Application.CountIf(wksQ.Range(Cells(ii, 78), Cells(ii, lezteS)), wksZ.Cells(i, 1)) And Application.CountIf(wksZ.Range(Cells(ii, 5), Cells(ii, 30)), wksQ.Cells(ii, 1)) = 0 Then
Bei der ersten Frage habe ich vermutlich nicht darauf hingewiesen, dass erst ab Spalte 78 bzw. 5 geprüft werden darf.
Was ist falsch?
Danke und Gruss
Gregor

Anzeige
AW: Anschlussfrage
26.11.2014 14:34:04
hary
Moin
Hier:
Application.CountIf(wksZ.Range(Cells(ii, 5), Cells(ii, 30)),
mueste doch statt ii nur i (erste Schleife) sein oder?
Application.CountIf(wksZ.Range(Cells(i, 5), Cells(i, 30)),
gruss hary

AW: zusatz
26.11.2014 14:37:33
hary
Moin nochmal
Vor jedem Cells muss das Worksheet gesetzt sein WksQ oder WksZ
Sonst weiss VBA nicht welche Zelle bzw. nimmt die aus dem Aktiven Blatt
gruss hary

AW: zusatz
26.11.2014 15:02:11
Gregor
Hallo Hary
Aha, genau das war das Problem, jetzt läuft der Code ohne Fehlermeldung. Danke Bestens.
Ja, mit dem I hast du recht.
Danke und Gruss
Gregor

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige