online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon derlistigelurch vom 16.01.2020, 11:57 Options

Cells.Find - Variable funktioniert nicht

Hallo.. beschäftige mich erst seit kurzem mit Excel Makros und glaube die Frage ist ziemlich amateurhaft aber macht ja nix ;)

folgendes will ich tun:

Bezeichnung die in Datei 1 stehen in Datei 2 suchen. Danach die Spalte mit den Werten unter der Bezeichnung in Datei 2 stehen kopieren. Die kopierten Werte in Datei 1 unter der Bezeichnung einfügen. Das mit 9 verschiedenen Bezeichnungen .. deshalb wollte ich das mit einer Schleife machen. Einzeln funktionierts .. aber in der schleife nicht.

Da ich das ganze für verschiedene Dateien gleichermaßen funktioniern soll benutz ich die Find.Cell funktion.

Hier ein Code-Ausschnitt:

Dim i As Byte

' Festsetzen der bezeichnungen

Set A1 = Range("A1")
Set A2 = Range("B1")
Set A3 = Range("C1")
Set A4 = Range("D1")
Set A5 = Range("E1")
Set A6 = Range("F1")
Set A7 = Range("G1")
Set A8 = Range("H1")
Set A9 = Range("I1")

For i = 1 To 9

'suchen der Bezeichnung in Datendatei

Workbooks.Open Filename:="C:\Test\Unit_13\Daten\2007-11-28_103121_ludwin_ludwig.xls"
Cells.Find(What:=A & i, After:=ActiveCell, LookIn:=xlFormulas _
, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate

'selektieren und kopieren der Werte

ActiveCell.Offset(1, 0).Range("A3").Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy

'suchen der Bezeichnung in Auswertungsdatei

Windows("Mappe2.xls").Activate
Cells.Find(What:=A & i, After:=ActiveCell, LookIn:=xlFormulas _
, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate

'einfügen der Werte

Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveSheet.Paste
Selection.End(xlDown).Select

Next i




Das Problem muss beim Cells.Find Befehl liegen. Denke der Wert A & i stimmt nich so ganz. Schonmal vielen dank

Gruß Julian


Antwort schreiben

Antwort 1 von derlistigelurch vom 17.01.2020, 10:52 Options

Wär nett wenn sich jemand erbarmen würde .. ;/

Antwort 2 von Saarbauer vom 17.01.2020, 11:34 Options

hallo,

leider habe ich mit der kombination noch nicht gearbeitet

Zitat:
Cells.Find(What:=A & i, After:=ActiveCell, LookIn:=xlFormulas _
, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate


aber könnte es sein, dass es so sein müsste

Cells.Find(What:= "A" & i, After:=ActiveCell, LookIn:=xlFormulas _
, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate



Gruß

Helmut

Antwort 3 von achim_13086 vom 17.01.2020, 11:37 Options

Guten Tag Julian,

versuche einmal in der Formel anstelle von " What:=A & i " folgende Änderung " What:=("A & i") ".

In deiner Scheibweise ist " A " eine Variable und " i " sowieso.
Nimm für A = 100 und für i = 50, dann entsteht als Ergebnis 10050.

Ich hoffe, mein Denkanstoß bringt Dich auf die richtige Spur.

Gruß
Joachim

Ähnliche Themen

IF..Then Bedingung in Makro perfomanter machen
Markus76  06.03.2007 - 111 Hits - 7 Antworten

VBA: cells.find für verbundene Zellen
Oli00  12.12.2007 - 155 Hits - 2 Antworten

Zelle über variable Zeilen und Spalten ansprechen
Kloster  15.01.2008 - 47 Hits - 4 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 07:32:25 2026