Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1512to1516
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
Inhaltsverzeichnis

Werte holen

Werte holen
07.09.2016 12:02:58
Dirk
Hallo zusammen,
Ich habe in workbook "Test1.xlsm" worksheet "TB_Test1" einen wert "U"&Target.Row z.B."Wurst" als String,
diesen Wert möchte ich in workbook "Test2.xlsm" in A:A suchen und die Zellen "A bis AB" in WB "Test1.xlsm" worksheet "TB_Test2"(Letzte Zeile) kopieren
und keinen blassen Schimmer wie ;-)
Besten Dank im voraus
PS.: Ja es macht für mich sinn.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte holen - Zusatzfragen
07.09.2016 21:06:41
fcs
Hallo Dirk,
1. Ist die Arbeitsmappe Test2.xlsm stäng gleichzeitig mit Test1.xlsm geöffnet?
Oder soll Test2.xlsm für jede Suche geöffnet und wieder geschlossen werden?
2. Das Konstrukt "U"&Target.Row deutet darauf hin, dass du die Suche per DoppelKlick oder Rechte-maus-Klick in eine Zelle der jeweiligen Zeile in Blatt "TB_Test1" startest. Ist dem so? Wenn "Ja" dann wie?
LG
Franz
AW: Werte holen
07.09.2016 21:51:29
fcs
Hallo Dirk,
hier schon mal eine Variante als Ereignis-Makro. Dabei muss die Datei, in der in Spalte A:A gesucht werden soll, geöffnet sein.
LG
Franz
'Ereignis-Makro unter dem Tabellenblatt "TB_Test1" in Datei "Test1.xlsm"
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim varFind
Dim wksZiel As Worksheet
Dim wkbQuelle As Workbook
Dim wksQuelle As Worksheet
Dim Zelle As Range
Dim rngCopy As Range
Dim Zeile_L As Long
If Target.Cells.Count = 1 Then
'über die Case-Zeilen kann der Spalten bzw. Zeilenbereich festgelegt werden, in dem _
der Doppelklick die Suche auslösen soll
Select Case Target.Column
Case 1 To 21
Select Case Target.Row
Case Is >= 2
varFind = Cells(Target.Row, 21).Value 'Wert in Spalte U
If Not (varFind = "" Or IsEmpty(varFind)) Then
Set wksZiel = ThisWorkbook.Worksheets("TB_Test2")
'Die Quelldatei muss paralle zu Datei "Test1.xlsm" geöffnet sein.
Set wkbQuelle = Application.Workbooks("Test2.xlsm")
Set wksQuelle = wkbQuelle.Sheets(1)
Set Zelle = wksQuelle.Range("A:A").Find(What:=varFind, _
LookIn:=xlValues, lookat:=xlWhole)
If Zelle Is Nothing Then
MsgBox "Suchbegriff """ & varFind _
& """ in Quelltabelle nicht gefunden", _
vbOKOnly, "Suchen + Kopieren"
Else
With wksQuelle
'zu kopierenden Bereich in Zeile setzen Spalte A bis AB
Set rngCopy = .Range(.Cells(Zelle.Row, 1), _
.Cells(Zelle.Row, 28))
End With
With wksZiel
Zeile_L = .Cells(.Rows.Count, 1).End(xlUp).Row
If .Cells(Zeile_L, 1).Value = "" Then
Zeile_L = 1
Else
Zeile_L = Zeile_L + 1
End If
rngCopy.Copy Destination:=.Cells(Zeile_L, 1)
End With
Set rngCopy = Nothing
Set wkbQuelle = Nothing
Set wksQuelle = Nothing
End If
End If
Cancel = True
End Select
End Select
End If
End Sub

Anzeige
AW: Werte holen
09.09.2016 13:46:10
Dirk
Hallo Franz,
vielen Dank das klappt super.
Hast du mir auch die Variante mit geschlossener Datei?
Danke
AW: Werte holen
09.09.2016 17:45:02
fcs
Hallo Dirk,
bei geschlossener Quell-Datei wird diese krzzeitig geöffnet und nach dem Kopieren der Daten wieder geschlossen.
Das Verzeichnis/den Pfad der Quelldatei musst du im Code ggf. anpassen.
Gruß
Franz
Textdatei mit angepastem Makro:
https://www.herber.de/bbs/user/108100.txt

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige