Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Tabelle sinnig verkürzen
#1
Hey Leute,

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.


Angehängte Dateien
.xlsm   forum - wo data.xlsm (Größe: 44,58 KB / Downloads: 6)
Antworten Top
#2
Hi

Wäre es dann nicht sinnvoll den Code hier gleich so zu schreiben dass der Reihe nach ausgefüllt wird?
https://www.clever-excel-forum.de/thread-19594.html

Gruß Elex
Antworten Top
#3
Moin!
Eine Möglichkeit:

Sub Sortieren()
With Tabelle9
  .Range("B9:B36").Sort .Range("B9"), xlDescending
  .Range("D9:D36").Sort .Range("D9"), xlDescending
End With
End Sub

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)
Antworten Top
#4
Sorry, der hat meine Antwort von heute morgen nicht gepostet...


@Elex, dieser Wunsch kam auch erste sehr kurzfristig auf mich zu. 


@Ralf, geht leider in dieser Form nicht bei mir.
Antworten Top
#5
(06.03.2019, 13:39)elamigo schrieb: @Ralf, geht leider in dieser Form nicht bei mir.

Der soll ja auch nicht gehen, sondern lediglich funktionieren, was "er" bei mir anstandslos tut.
Etwas genauer?
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)
Antworten Top
#6
Code:
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.
Antworten Top
#7
Hi

Zitat:@Elex, dieser Wunsch kam auch erste sehr kurzfristig auf mich zu.
Ja und ist jetzt deshalb eine Änderung am anderen Code nicht möglich oder Funktionell nicht machbar?
 
Zum Verständnis deines neuen Wunsches. Du möchtest keine Sortierung sondern nur ein Zusammenrutschen der Inhalte (leere Zellen weg) Oder?

Gruß Elex
Antworten Top
#8
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.
Antworten Top
#9
(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)
Antworten Top
#10
Hi

Code:
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
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste