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

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

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
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

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige