Thema Datum  Von Nutzer Rating
Antwort
10.12.2015 16:28:23 Lukas
NotSolved
10.12.2015 20:09:36 Gast11714
NotSolved
10.12.2015 22:47:06 Gast70912
NotSolved
Blau Excel-Tabelle zu ".hol"
11.12.2015 10:32:08 Gast94541
Solved

Ansicht des Beitrags:
Von:
Gast94541
Datum:
11.12.2015 10:32:08
Views:
510
Rating: Antwort:
 Nein
Thema:
Excel-Tabelle zu ".hol"

Hallo Lukas!

Wie gestern schon geschrieben, passt einiges am ersten Entwurf deines Codes so nicht. Eine Kleinigkeit ist mir eben noch aufgefallen. Um dir die Zeit bei google zu ersparen :-) , hier mal eine Version die funktioniert. Da ich mit deiner Range nicht ganz klar kam, bin ich von ausgegangen, dass in Spalte A die Namen stehen und Spalte B das zugehörige Datum. Der Code geht dabei von Zeile 1 in A bis zum letzten Eintrag durch. Wenn ein Name drin steht und das Datum auch als Datum interpretiert werden kann, wird das Datum geschrieben. Das Datum in deiner Datei kann dabei im normalen Format sein (11.12.2015). Der Tausch zu YYYY/MM/DD erfolgt im Code selber. Fehlerhafte Einträge werden ignoriert. Beim Aufbau der .hol habe ich mich mal an dem hier orientiert.

http://www.pctipp.ch/tipps-tricks/kummerkasten/office/artikel/outlook-feiertage-selbst-bereitstellen-66196/

Da brauchst du auch ne Überschrift mit der Anzahl der Einträge. Lese deshalb alle zu schreibenden Termine in ein Array und schreibe von dem dann in dien Datei.

Sub hol_erstellen()
'füllt eine .hol Datei mit den Werten aus Spalte A und B
Dim termine()
Dim ende As Integer
Dim i As Long
Dim datum As Date
Dim überschrift As String
Dim nr

nr = FreeFile()

ReDim termine(0)
termine(0) = 0

'Termine sind in Spalte A
If ActiveSheet.Cells(1, 1) <> "" Then
    ende = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
    'alle Termine einlesen, die passen = A ist nicht leer, und B ist Datum
    For i = 1 To ende
        If ActiveSheet.Cells(i, 1) <> "" And IsDate(ActiveSheet.Cells(i, 2)) Then
            'Format festlegen
            datum = Format(CDate(ActiveSheet.Cells(i, 2)), "YYYY/MM/DD")
            'Punkte ersetzen
            datum = Replace(datum, ".", "/")
            termine(0) = termine(0) + 1
            ReDim Preserve termine(termine(0))
            termine(termine(0)) = ActiveSheet.Cells(i, 1) & ", " & datum
        End If
    Next i
    
    'Termine schreiben
    If termine(0) > 0 Then
        'Überschrift eintragen
        überschrift = "[meineTermine] " & termine(0)
        Open "C:\Users\XYZ123\Desktop\test.hol" For Output As #nr
        Print #nr, überschrift
        'jetzt Werte eintragen
        For i = 1 To termine(0)
            Print #nr, termine(i)
        Next i
        
        Close #nr
   
    End If
End If

End Sub

Schau mal ob das so passt. Gruß


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
10.12.2015 16:28:23 Lukas
NotSolved
10.12.2015 20:09:36 Gast11714
NotSolved
10.12.2015 22:47:06 Gast70912
NotSolved
Blau Excel-Tabelle zu ".hol"
11.12.2015 10:32:08 Gast94541
Solved