Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1624to1628
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

Bestimmtes Datum/Zeile suchen - Werte einfügen

Bestimmtes Datum/Zeile suchen - Werte einfügen
17.05.2018 10:43:25
Nadine
Hallo Zusammen,
ich will mittels Makro, Werte, aus einer Tabelle in eine zweiten Tabelle dem entsprechendem Datum zuordnen.
Mein Makro sieht folgendermaßen aus:
Dim ImportDatei As Variant
Dim wb1 As Workbook
Dim wb2 As Workbook
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim zelles As Range
Dim bereichs As Range
Dim datum As Date
On Error Resume Next
ChDrive "L:"
ChDir "L:\WE_LG_Kennzahlen"
ImportDatei = Application.GetOpenFilename(FileFilter:="Microsoft Excel-Dateien (*.xlsx), *.xls", Title:="Eine Datei auswählen")
If ImportDatei = False Then Exit Sub
If ImportDatei = "" Then Exit Sub
Set wb1 = ThisWorkbook
Set ws1 = wb1.Worksheets("WE")
Set wb2 = Workbooks.Open(ImportDatei)
Set ws2 = wb2.Worksheets("Auswertungen KPI")
wb2.Worksheets("Auswertungen KPI").Activate
datum = wb2.Sheets("Auswertungen KPI").Range("B33").Value
datum = CDate(FormatDateTime(datum, vbShortDate))
ws2.Range("B34:AK34").Copy
Set bereichs = ws1.Range("N1").EntireRow
Set zelles = bereichs.Find(What:=datum, LookAt:=xlWhole, LookIn:=xlValues)
If zelles Is Nothing Then
MsgBox "Das Datum existiert nicht"
Exit Sub
End If
ws1.Activate
zelles.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
leider komme ich mit meinen bescheidenen VBA-Kenntnissen nicht weiter. Kann mir bitte jemand helfen?
Vielen Dank
Nadine

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bestimmtes Datum/Zeile suchen - Werte einfügen
17.05.2018 13:29:49
Rudi
Hallo,
evtl so?
Sub Nadine()
Dim ImportDatei As Variant
Dim wb1 As Workbook
Dim wb2 As Workbook
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim zelles As Range
Dim bereichs As Range
Dim datum As Date
ChDrive "L:"
ChDir "L:\WE_LG_Kennzahlen"
ImportDatei = Application.GetOpenFilename(FileFilter:="Microsoft Excel-Dateien (*.xlsx), *. _
xls", Title:="Eine Datei auswählen")
If ImportDatei = False Then Exit Sub
If ImportDatei = "" Then Exit Sub
Set wb1 = ThisWorkbook
Set ws1 = wb1.Worksheets("WE")
Set bereichs = ws1.Rows(1)
Set wb2 = Workbooks.Open(ImportDatei)
Set ws2 = wb2.Worksheets("Auswertungen KPI")
datum = ws2.Range("B33").Value
Set zelles = bereichs.Find(What:=datum, LookAt:=xlWhole, LookIn:=xlValues)
If zelles Is Nothing Then
MsgBox "Das Datum existiert nicht"
Else
ws2.Range("B34:AK34").Copy
zelles.Offset(1).PasteSpecial xlPasteValues
End If
Application.CutCopyMode = False
End Sub

Gruß
Rudi
Anzeige
AW: Bestimmtes Datum/Zeile suchen - Werte einfügen
17.05.2018 14:26:56
Nadine
Hallo Rudi,
ich habe deinen Code getestet und leider springt die Msg Box an, dass das Datum nicht existiert. Das Datum ist in beiden Tabellen auch als Datumsformat drin.
Hast du noch eine andere Idee?
Lieben Dank für die Hilfe.
Nadine
AW: Bestimmtes Datum/Zeile suchen - Werte einfügen
17.05.2018 15:24:19
Dieter
Hallo Nadine,
versuch es doch mal mit
Set zelles = bereichs.Find(What:=datum, LookAt:=xlWhole, LookIn:=xlFormulas)

Falls das nicht geht, wäre es schön, wenn du die beiden Tabellenblätter, um die es geht, zur Verfügung stellen könntest. Vielleicht in einer Mappe zusammengefasst.
Sonstige Werte können gelöscht oder anonymisiert sein.
Mit freundlichen Grüßen
Dieter
Anzeige
AW: Bestimmtes Datum/Zeile suchen - Werte einfügen
18.05.2018 07:40:29
Nadine
Hallo Dieter,
sehr gerne gebe ich euch eine Datei. Soll ja auch recht fix zu erledigen sein.
https://www.herber.de/bbs/user/121687.xlsx
Außerdem möchte ich noch, sobald das Datum (was mit einer Heute() Formel ausgegeben wird), sich ändert, soll sich die 2. Spalte automatisch ausblenden. Ziel soll sein, dass man eine 3 Wochenansicht hat, aber immer aktuell zum heutigen Datum.
Kennt ihr dafür auch einen schönen Code?
Vielen lieben Dank.
Nadine
AW: Bestimmtes Datum/Zeile suchen - Werte einfügen
18.05.2018 17:49:26
Dieter
Hallo Nadine,
ich bleibe mal beim ursprünglichen Thema und ich schlage vor, dass du das erst einmal abarbeitest. Wenn das erledigt ist, solltest du dein zweites Problem als neue Frage stellen.
Aus mir unerfindlichen Gründen funktioniert Find tatsächlich nicht.
Ich habe daher eine eigene Suchfunktion geschrieben und in die Programmversion von Rudi eingefügt. Außerdem habe ich das Programm so abgeändert, dass es sich auf die beiden Blätter deiner hochgeladenen Arbeitsmappe bezieht.
Sub Nadine()
Dim wb1 As Workbook
Dim wb2 As Workbook
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim zelles As Range
Dim bereichs As Range
Dim datum As Date
Set wb1 = ThisWorkbook
Set ws1 = wb1.Worksheets("WE")
Set wb2 = ThisWorkbook
Set ws2 = wb2.Worksheets("Auswertungen KPI")
Set bereichs = ws1.Rows(1)
'  datum = ws2.Range("B33").Value
datum = ws2.Range("J9")
'  Set zelles = bereichs.Find(What:=datum, LookIn:=xlValues)
Set zelles = Suchen(Bereich:=bereichs, Wert:=datum)
If zelles Is Nothing Then
MsgBox "Das Datum existiert nicht"
Else
ws2.Range("B34:AK34").Copy
zelles.Offset(1).PasteSpecial xlPasteValues
End If
Application.CutCopyMode = False
End Sub
Function Suchen(Bereich As Range, Wert As Date) As Object
Dim zelle As Range
For Each zelle In Bereich.Cells
If Wert = zelle.Value Then
Set Suchen = zelle
Exit Function
End If
Next zelle
End Function
https://www.herber.de/bbs/user/121699.xlsm
Viele Grüße
Dieter
Anzeige
AW: Bestimmtes Datum/Zeile suchen - Werte einfügen
22.05.2018 10:56:13
Nadine
Hallo Dieter,
vielen Dank. Dein Code funktioniert einwandfrei. Werden ihn gleich in meine Datei einfügen und erweitern wie ich es brauche.
Lg Nadine
AW: Bestimmtes Datum/Zeile suchen - Werte einfügen
23.05.2018 14:11:54
Nadine
Hallo nochmal,
ich wollte den Code variabel halten und erweitern. Leider funktioniert das nicht so wie ich erhofft hatte. Anbei mein Code den ich versucht habe umzuschreiben
Private Sub CommandButton1_Click()
Dim wb1 As Workbook
Dim wb2 As Workbook
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim zelles As Range
Dim bereichs As Range
Dim datum As Date
ChDrive "L:"
ChDir "L:\WE_LG_Kennzahlen"
ImportDatei = Application.GetOpenFilename(FileFilter:="Microsoft Excel-Dateien (*.xlsx), *.xls", _
Title:="Eine Datei auswählen")
If ImportDatei = False Then Exit Sub
If ImportDatei = "" Then Exit Sub
Set wb1 = ThisWorkbook
Set ws1 = wb1.Worksheets("WE")
Set wb2 = Workbooks.Open(ImportDatei)
Set ws2 = wb2.Worksheets("Auswertungen KPI")
Set bereichs = ws1.Rows(1)
On Error Resume Next
wb2.Worksheets("Auswertungen KPI").Activate
datum = ws2.UsedRange
Set zelles = Suchen(Bereich:=bereichs, Wert:=datum)
If zelles Is Nothing Then
MsgBox "Das Datum existiert nicht"
Else
ws2.Range("B34:AK34").Copy
zelles.Offset(1, 0).PasteSpecial xlPasteValues
Application.CutCopyMode = False
ws2.Range("B37:AK37").Copy
zelles.Offset(2, 0).PasteSpecial xlPasteValues
Application.CutCopyMode = False
ws2.Range("B39:AK39").Copy
zelles.Offset(3, 0).PasteSpecial xlPasteValues
Application.CutCopyMode = False
ws2.Range("B42:AK42").Copy
zelles.Offset(3, 0).PasteSpecial xlPasteValues
Application.CutCopyMode = False
End If
wb2.Close SaveChanges:=True
Set wb2 = Nothing
End Sub
Function Suchen(Bereich As Range, Wert As Date) As Object
Dim zelle As Range
For Each zelle In Bereich.Cells
If Wert = zelle.Value Then
Set Suchen = zelle
Exit Function
End If
Next zelle
End Function
Anzeige
AW: Bestimmtes Datum/Zeile suchen - Werte einfügen
23.05.2018 22:59:54
Dieter
Hallo Nadine,
was soll denn der neue Code leisten? Einem Code der nicht korrekt funktioniert, kann man nicht ansehen, was er leisten sollte, wenn er funktionieren würde.
Leider kann ich mich erst in der nächsten Woche mit deinem Problem weiter befassen.
Vielleicht stellst du es sicherheitshalber auf offen.
Viele Grüße
Dieter

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige