2 Arbeitsmappen abgleichen per VBA
#1
Hallo liebes Forum,

mit eurer Hilfe habe ich es schon hin bekommen aus einer Quelltabelle etwas automatisch in eine Datenbanktabelle zu kopieren. Mit automatisch aufmachen der Datenbanktabelle und allem drum und dran...:)
Für euch vielleicht nur eine Kleinigkeit, für mich ein kleiner Everest und ich freu mich wie Wolle das es funzt :)....

Jetzt möchte ich einen Abgleich zwischen den beiden Arbeitsmappen machen. Ich habe nun viel gegoogelt aber leider nichts gefunden was mir passend erscheint....

Vielleicht stehe ich einfach auf dem Schaluch, als normale Exelformel hatte ich einfach Zählewenn genommen und gut.....

Also ich möchte per VBA einen Abgleich machen, in der Quelltabelle gibt es einen Arbeitsnummer die immer an der gleichen Stelle steht. Sagen wir Mal in A1. Jetzt möchte ich in der Datenbank schauen ob es diesen Wert dort schon gibt. Die Arbeitsnummern werden in der Datenbank alle in einer Spalte eingetragen. Also schaue Mal in der Datenbank in Spalte D ob du den Wert aus der Zelle A1 der Queltabelle findest. 
Mit dem Ergebniss würde ich dann gerne in einer MsgBox weiter arbeiten, nach dem Motto Makro wirklich ausführen oder nicht....

Ich dachte das müsste ganz einfach sein, aber das ist wohl ein Fehler....?

Vielen Dank für eure Mühen und eure Zeit!

Grus Torben
Antworten Top
#2
Hallo,

Zählewenn ist doch gut ... auch weiterhin. Man(n) braucht nicht zwingend VBA ... wenn Excel das schon kann ... wieso das Rad nochmal erfinden ?
[-] Folgende(r) 1 Nutzer sagt Danke an Flotter Feger für diesen Beitrag:
  • Newby81
Antworten Top
#3
Hallo, erstmal Danke das du dir die Zeit genommen hast!

Hintergrund ist der, das ich diesen Abgleich in mein bestehendes Marko einbinden möchte...

Also wie ich oben geschrieben habe, kopiere ich per  VBA Daten aus meiner Quelltabelle in die Datenbanktabelle. Hier würde ich gerne die Abgleichfunktion einbinden, damit Daten nicht doppelt erfasst werden. 

Diesen Abgleich muss ich natürlich in den VBA Code einbinden....und hier komme ich einfach nicht darauf wie es einfach gehen könnte....

Ich habe im netzt den Ansatz gefunden es mit Ucase zu machen....

If ucase(Range("A1").Value) = Ucase(Range("D1:D1400").Value then

Aaaber mit Ucase kann anscheinend leider nur eine Zelle mit einer anderen vergleichen.....Also A1 mit D1...aber nicht mit D1:D1400....:(

Ich hoffe ihr könnt mir einfach auf die Sprünge helfen!

Gruß Torben
Antworten Top
#4
Kannst ja diese Zeile versuchen

Code:
If WorksheetFunction.CountIf(Range("D1:D1400"), Range("A1").Value2) > 1 then 
[-] Folgende(r) 1 Nutzer sagt Danke an Storax für diesen Beitrag:
  • Newby81
Antworten Top
#5
@Storax: SPIELVERDERBER ... Dodgy
Antworten Top
#6
Moin, Flotter Feger sagt Spielverderber, ich sage guter Mann (oder Frau) :) 


@Storax Vielen Dank das war genau das was ich gesucht habe!

Dankeschön!
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste