online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon nero022 vom 08.02.2021, 14:58 Options

Werte in anderer Excel-Tabelle suchen (Kopieren)

Hallo erst ein mal !!!
Ich suche ein Makro womit ich zelleninhale in einer anderen
excel tabelle ( Termiene) suchen kann,diese dan kopieren von spalte x bis x
die werte sollen dann in meiner excel tabelle eingetragen werden in einer bestimmten spalte (zeile).
die excel liste aus der die werte stammen soll danach wieder geschlossen werden.
Danke schon mal für eure hilfe
gruß nero.


Antwort schreiben

Antwort 1 von fedjo vom 08.02.2021, 17:08 Options

Hallo Nero,
ist die Tabelle mit den Terminen in der gleichen Arbeitsmappe?
Termine kopieren von - bis ?
In welcher Spalte eintragern?

Gruß
fedjo

Antwort 2 von nero022 vom 08.02.2021, 19:34 Options

Hallo,
also die excel tabelle termine liegt im selben ordner wie meine excel datei.
ich möchte eine vorgangsnummer eingeben z..b 09-0100-01 und diese soll er mir dann in meiner terminliste suchen blatt
(Eingabe Termine) und von Spalte A:R kopieren. die zeilen sind immer anders aber die vorgangsnummer steht immer in Spalte B5:B1504
einfügen soll er mir sie in Tabelle1 von Spalte A15:R15 meine Excel tabelle heist Werkstatt.
wenn er fertig ist soll er die terminliste wo er die daten herr hat wieder schließen.
danke schon mal für deine hilfe .....!!!!!!!!!!!!!!!!

Antwort 3 von fedjo vom 09.02.2021, 09:27 Options

Hallo Nero,
wenn ich deine Angaben richtig verstanden habe dann sollte so funktionieren: Suchen

Gruß
fedjo

Antwort 4 von nero022 vom 09.02.2021, 17:25 Options

Hallo fedjo !!!
Danke schon mal für deine mühe !!!!sehr nett von dir.

aber leider klapt es noch nicht so richtig,
also die excel datein liegen im ordner Termine .
1) excel datei name ( Terminliste )
2) excel datei name ( Werkstatt )

jetzt öffne ich die datei namens Werkstatt.xls aus dieser datei möchte ich die suchanfrage starten.

gesucht werden soll in Terminliste.xls ( Tabelle 1 ) B5 bis B1504
wen er den wert ( z.b.09-0100-01 ) gefunden hat soll er mir die werte von Spalte A bis R der jeweiligen zeile kopieren wo er auch
z.b.09-0100-01 gefunden hat.
diese werte soll er mir dan in die exceldatei namens Werkstatt
Tabelle1 von Spalte A15:R15 einfügen.
zum schluß soll er die excel tabelle Terminliste.xls wieder schließen.

Danke schon mal für deine mühe ...!
gruß nero

Antwort 5 von fedjo vom 10.02.2021, 18:07 Options

Hallo Nero,
was funktioniert genau genommen nicht?

Gruß
fedjo

Antwort 6 von nero022 vom 10.02.2021, 19:16 Options

hallo erst ein mall..!
also ich habe die datei in meinen ordner terminliste gespeichert,
dann habe ich das makro gestartet und z.b 09-0100-01 eingegeben.
diese nummer ist auch in der anderen datei vorhanden.
dan hat er mir ab zeile A15 volgendes geschrieben.
1,09-0100-01,2,3,4,5,6,7,8,9,10...,17
dan habe ich es noch mal versucht und dann kamm
A,09-0100-01,B,C,D,....., bis Q
als nächstes habe ich mal nichts eingegeben dan hat er mir eine neue mappe mit nahmen werkstatt erstelt...??
woran kann das liegen..?
gruß nero

Antwort 7 von fedjo vom 11.02.2021, 11:09 Options

Hallo Nero,
habe ich da was falsch verstanden, soll nach einem Fund dann nicht die ganze Zeile von A - R übertragen werden?

Gruß
fedjo

Antwort 8 von nero0022 vom 11.02.2021, 12:13 Options

Hallo,
doch das soll sie,aber in meinen zeilen von A bis R stehen werte...
z.b bei 09-0100-01

A B C D E .......R
5 09-0100-01 Bauforhaben Kunde Stück Anlieferung

und diese werte werden irgend wie nicht kopiert und in meiner datei eingetragen...!

geruß nero

Antwort 9 von malSchauen vom 11.02.2021, 13:02 Options

Hi,

Ja fedjo, Du hast etwas falsch verstanden bzw. wohl eher überlesen. Nero erwartet die Werte aus einem anderen Workbook/ einer anderen Datei. (Zumindest lese ich so seine A4.) Du aber suchst in einem anderen (hidden) Sheet im gleich Workbook.

Bye

Antwort 10 von nero0022 vom 12.02.2021, 15:03 Options

Hallo,kann mir vieleicht jemand helfen wäre sehr nett von euch...!

gruß nero022

Antwort 11 von nighty vom 12.02.2021, 16:15 Options

hi all ^^

ein ansatz

gruss nighty

ausgehend davon das die gesuchten nummern einmalig vorhanden sind

anpassung des dateinamens,der zu oeffnenden datei

Worksheets(1).Range("A1") dient der eingabe einer zahl.
die dann gesucht wird in einer datei die geoeffnet wird und zur zeit in spalte a die zahl sucht und den danebenliegenden wert bzw spalte b kopiert nach
ThisWorkbook.Worksheets(1).Range("A5")

Option Explicit
Sub DateiLesen()
    Dim DateiName As String
    Dim Suche As Range
    DateiName = "DeinDateiName.xls"
    Workbooks.Open Filename:="C:\Temp\" & DateiName
    Set Suche = Workbooks(DateiName).Worksheets(1).Range("A1:A" & Workbooks(DateiName).Worksheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Row).Find(ThisWorkbook.Worksheets(1).Range("A1"))
    If Not Suche Is Nothing Then
        ThisWorkbook.Worksheets(1).Range("A5") = Workbooks(DateiName).Worksheets(1).Cells(Suche.Row, Suche.Column + 1)
    End If
    Workbooks(DateiName).Close
End Sub

Antwort 12 von nighty vom 12.02.2021, 16:25 Options

hi all ^^

sollten es mehrere zeilen sein
so ware der autofilter eine variante,gefilterte daten kopieren/einfuegen

gruss nighty

Antwort 13 von fedjo vom 13.02.2021, 12:25 Options

Hallo Nero,
konnte mich aus beruflichen Gründen länger nicht melden.

Code in ein Modul der Datei "Werkstatt" einfügen.
Pfad der Terminliste ändern.

Option Explicit
Sub Start()
Application.ScreenUpdating = False
ChDir "C:\Dokumente und Einstellungen\Admin\Desktop"
Workbooks.Open Filename:="C:\Dokumente und Einstellungen\Admin\Desktop\Terminliste.xls"
Workbooks("Terminliste.xls").Sheets("Tabelle1").Activate
Application.Run "Terminliste.xls!Tabelle1.Suchen"
Workbooks("Terminliste.xls").Close
End Sub

Code in das Codefenster der Tabelle1 der Datei "Terminliste" einfügen.

Option Explicit
Sub Suchen()
Application.ScreenUpdating = False
Dim c, firstAddress
Dim strSuch As String, rngBer As Range
Set rngBer = Sheets("Tabelle1").Range("B5:B" & Range("B1504").End(xlUp).Row)
With rngBer
strSuch = InputBox("Suchen nach:", "Suchen in Spalte: B")
If strSuch = "" Then
Exit Sub
End If
Set c = .Find(strSuch, LookIn:=xlValues)
If c Is Nothing Then
MsgBox "Eintrag nicht vorhanden"
Else
firstAddress = c.Address
Do
c.Activate
Loop While Not c Is Nothing And c.Address <> firstAddress

Sheets("Tabelle1").Range(ActiveCell.Offset(0, 16), ActiveCell.Offset(0, -1)).Copy Workbooks("Werkstatt.xls").Sheets("Tabelle1").Range("A15")
End If
End With
Workbooks("Terminliste.xls").Close
End Sub

Mustertabellen:
Auch hier Pfadangaben "Terminliste" ändern.
Werkstatt


Terminliste

Gruß
fedjo

Antwort 14 von nero022 vom 13.02.2021, 23:53 Options

Hallo fedjo , danke für deine Hilfe !!!!
habe den code in meinen tabelle kopiert,es klapt auch so weit ganz gut.
auser das er mir einen fehler anzeigt...!

Index außerhalb des gültigen Bereichs (Fehler 9)
bei: Workbooks("Terminliste.xls").Close

Sub Start()
Application.ScreenUpdating = False
ChDir "I:\Terminliste"
Workbooks.Open Filename:="I:\Terminliste\Terminliste_neu.xls"
Workbooks("Terminliste_neu.xls").Sheets("Tabelle1").Activate
Application.Run "Terminliste_neu.xls!Tabelle1.Suchen"
Workbooks("Terminliste_neu.xls").Close
End Sub


Woran kann das wohl liegen...
Danke noch mal !!

Antwort 15 von fedjo vom 14.02.2021, 09:18 Options

Hallo Nero,
Code in der Datei Terminliste ersetzen:
Option Explicit
Sub Suchen()
Application.ScreenUpdating = False
Dim c, firstAddress
Dim strSuch As String, rngBer As Range
Set rngBer = Sheets("Tabelle1").Range("B5:B" & Range("B1504").End(xlUp).Row)
With rngBer
strSuch = InputBox("Suchen nach:", "Suchen in Spalte: B")
If strSuch = "" Then
Workbooks("Terminliste.xls").Close ' neu eingefügt
Exit Sub
End If
Set c = .Find(strSuch, LookIn:=xlValues)
If c Is Nothing Then
MsgBox "Eintrag nicht vorhanden"
Else
firstAddress = c.Address
Do
c.Activate
Loop While Not c Is Nothing And c.Address <> firstAddress
Sheets("Tabelle1").Range(ActiveCell.Offset(0, 16), ActiveCell.Offset(0, -1)).Copy Workbooks("Werkstatt.xls").Sheets("Tabelle1").Range("A15")
End If
End With
Workbooks("Terminliste.xls").Close
End Sub

Im Makro Start die Zeile löschen:
Workbooks("Terminliste_neu.xls").Close

Gruß
fedjo

Antwort 16 von nero022 vom 14.02.2021, 16:39 Options

Hallo fedjo !!!
danke noch mal es hat geklaptt super !!!!
eine frage habe ich da noch,ist es möglich die abfrage ob er meine terminliste speichern soll ja/nein weg zulassen ...?
also das er einfach die terminliste schließt ohne speichern...?!
wen nicht ist auch ok
du hast mir schon sehr weiter geholfen !!!!!!!!!!!!!!!
gruß nero

Antwort 17 von fedjo vom 14.02.2021, 17:07 Options

Hallo Nero
beim Makro "Suchen" gleich am Anfang des Codes einfügen:
Application.DisplayAlerts = False

Am Ende des Codes einfügen
Application.DisplayAlerts = True

Alle Meldungen werden dadurch unterdrückt und wieder aktiviert.

Gruß
fedjo

Antwort 18 von nero022 vom 15.02.2021, 11:29 Options

Hallo fedjo,
habe die beiden sachen bei suchen hinzugefügt,
dan sagt mir excel auf einmal wen ich das suchen ausführe,
das excel ein fehler hat und beendet werden muß...?

gruß nero.

Option Explicit
Sub Suchen()
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Dim c, firstAddress
Dim strSuch As String, rngBer As Range
Set rngBer = Sheets("Eingabe Termine").Range("B5:B" & Range("B1504").End(xlUp).Row)
With rngBer
strSuch = InputBox("Suchen nach:", "Suchen in Spalte: B")
If strSuch = "" Then
Workbooks("Terminliste_neu.xls").Close ' neu eingefügt
Exit Sub
End If
Set c = .Find(strSuch, LookIn:=xlValues)
If c Is Nothing Then
MsgBox "Eintrag nicht vorhanden"
Else
firstAddress = c.Address
Do
c.Activate
Loop While Not c Is Nothing And c.Address <> firstAddress
Sheets("Eingabe Termine").Range(ActiveCell.Offset(0, 16), ActiveCell.Offset(0, -1)).Copy Workbooks("Werkstatt.xls").Sheets("Tabelle1").Range("A15")
End If
End With
Workbooks("Terminliste_neu.xls").Close
Application.DisplayAlerts = True
End Sub

Antwort 19 von fedjo vom 15.02.2021, 12:53 Options

Hallo Nero,
welche Excel Version verwendest du?

Gruß
fedjo

Antwort 20 von fedjo vom 15.02.2021, 13:02 Options

Hallo Nero,
versuchs mal so:

Option Explicit
Sub Suchen()
Application.ScreenUpdating = False
Dim c, firstAddress
Dim strSuch As String, rngBer As Range
Set rngBer = Sheets("Tabelle1").Range("B5:B" & Range("B1504").End(xlUp).Row)
With rngBer
strSuch = InputBox("Suchen nach:", "Suchen in Spalte: B")
If strSuch = "" Then
Workbooks("Terminliste.xls").Close
Exit Sub
End If
Set c = .Find(strSuch, LookIn:=xlValues)
If c Is Nothing Then
MsgBox "Eintrag nicht vorhanden"
Else
firstAddress = c.Address
Do
c.Activate
Loop While Not c Is Nothing And c.Address <> firstAddress
Sheets("Tabelle1").Range(ActiveCell.Offset(0, 16), ActiveCell.Offset(0, -1)).Copy Workbooks("Werkstatt.xls").Sheets("Tabelle1").Range("A15")
End If
End With
Workbooks("Terminliste.xls").Close SaveChanges:=False
End Sub

Gruß
fedjo

Ähnliche Themen

werte suchen und kopieren
dirk78  23.08.2007 - 86 Hits - 3 Antworten

Excel Text suchen und dann aus einer anderen Tabelle einsetzen.
Martin...  07.08.2008 - 74 Hits - 2 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:Thu Jan 8 21:07:44 2026