Informationen und Beispiele zum Thema MsgBox | |
---|---|
![]() |
MsgBox-Seite mit Beispielarbeitsmappe aufrufen |
Betrifft: suche wert in Zwischenablage
von: Andreas
Geschrieben am: 19.09.2019 08:59:27
Hallo zusammen,
ich habe foglende Aufgabe zu lösen:
in workbook 1 gibt es ein Feld H1, in dem eine zu suchende Nummer steht.
in workbook 2 befindet sich diese fortlaufende Nummer an irgendeiner Stelle in Spalte A
ich muss die Zeile mit dieser Nummer nach Zeile 40 in workbook 1 kopieren. Hab schon vieles ausprobiert, z.B. die Nummer in die zwischenablage kopiert und in workbook 2 suchen lassen... funktioniert aber alles nicht. Hat jemand eine Idee - bin am verzweifeln..
Danke im Voraus !
Betrifft: AW: suche wert in Zwischenablage
von: 1713793.html
Geschrieben am: 19.09.2019 09:12:36
Hallo Andreas,
so:
Public Sub suchen() Dim raFund As Range With Worksheets("Tabelle1") Set raFund = Worksheets("Tabelle2").Columns("A").Find(what:=.Range("H1"), _ LookIn:=xlValues, lookat:=xlWhole) If Not raFund Is Nothing Then Worksheets("Tabelle2").Rows(raFund.Row).Copy .Rows(40) Else MsgBox "Suchbegriff wurde nicht gefunden." End If End With Set raFund = Nothing End SubGruß Werner
Betrifft: AW: suche wert in Zwischenablage
von: 1713796.html
Geschrieben am: 19.09.2019 09:27:11
ganz vielen Dank - ich probiere es gleich mal aus.
Betrifft: AW: suche wert in Zwischenablage
von: 1713806.html
Geschrieben am: 19.09.2019 09:41:41
Hallo Werner,
er bringt mir einen Fehler in der Suchzeile - musste da eine wenig anpassen, da es zwei datein sind. Vielleicht siehst Du den Fehler gleich?
Sub Asb() Tastenkombination: Strg Umschalt + A Dim FirstBook As Object Dim SecondBook As Object Dim raFund As Range Set FirstBook = ActiveWorkbook Range("H9").Select Selection.Copy Workbooks.Open Filename:="I:\2019.xls" Set SecondBook = ActiveWorkbook With FirstBook Set raFund = SecondBook.Find(what:=.Range("H1"), _ LookIn:=xlValues, lookat:=xlWhole) If Not raFund Is Nothing Then Worksheets("Tabelle2").Rows(raFund.Row).Copy .Rows(40) Else MsgBox "Suchbegriff wurde nicht gefunden." End If End With Set raFund = Nothing End Sub
Betrifft: AW: suche wert in Zwischenablage
von: 1713814.html
Geschrieben am: 19.09.2019 09:57:45
Hallo Andreas,
da fehlt jeweils noch die Angabe des Tabellenblattes.
Frage: Wozu kopierst du die Zelle H9 ??
Sub Asb() 'Tastenkombination: Strg Umschalt + A Dim FirstBook As Workbook, SecondBook As Workbook, raFund As Range Application.ScreenUpdating = False Set FirstBook = ThisWorkbook Set SecondBook = Workbooks.Open(Filename:="I:\2019.xls") 'Blattname anpassen With FirstBook.Worksheets("Tabelle1") 'Blattname anpassen Set raFund = SecondBook.Worksheets("Tabelle1").Find(what:=.Range("H1"), _ LookIn:=xlValues, lookat:=xlWhole) If Not raFund Is Nothing Then Worksheets("Tabelle2").Rows(raFund.Row).Copy .Rows(40) Else MsgBox "Suchbegriff wurde nicht gefunden." End If End With 'Datei ohne Speichern schließen SecondBook.Close False Set FirstBook = Nothing: Set SecondBook = Nothing: Set raFund = Nothing End SubGruß Werner
Betrifft: AW: suche wert in Zwischenablage
von: 1713818.html
Geschrieben am: 19.09.2019 10:06:48
Hallo Andreas,
Du setzt beide, "FirstBook" und "SecondBook", mit dem ActiveWorkbook. Das kann nicht funktionieren.
Und fuer was ist das hier gut?
Range("H9").Select Selection.CopyVersuche es so, ich denke "FirstBook" ist das mit dem Code:
Sub Asb() Tastenkombination: StrG Umschalt + a Dim FirstBook As Workbook Dim SecondBook As Workbook Dim raFund As Range Set FirstBook = ThisWorkbook Workbooks.Open Filename:="I:\2019.xls" Set SecondBook = ActiveWorkbook With FirstBook Set raFund = SecondBook.Find(what:=.Range("H1"), LookIn:=xlValues, lookat:=xlWhole) If Not raFund Is Nothing Then SecondBook.Sheets("Tabelle2").Rows(raFund.Row).Copy .Rows(40) Else MsgBox "Suchbegriff wurde nicht gefunden." End If End With Set raFund = Nothing End SubGruss Torsten
Betrifft: AW: suche wert in Zwischenablage
von: 1713824.html
Geschrieben am: 19.09.2019 10:26:07
Hallo Torsten,
geht schon - oder bin ich noch nicht wach??
Zum Zeitpunkt an dem mit Set FirstBook = ActiveWorkbook die Variable gesetzt wird, ist ThisWorkbook das Aktive Workbook.
Dann wird mit Workbook.Open eine Datei geöffnet, die ist jetzt ja das Aktive Workbook. Somit wird dann mit Set SecondBook = ActiveWorkbook mit der eben geöffneten Datei belegt.
Aber es fehlt jeweils die Zuweisung des entsprechenden Tabellenblattes.
Gruß Werner
Betrifft: AW: suche wert in Zwischenablage
von: 1713825.html
Geschrieben am: 19.09.2019 10:28:23
Hallo Torsten,
danke für Deine Hilfe! Das oben war noch ein Überrest von meinem ersten Versuch - sorry.
Mit dem neuen code bekomme ich eine Fehlermeldung in dieser Zeile:
Set raFund = SecondBook.Find(what:=.Range("H1"), LookIn:=xlValues, lookat:=xlWhole)
"objekt unterstützt diese Eigenschaft oder Methode nicht"
was kann das sein? Muss ich irgendwas noch aktivieren?
Danke und Gruß!
Betrifft: AW: suche wert in Zwischenablage
von: 1713833.html
Geschrieben am: 19.09.2019 10:57:53
Hallo,
hab ich uebersehen. Du musst auch im SecondBook noch das Tabellenblatt und Bereich angeben auf dem gesucht werden soll. z.B.:
Set raFund = SecondBook.Sheets("Tabelle2").UsedRange.Find(what:=.Range("H1"), LookIn:=xlValues, lookat:=xlWhole)
Betrifft: AW: suche wert in Zwischenablage
von: 1713834.html
Geschrieben am: 19.09.2019 11:04:20
Perfekt - ganz lieben Dank Euch beiden !!
Betrifft: gerne...
von: 1713836.html
Geschrieben am: 19.09.2019 11:07:08
Gruss
Betrifft: Gerne u. Danke für die Rückmeldung. o.w.T.
von: 1713837.html
Geschrieben am: 19.09.2019 11:09:26