Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1536to1540
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

Format Datum

Format Datum
01.02.2017 13:26:53
Gregor
Hallo zusammen
Ich stelle meine Anfrage vom 30.01.16 nochmals ins Forum, weil ich nicht weiterkomme. Ich habe diesmal eine Musterdatei hochgeladen, in der ich die Antwort vom Forum übernommen habe.
https://www.herber.de/bbs/user/111058.xlsm
Leider erhalte ich bei der Spaltenabfrage Spalte_Ziel_Copy in der Zieldatei immer einen Typenfehler, obwohl ich das Format CDate verwende. Bei der Quelldatei erhalte ich keinen Fehler.
Wie kann ich auf den beiden Tabellen die Spalten nach den in der UF eingetragenen Datums suchen.
Sorry, dass ich diese Frage nochmals stelle, komme aber nicht weiter.
Danke und Gruss
Gregor

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

Betreff
Datum
Anwender
Anzeige
AW: Format Datum
01.02.2017 13:47:10
ChrisL
Hi Gregor
Wenn du ein Datum suchst, das gar nicht vorhanden ist, gibt es einen Typenfehler. Und ich würde CLng verwenden.
cu
Chris
AW: Format Datum
01.02.2017 13:57:51
UweD
Hallo
1)
Das Datum ist in Spalte 1 nicht vorhanden, kann also im match kein Ergebnis liefern.
Also erst mal prüfen, ob es da ist.
2)
Du willst was einfügen, hast aber vorher nichts kopiert.
Da kann ich dir nicht helfen, da ich nicht erkennen kann was du kopieren möchtest
Sub Übertrag_aktJahr()
    On Error GoTo Fehler
    Application.ScreenUpdating = False
    Application.EnableEvents = False
    usrDatum.Show
    Zieldatei = "Tabelle1"
    Quelldatei = "Tabelle2"
    If WorksheetFunction.CountIf(Worksheets(Quelldatei).Rows(1), CLng(Datum_Ziel)) = 0 Or _
        WorksheetFunction.CountIf(Worksheets(Quelldatei).Rows(1), CLng(Datum_Ziel1)) = 0 Then
            MsgBox "Datum in Quelldatei nicht vorhanden"
    Else
        Spalte_Datum = Application.Match(CLng(Datum_Ziel), Worksheets(Quelldatei).Rows(1), 0)
        Spalte_Datum1 = Application.Match(CLng(Datum_Ziel1), Worksheets(Quelldatei).Rows(1), 0)
        With Worksheets(Zieldatei)
            For Start = 4 To 115
                If WorksheetFunction.CountIf(.Rows(3), CDate(Datum_Ziel)) = 0 Then
                    MsgBox "Datum " & CDate(Datum_Ziel) & " in Zieldatei nicht vorhanden"
                Else
                    Spalte_Ziel_Copy = Application.Match(CLng(Datum_Ziel), .Rows(3), 0)
                    'Irgendwo fehlt das copieren. 
                    'du kannst nichts einfügen, was vorher nicht kopiert wurde 
                    .Cells(Start, Spalte_Ziel_Copy).PasteSpecial Paste:=xlValues
                    Application.CutCopyMode = False
                End If
            Next Start
        End With
    End If
    Err.Clear
Fehler:
    Application.EnableEvents = True
    If Err.Number <> 0 Then MsgBox "Fehler: " & _
        Err.Number & vbLf & Err.Description: Err.Clear
End Sub

LG UweD
Anzeige
AW: Format Datum
01.02.2017 13:57:54
EtoPHG
Hallo Gregor,
Mit Application.Match(Suchkriterium, Bereich, Verweis) kannst du wohl Suchen, aber eine Suche endet manchmal im Misserfolg. Das trifft in deinen Fällen zu!
Wenn die Suche erfolglos ist, gibt die Funktion einen Fehlerwert zurück und kann darum nicht einer Variablen vom Typ Double zugeordnet werden! Die Zuordnung kann nur an eine Variant-Variable erfolgen, die im Fehlerfall zu einem Variablentyp Error wird.
Das könnte dann z.B. so abgefangen werden:
Spalte_Datum = Application.Match(CLng(Datum_Ziel), Worksheets(Quelldatei).Rows(1), 0)
If VarType(Spalte_Datum) = vbError Then
MsgBox "Datum " & Datum_Ziel & " nicht gefunden!", vbCritical
Else
MsgBox "Datum " & Datum_Ziel & " gefunden in Spalte " & Spalte_Datum, vbInformation
End If
Gruess Hansueli
Anzeige
AW: Format Datum
01.02.2017 15:30:10
Gregor
Hallo zusammen
Danke sehr für eure Inputs. Das Datum ist in der Originaldatei schon vorhanden, es wird in der UF entsprechend eingetragen (in der UF bloss als Vorschlag, da meist korrekt). Kopierwerte hat die Originaldatei auch, das Muster war diesbezüglich evt. verwirrend.
Mit CLng(Datum_Ziel) funktioniert es, obwohl ich in der UF mit CDate einlesen muss, da sonst nur der entsprechende Zahlenwert geliefert wird.
Hier mein nun funktionierender Code mit verständlicher Tabelle:
https://www.herber.de/bbs/user/111060.xlsm
Vielen Dank und Gruss
Gregor
Anzeige
Das du froh bist über die Antworten, mag...
01.02.2017 17:54:12
EtoPHG
sein Gregor,
wenn du sie aber nicht verstehst, solltest du rückfragen und nicht einfach ein neues Datei posten, die keinerlei vorgeschlagene Korrekturen berücksichtigt.
Ich kann den Typenfehler immer noch forcieren, wenn ich ein nicht vorhandenes Datum in die UF eintrage.
Deine Anfrage bezog sich auf diesen Typenfehler! Es liegt nicht an den Daten, sondern an der Tatsache, dass du keine Fehlerbehandlung machst.
Ich verstehe dein Verhalten nicht!
Gruess Hansueli
warum neuer Beitrag u. was ist mit Feedback?
01.02.2017 15:10:30
Werner
Hallo Gregor,
erstens brauchst du dich nicht zu wundern, dass keine funktionierende Lösung dabei war, wenn du mit dem eigentlichen Problem hinter dem Berg hälst.
Zweitens ist dein Eingangsbeitrag noch offen und du hättest auch dort weitermachen können.
Drittens eröffnest du einen neuen Beitrag, hälst es aber nicht für notwendig im alten Beitrag ein Feedback zu geben.
Danke auch.
Gruß Werner
Anzeige
AW: warum neuer Beitrag u. was ist mit Feedback?
01.02.2017 15:47:35
Gregor
Hoi Werner
Ja, da hast du recht, ich befürchtete eben, dass der 30.01 für die Beantwortung bereits nicht mehr aktuell ist. Das Problem versuchte ich so gut wie möglich zu beschreiben, ist mir anscheinend nicht gelungen.
Über die Beiträge im Forum bin ich immer sehr froh.
Danke und Gruss
Gregor

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige