Seite 2 von 2 ErsteErste 1 2
Ergebnis 11 bis 15 von 15
  1. #11
    Registriert seit
    14.08.2007
    Beiträge
    13
    Zitat Zitat von nochEinAndreas Beitrag anzeigen
    Noch mal zurück zu deinem allererersten Beispiel aus deinem Ursprungs-Posting. Dort hattest du in der Ausgangs-Tabelle 5 Spalten:
    Datum Termin1 Termin2 Termin3 Termin4
    Welchen 5 Spalten auf deinem Kalender-Blatt entspricht das? Ich tippe mal: A, E, F, G, H im Januar, April, Juli und Oktober, I, M, N, O, P für Februar, Mai, August und November, und Q, U, V, W, X für März, Juni, September und Dezember. Stimmt das so?
    Ja genau so ist es!

    Und im dem "Ergebnis" in deinem allerersten Posting hattest du 2 Spalten:
    Datum TestX
    Das soll dann auf dem Blatt FW-Daten in die Spalten A und D. Stimmt das?
    Das ist auch korrekt!

    Und dann müsstest du noch sagen, ab welcher Zeile die Einträge auf dem FW-Daten Blatt gemacht werden sollen. Immer unter der bisher letzten gefülllten? Das wäre in deiner Datei momentan Zeile 164.
    Die Daten würden um Bereich A3:J72 in den Spalten A und D eingefühlt.

    Hoffe deine Fragen damit beantworte zu haben.

    @Niclaus:
    "ZEN in der Informatik" ZEN kommt von zen meditation oder zen buddhism und beschreibt eine Form von Meditation.
    ZEN in der Informatik

  2. #12
    Registriert seit
    09.08.2007
    Beiträge
    199
    Hallo Thomas

    Ich habe mal das gemacht, was ich um 18:33 angetönt habe: Ein Makro, das die Kalenderdaten in eine neue Tabelle rein schreibt.

    Code:
    Sub kalenderkopieren()
    ' neue Tabelle wird eingerichtet
    Worksheets.Add After:=Worksheets("Kalender")
    neutab = ActiveSheet.Name
    With Columns("A:A")
        .NumberFormat = "m/d/yyyy"
        .HorizontalAlignment = xlCenter
    End With
    Worksheets("FW-Daten").Range("A1:D2").Copy _
        Destination:=Worksheets(neutab).Range("A1")
    ' Kopiervorgang von Kalender zu Tabelle
    Sheets("Kalender").Select
    neuz = 3
    For s = 1 To 4
        For q = 1 To 3
            datumsp = 8 * q - 7
            For zeile = 34 * s - 30 To 34 * s
                For spalte = 8 * q - 3 To 8 * q
                    If Not IsEmpty(Cells(zeile, spalte)) Then
                        Sheets(neutab).Cells(neuz, 1) = Cells(zeile, datumsp)
                        inhalt = Cells(zeile, spalte)
                            Sheets(neutab).Cells(neuz, 4) = inhalt
                        neuz = neuz + 1
                    End If
                Next spalte
            Next zeile
        Next q
    Next s
    Sheets(neutab).Select
    End Sub
    Ich hoffe, das hilft Dir einen Schritt weiter. - Eine Bitte noch: Würdest Du bitte in FW-Daten B2 das Wort "Begin" korrigieren zu "Beginn". Das hat mich jedes mal gewaltig irritiert in der neuen Tabelle! ;-)

    Zitat Zitat von runaway62 Beitrag anzeigen
    @Niclaus: "ZEN in der Informatik" ZEN kommt von zen meditation oder zen buddhism und beschreibt eine Form von Meditation.
    Was Zen bedeutet ist mir schon klar - aber in oder mit der Informatik? Gut, ich könnte mir vorstellen, dass es mir selber gerade jetzt helfen würde. Vor lauter Schleifen (1632 Durchgänge - jeden einzelnen gespannt verfolgt) kann mein Hirn nicht mehr normal arbeiten!

    Grüsse Niclaus

  3. #13
    Registriert seit
    14.08.2007
    Beiträge
    13

    Meine Lösung

    Hallo zusammen

    Besten Dank für euer Hilfe!

    Damit kann ich meine Problem sehr elegant lösen.

    Habe das Macro etwas erweitert und an meine Bedürfnisse angepasst.

    Jetzt werden die Daten direkt in die Tabelle FW-Daten eingefügt und es wird verhindert das wenn die Daten im FW-Daten ergänzt werden das Macro nochmals auf geführt werden kann.
    erste wenn bestimmte Spalten leer sind werden die Daten erneut übernommen.

    Hier nun das Macro:
    Code:
    Sub kalenderkopieren()
        Sheets("FW-Daten").Select
        ' Nur ausführen wenn FW-Daten B3:C75,E3:J75 leer ist
        If ActiveSheet.Range("B3:C75,E3:J75").Text = "" Then
            ' FW-Daten löschen Makro
                Sheets("FW-Daten").Select
                Range("A3:J75").Select
                Selection.ClearContents
                Range("A3").Select
            ' Kopiervorgang von Kalender zu Tabelle FW-Daten
            Sheets("Kalender").Select
            neuz = 3
            For s = 1 To 4
                For q = 1 To 3
                    datumsp = 8 * q - 7
                    For zeile = 34 * s - 30 To 34 * s
                        For spalte = 8 * q - 3 To 8 * q
                            If Not IsEmpty(Cells(zeile, spalte)) Then
                                Sheets("FW-Daten").Cells(neuz, 1) = Cells(zeile, datumsp)
                                inhalt = Cells(zeile, spalte)
                                    Sheets("FW-Daten").Cells(neuz, 4) = inhalt
                                neuz = neuz + 1
                            End If
                        Next spalte
                    Next zeile
                Next q
            Next s
            Sheets("FW-Daten").Select
        End If
    End Sub
    Und im Anhang noch das ganze Excel-Sheet

    Nochmals besten Dank für euer Hilfe.

    Gruss Thomas
    Angehängte Dateien Angehängte Dateien
    ZEN in der Informatik

  4. #14
    Registriert seit
    09.08.2007
    Beiträge
    199
    Grüezi Thomas

    Das freut mich! - Einen Hinweis noch zu Deinem Kalender: Der Berchtoldstag kommt ausser im Februar und im März in jedem Monat am 2. vor. Das wäre ja schön, so viele zusätzliche Feiertage!

    Grüsse Niclaus

  5. #15
    Registriert seit
    14.08.2007
    Beiträge
    13
    Besten Dank für den Hinweis.

    Habe das bereits korrigiert.
    Da hat wieder mal der Kopierteufel mit Absoluten- und Relativen Bezügen zugeschlagen.

    Grüsse Thomas
    ZEN in der Informatik

Seite 2 von 2 ErsteErste 1 2

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  
Firmenlink