16.05.2017, 16:30
(Dieser Beitrag wurde zuletzt bearbeitet: 16.05.2017, 22:34 von WillWissen.
Bearbeitungsgrund: Code in Codetags gesetzt
)
Liebe Leute, ich hoffe ihr könnt mir weiterhelfen!
Seit mehr als 3 Arbeitstagen suche ich vergebens nach einer Lösung zu meinem Problem. Ich konnte zwar ähnlich eThemen finden, keines davon, konnte mir aber meine Frage beantworten. Ich möchte euch in den folgenden Zeile die Problematik genauer erkllären und würde mich freuen, wenn mir jemand dabei auf die Sprünge helfen könnte. Selbst kann ich mich nur als VBA-Anfänger bezeichnen, bin jedoch gewollt VBA-know-how aufzugreifen. Die bisherigen VBA Codes, habe ich mich aus verschiedenen Foren zusammengebastelt.
Folgende Problematik:
Ich arbeite gerade an einem Excel-File mit 2 Sheets. Ein Sheet heißt "Datenbasis", das andere Sheet heißt "Auswertung". Ich möchte die kompletten Datensätze aus dem Sheet "Datenbasis" in das Sheet "Auswertung" kopieren und einfügen (ab Zeile A7), wenn das Datum in Spalte F (ab F2, da in der ersten Zeile die Überschriften der Spalten stehen), sich im vordefinierten Zeitraum befindet. Der vordefinierte Zeitraum befindet sich im Sheet "Auswertung". Das "BeginnDatum" steht in Zelle A4 und das EndDatum steht in Zelle C4 mit dem Format dd.mm.yyyy. Dieser Bereich bleibt immer der gleiche. Das Sheet "Datenbasis" bleibt nicht gleich, sondern veränder sich mit. D. h. die Datensatzanzahl variiert.
Das Ganze soll bei einer Befehlsschaltfläche hinterlegt werden. Ich möchte im Prinzip ein Abfragetool erstelle, dass sich auf einen Zeitraum bezieht.
Folgender, nicht annähernd, richtiger Code, konnte ich mir aus dem Internet zusammenbasteln.
Ich wäre dankbar, wenn mir jemanden bei meiner verzweifelten Suche nach dem richtigen Code weiterhelfen kann. Sollte mir jemand helfen, möchte ich mich schon im Vorraus bedanke.
Grüße an euch Excel-profis!
rotkiv
Seit mehr als 3 Arbeitstagen suche ich vergebens nach einer Lösung zu meinem Problem. Ich konnte zwar ähnlich eThemen finden, keines davon, konnte mir aber meine Frage beantworten. Ich möchte euch in den folgenden Zeile die Problematik genauer erkllären und würde mich freuen, wenn mir jemand dabei auf die Sprünge helfen könnte. Selbst kann ich mich nur als VBA-Anfänger bezeichnen, bin jedoch gewollt VBA-know-how aufzugreifen. Die bisherigen VBA Codes, habe ich mich aus verschiedenen Foren zusammengebastelt.
Folgende Problematik:
Ich arbeite gerade an einem Excel-File mit 2 Sheets. Ein Sheet heißt "Datenbasis", das andere Sheet heißt "Auswertung". Ich möchte die kompletten Datensätze aus dem Sheet "Datenbasis" in das Sheet "Auswertung" kopieren und einfügen (ab Zeile A7), wenn das Datum in Spalte F (ab F2, da in der ersten Zeile die Überschriften der Spalten stehen), sich im vordefinierten Zeitraum befindet. Der vordefinierte Zeitraum befindet sich im Sheet "Auswertung". Das "BeginnDatum" steht in Zelle A4 und das EndDatum steht in Zelle C4 mit dem Format dd.mm.yyyy. Dieser Bereich bleibt immer der gleiche. Das Sheet "Datenbasis" bleibt nicht gleich, sondern veränder sich mit. D. h. die Datensatzanzahl variiert.
Das Ganze soll bei einer Befehlsschaltfläche hinterlegt werden. Ich möchte im Prinzip ein Abfragetool erstelle, dass sich auf einen Zeitraum bezieht.
Folgender, nicht annähernd, richtiger Code, konnte ich mir aus dem Internet zusammenbasteln.
Code:
Private Sub ZeitraumBegrenzen_Click()
'declare variables
Dim fromDate, toDate As Date
Dim MyResults As Worksheet, MyData As Worksheet, MyDates As Worksheet
Set MyResults = Worksheets("Auswertung")
Set MyData = Worksheets("Datenbasis")
Set MyDates = Worksheets("Auswertung")
'clear previous results
'MyResults.Cells.Clear
'attribute date values to variables
fromDate = MyDates.Range("A4").Value
toDate = MyDates.Range("C4").Value
'convert to text format to allow filtering
fromDate = Format(fromDate, "dd.mm.yyyy")
toDate = Format(toDate, "dd.mm.yyyy")
With MyData
'removes autofilter
If .FilterMode Then .ShowAllData
'filter the data based on selected date values
.Range("A:C").AutoFilter Field:=1, Criteria1:= _
">=" & fromDate, Operator:=xlAnd, Criteria2:="<=" & toDate
'copy the filtered data
.UsedRange.SpecialCells(xlCellTypeVisible).Copy
'paste copied values to results sheet
MyResults.Range("A7").PasteSpecial
End With
'select cell A1 in results sheet
MyResults.Activate
MyResults.Range("A1").Select
End Sub
Ich wäre dankbar, wenn mir jemanden bei meiner verzweifelten Suche nach dem richtigen Code weiterhelfen kann. Sollte mir jemand helfen, möchte ich mich schon im Vorraus bedanke.
Grüße an euch Excel-profis!
rotkiv