Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Sortierfunktion als Makro





Frage

Hi Leute! Ich versuche gerade eine Liste zusammen zufassen und würde das gerne mit nem Makro machen. Allerdings fehlt mir das wissen für die richtige Eintritts und Austrittsbedingung. Vielleicht könnt Ihr ja helfen? Ich möchte 132 Zeilen mit jeweils vier Spalten (M bis P) zusammenfassen und eventuell auch sortieren (das ist allerdings Nebensache!). In den 132 Zeilen treten Projektnummern (Spalte M) und die darauf verwendeten Stunden (Spalte P) auf. Die Zeilen können gleiche und unterschiedliche Projektnummern haben. Außerdem können gleiche Projekte verschiedene Schlüsselnummern und Zusatznummern (Spalte N und O) besitzen. Nicht alle Zeilen sind gefüllt!!! Manchmal kommen also Leerzeilen vor. In dem Feld M159 bis P193 möchte ich die Projekte mit aufaddierter Zeit nun nach Projekten sortiert zusammenfassen. Ich muss also die erste Zeile (M12 bis P12) in die Zeile M158 bis P158 schreiben. Er soll nun die nächste Zeile (M13 bis P13) mit den schon geschriebenen (ab Zeile M158) vergleichen. Ist die Projektnummer identisch addiert er die Zeit (Spalte P) auf und schreibt das neue Ergebnis in Feld P158. Unterscheiden sich die Projektnummern schreibt er die Felder in die Zeile M159 bis P159. Dann beginnt der Vergleich mit der nächsten Zeile(M13 bis 13). Diesmal muss mit zwei schon geschriebenen Zeilen (M159bis P158 und M159 bis P159) verglichen werden usw. Ich bin jetzt mit dem Makro soweit, dass er zu dem entsprechenden Feld geht und deren Inhalt in das Zielfeld schreibt. Allerdings fehlt mir halt die Abfrage... Vielleicht könnt ihr ein bisschen helfen? [code] Option Explicit Sub Projekte() Dim Projektnr As Integer Dim U_nummer As Integer Dim Taetigkeit As Integer Dim Spalte As Integer, Row As Integer, i As Integer, m As Integer Dim Startspalte As Integer, Startzeile As Integer Dim Stunden As String Rem: Bildschirmaktualisierung ausschalten Application.ScreenUpdating = False Rem: Bereich M158:P193 für neue Anzeige löschen Range("M158:P193").ClearContents Row = 158 Spalte = 13 Startzeile = 12 Startspalte = 13 Rem: Schleife für Abfrage der Zeilen beginnt For i = 1 To 132 Rem: Schleife für die Projektzuweisung (4 Spalten) beginnt For m = 1 To 4 Cells(Row, Spalte) = Cells(Startzeile, Startspalte) Spalte = Spalte + 1 Startspalte = Startspalte + 1 Next m Row = Row + 1 Startzeile = Startzeile + 1 Spalte = 13 Startspalte = 13 Next i End Sub [/code]

Antwort von



Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: