Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Gehe zum Datum, Werte eintragen

Forumthread: Gehe zum Datum, Werte eintragen

Gehe zum Datum, Werte eintragen
07.08.2016 23:37:43
Gerhard E.

Hallo,
in einer Zeile (Jahreskalender) soll ein Datum gefunden werden. Dann sollen unterhalb, in der Datumsspalte, in leeren Zellen jeweils ein Zellwert kopiert/eingetragen werden (siehe Datei).
Über eine Macro-Lösung würde ich mich sehr freuen.
Bis zum Montag...
Gruß
Gerhard E.
https://www.herber.de/bbs/user/107461.xlsm

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Teste mal
08.08.2016 10:44:28
Gerhard E.
Hallo Steffen,
vielen Dank, so ist es sehr gut zu gebrauchen!
Mein zusätzlicher Wunsch: das Makro so anzupassen dass die Eintragungen nicht an Samstagen, Sonntagen oder Feiertagen geschehen. Die Datei ist vorbereitet.
Könntest du diese Anpassung vornehmen?
Viele Grüße
Gerhard E.
https://www.herber.de/bbs/user/107468.xlsm
Anzeige
AW: Teste mal
08.08.2016 11:45:40
baschti007
Hey Ho einfach mal ersetzen
Gruß Basti
Private Sub CommandButton1_Click()
Dim datArea, findDate, setValue, matchDate, out, fillArea
Dim rngFound As Range
findDate = [B4].Text
setValue = [C4].Value
Const startCol = 6
Const startRow = 4
If (Format(findDate, "DDD") = "Sa" Or Format(CDate(findDate), "DDD") = "So") Then GoTo  _
Error1
Set rngFound = ThisWorkbook.Worksheets("Feiertage").Columns("E:E").Find(What:=CDate( _
findDate), LookIn:=xlFormulas, LookAt:=xlWhole)             ' LookIn:=xlFormulas oder LookIn:=xlValues
If Not rngFound Is Nothing Then GoTo Error2
Set datArea = Range(Cells(startRow, startCol).Address).Resize(, Cells(startRow, Columns. _
Count).End(xlToLeft).Column - startCol + 1)
out = Application.Transpose(Application.Transpose(datArea.Value))
matchDate = Application.Match(findDate, out, 0)
If IsNumeric(matchDate) Then
On Error Resume Next
Set fillArea = datArea.Cells(1, matchDate).Resize(300 - startRow, 1).SpecialCells(4)
If Err.Number = 1004 Then MsgBox " Der Bereich vom Datum " & findDate & " enthält keine  _
leeren Zellen mehr", vbInformation: Exit Sub
fillArea.Value = setValue
Else
MsgBox "Datum " & findDate & " wurde nicht gefunden.", vbInformation
End If
Exit Sub
Error1:
MsgBox "Kann nicht am Wochenende ausgeführt werden"
Exit Sub
Error2:
MsgBox "Kann nicht an Feiertagen ausgeführt werden"
Exit Sub
End Sub

Anzeige
Danke!
08.08.2016 14:20:54
Gerhard E.
Hallo Basti,
passt so!
Vielen Dank.
Gerhard E.
Bitte =)
08.08.2016 14:55:33
baschti007
Danke auch an Steffen!
08.08.2016 15:43:39
Gerhard E.
Gruß
Gerhard

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige