Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
948to952
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
948to952
948to952
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA Abfrage auf Zelle

VBA Abfrage auf Zelle
06.02.2008 15:39:00
Michael
Hallo Zusammen,
hab schon wieder ein kleines Problem. Habe in einem Excel Sheet zwei Arbeitsmappen. In der einen Arbeitsmappe erstelle ich mir bereits per Makro einen Import von einem Text File. In der zweiten Arbeitsmappe stehen alle Benutzernamen mit E-Mail Adresse. Wie muss ich das Makro gestalten, das es mir automatisch ein vergleich, anhand der LoginID der ersten Arbeitsmappe und der zweiten Arbeitsmappe macht (so ähnlich wie SVerweis)? Anschließend soll in der ersten Tabelle in der Spalte E, die E-Mail Adresse zu der zugehörigen LoginID angezeigt werden.

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Abfrage auf Zelle
06.02.2008 22:40:00
fcs
Hallo Michael,
hier ein Beispiel(ungetestet). Die Namen der Dateien und Tabellenblätter, sowie vorgegebene Zeilen- und Spaltennummer muss du an deine Dateien anpassen. Das Makro gehört in die Datei in der die e-mail-Adressen eingetragen werden sollen.
Gruß
Franz

Sub eMailAdressenHolen()
Dim wbthis As Workbook, wksThis As Worksheet
Dim ZeileThis As Long, SpalteIDt As Integer, SpalteMailt As Integer
Dim wbEmail As Workbook, wksEmail As Worksheet
Dim SpalteMail As Integer, SpalteIDe As Integer
Dim varLogID As Variant, ZelleLogID As Range
'Datei mit dem Tabellenblatt in das die emailadressen eingetragen werden sollen
Set wbthis = ThisWorkbook 'oder = Workbooks("DateiXYZ.xls")
'Tabellenblatt in das die emailadressen eingetragen werden sollen
Set wksThis = Worksheets("Tabelle1")
SpalteIDt = 1 'Spalte mit LogID in diesem Tabellenblatt
SpalteMailt = 4 'Spalte in die die E-mail Adresse eingetragen werden soll
'Dateimit den email-Adressen, Datei muss geöffnet sein! Name ggf. anpassen
Set wbEmail = Workbooks("DateiEmails")
'Tabellenblatt aus dem die e-Mail-Adressen ausgelesen werden sollen
Set wksEmail = wbEmail.Worksheets("Tabelle1")
SpalteIDe = 1 'Spalte mit LogID in Tabellenblatt mit e-Mail-Adressen
SpalteMail = 2 'Spalte mit e-Mail-Adressen in Tabellenblatt mit e-Mail-Adressen
'LogID's zeilenweise abarbeiten
For ZeileThis = 2 To wksThis.Cells(wksThis.Rows.Count, SpalteIDt).End(xlUp).Row
varLogID = wksThis.Cells(ZeileThis, SpalteIDt).Text
'LogID im Blatt mit E-mail-Adressen in Spalte suchen
Set ZelleLogID = wksEmail.Columns(SpalteIDe).Find(whst:=varLogID, _
lookat:=xlWhole, LookIn:=xlValues)
If Not ZelleLogID Is Nothing Then
wksThis.Cells(ZeileThis, SpalteMailt).Value = wksEmail.Cells(ZelleLogID.Row, SpalteMail). _
Value
End If
Next
Set wbthis = Nothing: Set wksThis = Nothing
Set wbEmail = Nothing: Set wksEmail = Nothing
Set ZelleLogID = Nothing
End Sub


Anzeige

177 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige