AW: markieren sortieren
28.06.2017 16:39:32
Michael
Hallo Michael!
Nimm's Hajo nicht übel, er hat eine etwas sperrige Kommunikationsweise im Forum.
Hier nochmal zu Deiner Eingangs- und Folgefrage: Ein Bereich ab der aktiven Zelle (in Spalte A) bis Zelle Q2 (weil bis Spalte Q und bis Zeile 2) soll sortiert werden, evtl. mit diesem Code etwas verständlicher:
Sub a()
'Auf dem aktiven Blatt...
'Bereichs-Variable deklarieren
Dim MarkierBereich As Range
'Den Bereich bestimmen, von der aktiven Zelle (zB in Spalte A),
'bis zur Zelle Q2, denn der Bereich soll ja immer bis Spalte Q
'und Zeile 2 gehen
Set MarkierBereich = Range(ActiveCell, Range("Q2"))
'Nur zum Nachverfolgen: Den Bereich auswählen
MarkierBereich.Select
'Den Bereich nach Spalte H aufsteigend sortieren, OHNE Überschrift
MarkierBereich.Sort key1:=Range("H:H"), order1:=xlAscending, Header:=xlNo
End Sub
Probier das Makro einmal mit der ".Select" Zeile aus, und dann ohne - Du wirst sehen, sortiert wird dennoch der gleiche Bereich. ".Select" entspricht einem manuellen Vorgehen - d.h. Du wählst (per Maus, Tastatur) den Bereich aus, mit dem etwas passieren soll; sonst weiß Excel ja nicht, wo Du bestimmte Aktionen gesetzt haben willst. In VBA muss dieser manuelle Schritt aber nicht erfolgen - denn Du kannst in VBA direkt angeben/definieren mit welchem Bereich etwas gemacht werden soll (siehe oben Set...) - und dann kannst Du alles, was man mit einem Bereichs-Objekt (!) machen darf, eben direkt mit diesem Objekt machen - zB Sortieren - OHNE es auch noch auszuwählen. Klar?
Was Deine Frage mit dem Dollarzeichen betrifft, weiß ich nicht, was Du meinst. Einem Text das Dollarzeichen voranstellen ginge einfach so...
Sub b()
Dim DerTextVorher As String
Dim DerTextNachher As String
DerTextVorher = "Das ist der Text"
DerTextNachher = "$" & "Das ist der Text"
MsgBox DerTextVorher & vbLf & "-->" & vbLf & DerTextNachher
End Sub
Klar?
LG
Michael