Thema Datum  Von Nutzer Rating
Antwort
Rot Sortierung: Makroanpassung an Tabellenneueinträge
25.08.2006 11:51:44 Ziravi
NotSolved
28.08.2006 10:29:18 Rasta
NotSolved
28.08.2006 11:13:59 Ziravi
NotSolved
28.08.2006 11:55:19 Rasta
NotSolved
28.08.2006 12:04:41 ziravi
NotSolved
29.08.2006 09:07:06 Rasta
NotSolved
29.08.2006 09:43:53 ziravi
NotSolved
30.08.2006 11:01:57 Rasta
NotSolved
31.08.2006 12:35:50 ziravi
NotSolved
31.08.2006 23:05:46 Rasta
NotSolved
01.09.2006 10:06:10 ziravi
NotSolved

Ansicht des Beitrags:
Von:
Ziravi
Datum:
25.08.2006 11:51:44
Views:
2900
Rating: Antwort:
  Ja
Thema:
Sortierung: Makroanpassung an Tabellenneueinträge
Also mein Problem ist folgendes:

Ich habe eine Tabelle angelegt und habe Makros eingefügt.
Wenn man auf einen bestimmten Button doppelklickt wird die Tabelle nach
der entsprechenden Spalte sortiert. Das Makro sieht wie folgt aus und
funktioniert einwandfrei:
____

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)

If Target.Address = "$A$1" Then
Makro1
End If

End Sub

Sub Makro1()
MsgBox "Daten sortiert nach A1"

Range("A2:C10").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlNo,
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

End Sub
____

Nun mein Problem: Ich möchte, dass mein Makro automatisch erkennt wenn eine neue
Zeile (z.B. die Zeile mit A11 beginnend) in die Tabelle eingetragen wird,
das Makro sich ändert (Range("A2:C10").Sort wird zu Range("A2:C11").Sort) und so
die neuen Daten in die Sortierung mit einbezieht.

Variablen müssen also her:

Ich bin soweit, dass der letzte Eintrag in der Tabelle erkannt wird und die
Zellenangaben anders formatiert werden, sprich aus 2,1 wird A2...
____

Sub Zeile()
lz = Cells(Rows.Count, 1).End(xlUp).Rows.Row 'lz für letzte Zeile
ls = Cells2Range(lz, 10) 'ls für letzte Spalte

Anfang = Cells2Range(2, 1) 'der Tabellenanfang bleibt immer gleich
Ende = ls 'Das Ende ändert sich

MsgBox Anfang
MsgBox Ende

End Sub

Function Cells2Range(Zeile, Spalte)
'Zellen als Range angegeben
Spalte = Columns(Spalte).Address(False, False)

Spalte = Left(Spalte, InStr(Spalte, ":") - 1)

Cells2Range = Spalte & Zeile

End Function
____

Das Problem ist nur: Wie kriege ich diese Variable in meine Range?

Range(Anfang, Ende).Sort... geht zum Beispiel nicht, mir fehlen dazu einfach die
nötigen VBA Kenntnisse :/ Ich hoffe ihr könnt helfen

Vielen Dank schonmal
Gruß ziravi



Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Sortierung: Makroanpassung an Tabellenneueinträge
25.08.2006 11:51:44 Ziravi
NotSolved
28.08.2006 10:29:18 Rasta
NotSolved
28.08.2006 11:13:59 Ziravi
NotSolved
28.08.2006 11:55:19 Rasta
NotSolved
28.08.2006 12:04:41 ziravi
NotSolved
29.08.2006 09:07:06 Rasta
NotSolved
29.08.2006 09:43:53 ziravi
NotSolved
30.08.2006 11:01:57 Rasta
NotSolved
31.08.2006 12:35:50 ziravi
NotSolved
31.08.2006 23:05:46 Rasta
NotSolved
01.09.2006 10:06:10 ziravi
NotSolved