anbei eine Bsp-Datei. Ich such ein Worksheet-Activate Event um die Einträge in der Tabelle nach der Reihe von Zeile 9 an zu ordnen. Also in B9 soll dann "toll" stehen und in B10 "super". Einfach das die Einträge schön unter einander sind. Die Einträge kommen durch Verknüpfungen so quer in die Tabelle.
Sub Schaltfläche2_Klicken() Range("B9:B36").Select ActiveWorkbook.Worksheets("Notes Sighting-Round").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Notes Sighting-Round").Sort.SortFields.Add Key:= _ Range("B9"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _ xlSortNormal With ActiveWorkbook.Worksheets("Notes Sighting-Round").Sort .SetRange Range("B9:B36") .Header = xlNo .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Range("D9:D36").Select ActiveWorkbook.Worksheets("Notes Sighting-Round").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Notes Sighting-Round").Sort.SortFields.Add Key:= _ Range("D9"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _ xlSortNormal With ActiveWorkbook.Worksheets("Notes Sighting-Round").Sort .SetRange Range("D9:D36") .Header = xlNo .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub
das spuckt mir das Makro aus, geht easy als Schaltfläche, aber als Worksheet_activate Event, gibt es direkt ein Fehler und der debugger macht die erste Zeile gelb.
ja zusammen rücken der Ergebnisse. Allerdings sind im Orginal noch Notizen in Spalte G, sieht hier gelb markiert. Daher keine Ahnung Ob du mit zusammen rücken Zeilen löschen meinst.
06.03.2019, 15:34 (Dieser Beitrag wurde zuletzt bearbeitet: 06.03.2019, 15:34 von RPP63.)
(06.03.2019, 14:49)elamigo schrieb: das spuckt mir das Makro aus, geht easy als Schaltfläche, aber als Worksheet_activate Event, gibt es direkt ein Fehler und der debugger macht die erste Zeile gelb.
Was genau hat jetzt Dein Rekorder-Code mit meinem Zweizeiler zu tun? Du könntest im Activate den selben Code nutzen, allerdings wäre Tabelle9 im Klassenmodul der Tabelle gleichbedeutend mit Me, also redundant.
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Private Sub Worksheet_Activate() Dim arrWerteB(1 To 28, 0) As Variant, arrWerteD(1 To 28, 0) As Variant Dim i As Long, b As Long, d As Long b = 1 d = 1 For i = 9 To 36 If Cells(i, 2) <> "" Then arrWerteB(b, 0) = Cells(i, 2).Value b = b + 1 End If If Cells(i, 4) <> "" Then arrWerteD(d, 0) = Cells(i, 4).Value d = d + 1 End If
Next i Range("B9:B36").Value = arrWerteB Range("D9:D36").Value = arrWerteD End Sub