Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.04.2024 20:05:21
28.04.2024 18:33:31
28.04.2024 18:25:12
28.04.2024 14:18:05
Anzeige
Archiv - Navigation
1916to1920
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
Daten finden und übertragen
27.01.2023 12:25:41
Hans-Jörg
Hallo zusammen,
ich habe ein Sortier/Abfrageproblem in einer Unterrichtsplanung. Bei zwei Abfragen stehe ich gerade auf dem Schlauch. In der Datei befindet sich in Tabelle1 die Unterrichtsplanung, die mit einer UserForm gefüllt wird. Im Dateibeispiel sollen die roten Gruppen mit den Angaben Datum, Name Lehrkraft, Gruppenname, Inhalt des Unterrichts, Raum wie im Beispiel Tabelle4 erscheinen. Gruppenname, Inhalt des Unterrichts, Raum funktionieren wie in Tabelle3 zu sehen. Modul1 überträgt KW2 aus Tabelle1 mit Hilfsspalten in Tabelle2. Modul2 findet die roten Gruppen und überträgt mit Offset Gruppenname, Inhalt des Unterrichts und Raum in Tabelle3. Name der Lehrkraft und Datum wie in Beispiel Tabelle4 stellen mein Problem dar. Idee ist das Einfügen von Hilfszeilen wie in Tabelle "Hilfszeilen", dann könnte zumindest die Lehrkraft mit Offset übertragen werden. Datum natürlich noch nicht. In Tabelle1 sind alle anderen Farben der Gruppen mit bedingter Formatierung erstellt, rot nicht, sonst funktioniert es ja nicht.
Das bisherige System ist sag ich mal bieder, aber es funktioniert und ist schnell genug.
Ihr seid Profis, darum bitte ich euch um Hilfe das Projekt fertigstellen zu können und damit etwas zu lernen.
Vielen Dank und Grüße vorab.
Datei: https://www.herber.de/bbs/user/157496.xlsm
Hans-Jörg

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten finden und übertragen
27.01.2023 14:07:06
MCO
Hallo Hans-Jörg!
Ich hab mit deinen ersten Gehversuchen nicht weiter auseinandergesetzt.
Stattdessen hab ich was neues, kürzeres, schickeres gebaut.
Bei Listen die Werte alle einzeln rüberzukopieren mag Schritt für Schritt nachvollziehbarer sein, bremst aber die Ausführung.
Statt dessen werden mit Arrays gearbeitet. Dies dann am ende in 1 Schritt eingefügt werden, der Bereich muss aber die exakte Größe haben.

Sub rote_übertragen()
    
    Dim arr_zähler As Long 'initial immer 0
    Dim cl As Range
    Dim rng As Range
    Set rng = Sheets("Tabelle1").Cells.SpecialCells(xlConstants) 'jede gefüllte Zelle
    
    ReDim plan_arr(1 To 999, 1 To 6) As Variant
    
    For Each cl In rng
    
        If cl.Interior.ColorIndex = 3 Then 'wenn die Zelle rot ist
            Datum = Cells(2, cl.Column) 'immer zeile 2
            offset_Z = 1
            Do Until Cells(cl.Row - offset_Z, 1) = "Lehrkraft"
                offset_Z = offset_Z + 1
            Loop
            Lehrkraft = Cells(cl.Row - offset_Z, cl.Column)
            Inhalt = cl.Offset(1, 0)
            Raum = cl.Offset(2, 0)
            
            'array füllen
            arr_zähler = arr_zähler + 1
            plan_arr(arr_zähler, 1) = Format(Datum, "dd.mm.YY")
            plan_arr(arr_zähler, 2) = Lehrkraft
            plan_arr(arr_zähler, 3) = cl.Value
            plan_arr(arr_zähler, 4) = cl.Offset(0, -1)
            plan_arr(arr_zähler, 5) = Inhalt
            plan_arr(arr_zähler, 6) = Raum
        End If
    Next cl
    'Array einfügen in Tabellenblatt
    Sheets("Tabelle3").Range("A1:F999") = plan_arr
End Sub
Schau es dir mal an
Gruß, MCO
Anzeige
AW: Daten finden und übertragen
27.01.2023 15:04:46
Hans-Jörg
Hallo MCO,
ich gebe dir bei meinen Gehversuchen recht, noch arbeite ich wie "McGyver" ;-) Nachdem ich in deinem Code sheets ("Tabelle1") mit "Tabelle2" getauscht habe, bekomme ich die erwünschte Zuordnung des Datums und der Lehrkräfte. Respekt an dein Können! Vorerst ist das Datum noch nicht als echtes Datum formatiert und die Reihenfolge ist nicht von 09.01. bis 13.01 sortiert. Um zu lernen sollte ich mich damit beschäftigen und mich näher mit Arrays beschäftigen. Meine Tabelle1 wird in der Endfassung der Unterrichtsplanung bis zu 100 unterschiedliche Lehrkräfte erhalten. Nach meinem geringen Wissen wird das keinen Einfluss haben. Solltest du du noch Ratschläge wegen der Datumsformatierung in Tabelle3 und der noch fehlenden Sortierung von 09.01 auf 13.01, freue ich mich. Ansonsten arbeite ich dran und schließe dann den Thread. Ein herzliches Danke für die professionelle Lösung. Grüße Hans-Jörg
Anzeige
Datum + Sortieren
28.01.2023 11:33:58
MCO
Guten Morgen!
Ratschläge wegen der Datumsformatierung in Tabelle3
fehlenden Sortierung von 09.01 auf 13.01
Du kannst das Datum formatieren und auch die Sortierung als Makro aufzeichnen und einfach dem vorhanden Code nachstellen.
Schau dir den aufgezeichneten Code an um noch Stellschrauben zu verändern oder überflüssige Zeilen herauszuschreiben.
Das mit dem Datum könnte gehen über "Text in Spalten". Dazu die Spalte markieren und die Funktion anwählen. Text trennen, weiter, bis zu dem Punkt, an dem das Format festgelegt werden kann. Hier TMJ wählen für Tag, Monat, Jahr.
Viel Erfolg!
Gruß, MCO
Anzeige
AW: Datum + Sortieren
28.01.2023 11:46:17
Hans-Jörg
Hallo MCO,
vielen Dank für deinen Input, dein Code ist einfach nur Spitze!
Werde alles auch mit dem Datum hinbekommen, Sortierung eh kein Problem ;-)
Grüße
Hans-Jörg

155 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige