Forums Neueste Beiträge
 

Wert in bestimmte Zelle einer zweiten Datei eintragen

24/03/2008 - 17:48 von FRANZ LUWEIN | Report spam
Hallo alle,

EXCEL 2002, SP3
Win XP Prof, SP 2 Build 2600

Ich habe wieder einmal ein Problem und bitte um eure Hilfe.

Ich möchte mit einem Macro, das über einen CB einer Userform der
Datei1.xls gestartet wird folgendes erreichen.

1. Einen Suchbegriff aus einen Textfeld auslesen (OK)
2. Den Suchbegriff im Tabellenblatt "Namen" der Datei2.xls suchen.
Die Datei2.xls befindet sich im gleichen UV wie Datei1.xls.
Der Suchbegriff steht jedoch nicht in einer Zelle sondern ist die
Kombination aus zwei Zellen (Ax&Bx).
3. Der Suchbegriff kommt nur einmal vor.
4. Wenn die Zeile gefunden wurde, in Spalte U ein "X" eintragen.


Ich zàhle auf eure Hilfe.

Danke im Voraus.

MfG

Franz
 

Lesen sie die antworten

#1 Stefan Anderl
25/03/2008 - 09:08 | Warnen spam
"FRANZ LUWEIN" wrote:

Hallo alle,

EXCEL 2002, SP3
Win XP Prof, SP 2 Build 2600

Ich habe wieder einmal ein Problem und bitte um eure Hilfe.

Ich möchte mit einem Macro, das über einen CB einer Userform der
Datei1.xls gestartet wird folgendes erreichen.

1. Einen Suchbegriff aus einen Textfeld auslesen (OK)
2. Den Suchbegriff im Tabellenblatt "Namen" der Datei2.xls suchen.
Die Datei2.xls befindet sich im gleichen UV wie Datei1.xls.


Wie die Datei 2 zu öffnen ist, ist ja bekannt, ich gehe davon aus, daß Du
den Namen der Datei kennst, zur Not mit dem Makro-Rekorder aufnehmen.

Der Suchbegriff steht jedoch nicht in einer Zelle sondern ist die
Kombination aus zwei Zellen (Ax&Bx).


Ab hier wirds komplizierter als gewöhnlich, da man mit den normalen
Excel-Funktionen nicht weiter kommt.
Ich würde zunàchst die Maximalzahl der genutzen Zeilen auslesen.
Dim zahl_zeilen as integer

zahl_zeilen = arbeitsmappe2.sheets("Name").usedrange.rows.count + _
arbeitsmappe2.sheets("Name").usedrange.row - 1

Dann eine Schleife von 1 bis zahl_zeilen

dim laufindex as integer

for laufindex = 1 to zahL_zeilen

if suchstring = arbeitsmappe2.sheets("Name").cells(laufindex, 1) &
arbeitsmappe2.sheets("Name").cells(laufindex, 2) then
arbeitsmappe2.sheets("Name").cells(laufindex, 21) = "X" 'setzt
in Spalte U ein "X"

end if
next laufindex

Noch ein Tipp:
Arbeitsmappe2 steht für eine Objektvariable. Diese kannst Du im Coding so
setzen:
(Nach dem Öffnen der 2. Datei):
dim arbeitsmappe2 as workbook
set arbeitsmappe2 = workbooks(workbooks.count)

Stefan


3. Der Suchbegriff kommt nur einmal vor.
4. Wenn die Zeile gefunden wurde, in Spalte U ein "X" eintragen.


Ich zàhle auf eure Hilfe.

Danke im Voraus.

MfG

Franz

Ähnliche fragen