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, 14:34 (Dieser Beitrag wurde zuletzt bearbeitet: 06.03.2019, 14:34 von RPP63.)
(06.03.2019, 13: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