Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
372to376
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
372to376
372to376
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makrostart bei Tabellenwechsel

Makrostart bei Tabellenwechsel
28.01.2004 09:18:49
helena
Hallo Excel Gemeinde
denke ist kleine Sache für euch

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Call sort_Name
End Sub

möchte wenn ich "KUNDEN" Tabelle verlasse noch Makro starten damit
Sortierung noch ausgeführt.
PROBLEM: jetzt läufts endlos in Schlaufe
DANKE für Hilfe
gruss helena

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makrostart bei Tabellenwechsel
28.01.2004 09:26:32
Roland Hochhäuser
Hallo helena,

Private Sub Worksheet_Deactivate()
Call sort_Name
End Sub

(in das Tabellenblatt der "KUNDEN"-Tabelle)
Geht es damit?
Gruß
Roland
leider nein ...Makrostart bei Tabellenwechsel
28.01.2004 09:32:31
helan
Hallo Roland
nein DEACTIVATE geht nicht löst nichts aus
gruss helena
AW: leider nein ...Makrostart bei Tabellenwechsel
28.01.2004 09:51:04
Roland Hochhäuser
Hallo helena,
was steht denn in der sort_Name?
Roland
AW: leider nein ...Makrostart bei Tabellenwechsel
28.01.2004 09:54:34
helena
Hallo Roland
nichts spezielles eigentlich

Sub sort_Name()
Range("A2:H1000").Select
Selection.Sort Key1:=Range("D3"), Order1:=xlAscending, Key2:=Range("E3") _
, Order2:=xlAscending, Key3:=Range("G3"), Order3:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:= _
xlSortNormal
Range("D3").Select
End Sub

möchte einfach sicher sein das beim Blatt verlassen die Daten sortiert sind, da
ich in einem anderen Blatt die Daten per SVERWEIS beziehe
gruss helena
gruss helena
Anzeige
könnte es sein ...Makrostart bei Tabellenwechsel
28.01.2004 09:57:11
helena
Hallo Roland
dieser Code reagiert auf die aktive Mappe, es ist mir jetzt aufgefallen
das Zellbereich in anderem Blatt markiert wird d.h. ich müsste
CODE änder damit er nur mit diesem Blatt funktioniert ???
gruss helena
AW: könnte es sein ...Makrostart bei Tabellenwechsel
28.01.2004 10:04:24
Roland Hochhäuser
Ja, dann aber ohne select, weil damit ja das gerade verlassene Blatt wieder aktiviert wird.

Sub sort_Name()
With Sheets("Tabelle1").Range("A2:H1000")
.Sort Key1:=Range("D3"), Order1:=xlAscending, Key2:=Range("E3") _
, Order2:=xlAscending, Key3:=Range("G3"), Order3:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:= _
xlSortNormal
End With
End Sub

Roland
Anzeige
leider nein ...Makrostart bei Tabellenwechsel
28.01.2004 10:21:27
helena
Hallo Roland
es startet korrekt aber es kommt Fehler 1004
Sortierbezug nicht im Bereich ..... aber die Sortkey's sind innerhalb Bereich
A2:H1000
gruss helena
AW: leider nein ...Makrostart bei Tabellenwechsel
28.01.2004 10:29:09
Roland Hochhäuser
Hallo helena,
wie lautet denn die GENAUE VBA-Bezeichnung (VBA-Editor, Projektexplorer) der Tabelle, die du sortierst haben möchtest? Nimm die und ersetze damit meine Tabelle1 in meinem Beispiel. Geht es jetzt?
Gruß
Roland
AW: leider nein ...Makrostart bei Tabellenwechsel
28.01.2004 10:32:13
Roland
Hallo Roland das habe ich natürlich gemacht habe Tabelle1
mit Kunden ersetzt Fehler 1004 bleibt
gruss helena
leider nein ...Makrostart bei Tabellenwechsel
28.01.2004 10:33:17
helena
upps habe noch deinem Namen eingesetzt SORRY
Fehler oder nicht Fehler?
28.01.2004 10:51:03
Roland Hochhäuser
?
. . . Hallo Roland das habe ich natürlich gemacht habe Tabelle1
mit Kunden ersetzt Fehler 1004 bleibt
. . . upps habe noch deinem Namen eingesetzt SORRY
Anzeige
AW: Muster
28.01.2004 12:10:21
Roland Hochhäuser
Hallo helena,
du müsstest folgendes in Tabelle4(Kunden) einbauen:

Private Sub Worksheet_Activate()
boocheck = True
End Sub


Private Sub Worksheet_Deactivate()
Call sort_Name
End Sub

und das Makro dann wie folgt schreiben:
Public boocheck As Boolean
Sub sort_Name()
If Not boocheck Then Exit Sub
Dim ws As Worksheet
Set ws = ActiveSheet
MsgBox ActiveSheet.Name
Sheets("Kunden").Activate
With Sheets("Kunden").Range("A2:H1000")
.Sort Key1:=Range("D3"), Order1:=xlAscending, Key2:=Range("E3") _
, Order2:=xlAscending, Key3:=Range("G3"), Order3:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:= _
xlSortNormal
End With
boocheck = False
Sheets(ws.Name).Activate
End Sub

Folge: beim Aktivieren des Kundenblattes wir der boocheckwert auf true gesetzt. Wenn das Blatt verlassen wird, wird der boocheck-Wert geprüft und sofern er true ist die Sortierung durchgeführt und anschließend auf false gesetzt. Das vermeidet eine Endlosschleife.
Gruß
Roland
Anzeige
AW: Muster
28.01.2004 12:13:34
Roland Hochhäuser
. . . natürlich ohne die Zeile mit der Messagebox
nun läufts aber
28.01.2004 12:23:34
Helena
Hallo Roland
es läuft jetzt wie gewünscht
BESTEN DANKE für Deine grosse Mühe
gruss helena aus der verschneiten Schweiz
Danke für die Rückmeldung . . .
28.01.2004 12:27:42
Roland Hochhäuser
. . . aus dem bewölkten und halb angetauten Berlin :-)
Roland Hochhäuser
AW: nun läufts aber
28.01.2004 12:32:18
helena
Hallo Roland
habe noch kleinen Fehler entdeckt es startet erst beim zweiten WECHSEL
das heisst denke ich "boocheck" ist beim ersten mal noch
nicht korrekt deklariert (bei Open FILE)
soll mann dies mit Opren ereignis auf set stellen ??? und wie ???
Vielen Dank
helena
AW: nun läufts aber
28.01.2004 12:41:14
Roland Hochhäuser
Klar doch *vergesslich* und zwar in "Diese Arbeitsmappe"

Private Sub Workbook_Open()
boocheck = True
End Sub

Nu aber :-)
Roland
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige