Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<
Microsoft Office 2003-2019 => Excel => Thema gestartet von: rokandil am Juli 05, 2019, 13:10:22 Nachmittag
-
Hallo ich habe diesen Code um ein Datum aus einem bestimmten Bereich auszulesen und den Wert der unter dem Datum steht an einem definierten Ort auszugeben. Leider funktioniert das nur für eine Spalte bei der das Datum nicht als Tabelle formatiert ist. Da ich das Datum aus einer Tabelle auslesen möchte ist dies schlecht. Des weiteren soll nicht nur der erste Wert unter dem Datum kopiert und wo anders eingetragen werden, sondern das Datum selbst und eine fest definierte Anzahl von Feldern unter dem Datum die durch ein Eingabefenster bestimmt werden. Wäre super froh wenn ihr einen Ansatz habt um das ganze umzusetzen.
Option Explicit
Public Sub Datum_Suchen()
Dim rngFind As Range
Dim strDate As String
strDate = InputBox("Datum:", , Date)
If strDate = "" Then Exit Sub
Set rngFind = Sheets("Spreads").Range("58:58").Find(DateValue(strDate), LookIn:= _
xlFormulas)
If Not rngFind Is Nothing Then
rngFind.Offset(1, 0).Copy
Sheets("Spreads2").Range("C95:C107").PasteSpecial
Application.CutCopyMode = False
Else
MsgBox "Das Datum wurde nicht gefunden!"
End If
End Sub
-
Moin!
Glaubst Du ernsthaft, dass man mit dem Thumbnail etwas anfangen kann?
Dennoch ein paar Hinweise:
- Ein Datum ist kein Text, sondern eine Ganzzahl, beginnend mit 1 am 1.1.1900
Heute ist 43655
Wenn Du unbedingt per InputBox-Funktion übergeben willst, dann prüfe z.B. so:
Dim DatTmp As String, Datum As Date
DatTmp = InputBox(…)
If IsDate(DatTmp) Then Datum = CDate(DatTmp) - Ein Datum sucht man besser mittels Application.Match()
Match hat weniger Probleme mit "exotischen" Formaten - Ein Table-ListObject wird gänzlich anders angesprochen!
Lesefutter: https://www.thespreadsheetguru.com/blog/2014/6/20/the-vba-guide-to-listobject-excel-tables (https://www.thespreadsheetguru.com/blog/2014/6/20/the-vba-guide-to-listobject-excel-tables)
Gruß Ralf