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

Zeilen mit Wochenenden ermitteln

Zeilen mit Wochenenden ermitteln
01.06.2021 17:40:06
Marc
Hallo zusammen,
ich benötige eure Hilfe, denn ich habe leider keinen Plan wie ich mein Vorhaben umsetzten soll.
Und zwar möchte ich aus der beigefügten Tabelle (Quelldatei) von Spalte O nur die Zeilen mit Wochenenden auslesen (Fr-So). Wenn diese ermittelt sind, sollen die betroffenen Zeilen aus Spalte B, E, F, H sowie O in ein Tabellenblatt einer bereits vorhandenen Excel-Datei geschrieben werden. Anschließend soll die Quelldatei wieder geschlossen werden. Die vorhandene Excel-Datei ist auch gleichzeitig der Ausgangspunkt für das Makro.
Kann mir hier bitte jemand weiterhelfen? Würde mir sehr helfen 😊
Viele Grüße
Marc
https://www.herber.de/bbs/user/146469.xlsx

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: zwei alternative Varianten ...
01.06.2021 17:49:33
neopa
Hallo Marc,
... die erste wäre, wenn es keinen Massendatenauswertung werden soll eine reine Formelauswertung. Hier und auch für die folgende Version wäre es aber gut zu wissen, welche XL-Version dafür wirklich eingesetzt wird. Die zweite Variante wäre eine Power Query Lösung, die aber zumindest XL Version 2013 voraussetzt.
Gruß Werner
.. , - ...
AW: zwei alternative Varianten ...
01.06.2021 18:21:07
Marc
Hallo Werner,
danke für deine Antwort.
Sorry, hatte ich vergessen auszuwählen. Ich benutze 365 Business :-)
Viele Grüße
Marcus
AW: beide Varianten wären da möglich owT
01.06.2021 18:25:12
neopa
Gruß Werner
.. , - ...
AW: zwei alternative Varianten ...
01.06.2021 20:03:57
Marc
Hallo Werner,
ich hatte mir vor Jahren einen Code zusammengebastelt welcher genau das ausführt das ich beschrieben habe, allerdings nicht für ein einzelnes Tabellenblatt, sondern es werden die Daten von mehreren Blättern ausgelesen. Wie schaffe ich es nun das gleiche auszuführen wenn alle Daten auf nur einem Sheet vorhanden sind?
"Test 2" - "Test 6" waren früher jeweils einzelne Sheets, in der Quelldatei stehen sie nun in Spalte H.
Unten findest du den verwendeten Code.
Viele Grüße
Marc

'Makro zum einlesen von Daten aus Quelldatei
Public Dateiname As Variant
Sub DateiWaehlenUndOeffnen()
'Dim Dateifilter As String
'Dim Dateiname As Variant
'Dateifilter = "Excel-Arbeitsmappen (*.xls),*.xls"
Dateiname = Application.GetOpenFilename(Dateifilter)
'If Dateiname  False Then
'MsgBox (Dateiname)
'End If
End Sub
Sub datei()
Dim WbDatei1 As Workbook
Dim WbDatei2 As Workbook
Dim i, j, k, zeilen As Integer
Dim modul(4)
Dim heute As Date
heute = Date                            'das heutige Datum
Call DateiWaehlenUndOeffnen             'oberes Makro zum Öffnen der Quelldatei aufrufen
Application.ScreenUpdating = False
Set WbDatei2 = ThisWorkbook
Set WbDatei1 = Workbooks.Open(Dateiname, ReadOnly:=True)
k = 1                                   'Laufvariable im aktiven Excelblatt
modul(0) = "Test 2"                     'Belegung der verschiedenen Bezeichnungen als Array
modul(1) = "Test 3"
modul(2) = "Test 4"
modul(3) = "Test 5"
modul(4) = "Test 6"
'erste Schleife zur Bestimmung des korrekten Blattes in der Quelldatei
For j = 0 To 4
zeilen = WbDatei1.Sheets(modul(j)).Cells(Rows.Count, 15).End(xlUp).Row
For i = 1 To zeilen
'Das ausgelesene Datum soll größer sein als das heute Datum und kleiner als eine Woche
If WbDatei1.Sheets(modul(j)).Cells(i, 15).Value > heute - 1 And WbDatei1.Sheets(modul(j)).Cells(i, 15).Value 

Anzeige
AW: VBA -Lösung gesucht, thread offen owT
02.06.2021 09:19:43
neopa
Gruß Werner
.. , - ...
AW: Zeilen mit Wochenenden ermitteln
02.06.2021 14:07:02
Daniel
Hi
im Prinzip so:

wtih Workbooks("Quelldatei.xlsx").Sheets("Orders").Usedrange
.with .Columns(.Columns.Count + 1)
.FormulaR1C1 = "=IfError(If(WeekDay(RC15,2)>=5,1,""""),"") '5=Freitag
if Worksheetfunction.Sum(.Cells) > 0 then
Intersect(.SpecialCells(xlcelltypeformulas, 1).EntireRow, .Worksheet.Range("B:B,E:F,H:H,O:O")).Copy
ThisWorkbook.Sheets(?).Cells(...).PasteSpecial xlpasteall
end if
end if
end with
Workbooks("Quelldatei.xlsx").close false
achtung, Code ist nicht auf rechtschreibung geprüft.
daher nicht kopieren, sondern lesen, verstehen, selber schreiben.
Gruß Daniel
Anzeige
AW: Zeilen mit Wochenenden ermitteln
02.06.2021 15:26:24
Marc
Hallo Daniel,
vielen Dank für Deine Antwort, ich werde es nachher gleich testen. Aber ist es nicht möglich den bereits vorhandenen Code (siehe unten) umzuschreiben um damit die Bezeichnungen aus der Spalte auszulesen anstatt aus den einzelnen Tabellenblättern?
Viele Grüße
Marc

'Makro zum einlesen von Daten aus Quelldatei
Public Dateiname As Variant
Sub DateiWaehlenUndOeffnen()
'Dim Dateifilter As String
'Dim Dateiname As Variant
'Dateifilter = "Excel-Arbeitsmappen (*.xls),*.xls"
Dateiname = Application.GetOpenFilename(Dateifilter)
'If Dateiname  False Then
'MsgBox (Dateiname)
'End If
End Sub
Sub datei()
Dim WbDatei1 As Workbook
Dim WbDatei2 As Workbook
Dim i, j, k, zeilen As Integer
Dim modul(4)
Dim heute As Date
heute = Date                            'das heutige Datum
Call DateiWaehlenUndOeffnen             'oberes Makro zum Öffnen der Quelldatei aufrufen
Application.ScreenUpdating = False
Set WbDatei2 = ThisWorkbook
Set WbDatei1 = Workbooks.Open(Dateiname, ReadOnly:=True)
k = 1                                   'Laufvariable im aktiven Excelblatt
modul(0) = "Test 2"                     'Belegung der verschiedenen Bezeichnungen als Array
modul(1) = "Test 3"
modul(2) = "Test 4"
modul(3) = "Test 5"
modul(4) = "Test 6"
'erste Schleife zur Bestimmung des korrekten Blattes in der Quelldatei
For j = 0 To 4
zeilen = WbDatei1.Sheets(modul(j)).Cells(Rows.Count, 15).End(xlUp).Row
For i = 1 To zeilen
'Das ausgelesene Datum soll größer sein als das heute Datum und kleiner als eine Woche
If WbDatei1.Sheets(modul(j)).Cells(i, 15).Value > heute - 1 And WbDatei1.Sheets(modul(j)).Cells(i, 15).Value 

Anzeige
AW: Zeilen mit Wochenenden ermitteln
02.06.2021 15:49:06
Daniel
ich verstehe nicht, was du meinst.
ich habe mich an deiner Beispieldatei und deiner Beschreibung orientiert.
deinen Code zu analysieren ist mir ohne eine Gegenleistung von dir zu aufwendig.
Gruß Daniel
AW: Zeilen mit Wochenenden ermitteln
03.06.2021 18:21:28
Herbert_Grom
Hallo Marc,
gehört der Freitag wirklich bei dir zum WE?
Servus

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige