Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1800to1804
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
Inhaltsverzeichnis

Makro Fehler

Makro Fehler
22.12.2020 14:34:22
Udo
Hallo eine Frage ich habe ein MAkro aus diesem Forum das bei einer Zelleingabe ein anderes Makro ausführen soll.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim merkZelle As Range
Set merkZelle = ActiveCell
If Not Application.Intersect(Target, Range("r22:t27")) Is Nothing Then
Call Sortiere_Tabelle_A
End If
merkZelle.Activate
End Sub

Mein Problem
Es sortiert die Tabelle A nicht vollständig, wenn ich das Makro sortiere Tabelle A
Als eigenes Makro ausführe funktioniert es.
Was mach ich oder was ist da der Fehler bitte um Hilfe
Hier das MAkro zum Sortieren
Sub Sortiere_Tabelle_A()
'
' Sortiere_Tabelle_A Makro
'
'
Range("BB14:BI18").Select
ActiveWorkbook.Worksheets("Masters").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Masters").Sort.SortFields.Add2 Key:=Range( _
"BB15:BB18"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Masters").Sort
.SetRange Range("BB14:BI18")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("D15:L15").Select
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro Fehler
22.12.2020 15:19:52
ChrisL
Hi
Mittels Beispieldatei hätte man das Problem schnell erkannt. So kann man nur raten, nämlich dass die Referenzierung unvollständig ist, weil sich das Change-Ereignis auf einem anderen Tabellenblatt befindet.
Key:=Worksheets("Masters").Range("BB15:BB18")
SetRange Worksheets("Masters").Range("BB14:BI18")
cu
Chris
AW: Makro Fehler
22.12.2020 15:27:42
Udo
https://www.herber.de/bbs/user/142505.xlsm
Beim Achtelfinale ist es mir aufgefallen eingabe in die gelben felder sollte die Tabelle sortieren, tut es nicht beim Ausführen des Makros funktionierts
Danke für eure mühe
Anzeige
AW: Makro Fehler
22.12.2020 17:10:33
ChrisL
Hi
Meine Vermutung war falsch ;)
Wie sieht es aus, wenn du anstelle von Add2 nur Add verwendest?
Add2 kannte ich noch gar nicht und ergibt in Excel 2016 einen Fehler (nur in XL365 vorhanden). Nach meinem Verständnis wird dies nur verwendet um z.B. geographische Koordinaten zu sortieren.
Zudem hier noch eine Variante, wie du die Variablen übergeben kannst und damit brauchst du nur noch ein einziges Sort-Makro. Die Select kannst du auch weglassen.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("r22:t27")) Is Nothing Then _
Call Sortiere_Tabelle(Range("BB15:BB18"), Range("BB14:BI18"))
End Sub

Sub Sortiere_Tabelle(rngBereich1 As Range, rngBereich2 As Range)
ActiveWorkbook.Worksheets("Masters").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Masters").Sort.SortFields.Add Key:=rngBereich1, SortOn:= _
xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Masters").Sort
.SetRange rngBereich2
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
cu
Chris
Anzeige
AW: Makro Fehler
22.12.2020 17:34:06
Udo
Danke für deine Hilfe, aber da bin i zu grün hinter den ohren
das versteh i leider nicht könntest mir a beispieldatei hochladen, dann komm i sicher drauf
LG
AW: Makro Fehler
22.12.2020 17:51:09
Udo
Danke für deine Hilfe, aber da bin i zu grün hinter den ohren
das versteh i leider nicht könntest mir a beispieldatei hochladen, dann komm i sicher drauf
LG
AW: Makro Fehler
22.12.2020 18:47:33
ChrisL
Hi
Heute kann ich keine Beispieldatei mehr hochladen. Aber die Idee wäre erst einmal die beiden Makros die du ins Forum gestellt hast, durch die beiden neuen Makros zu ersetzen. Schau mal ob es funktioniert.
Danach kannst du das Change-Ereignis ausbauen, weil Worksheet_ChangeB funktioniert so nicht (es gibt nur ein einziges Change-Ereignis).
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("r22:t27")) Is Nothing Then _
Call Sortiere_Tabelle(Range("BB15:BB18"), Range("BB14:BI18"))
If Not Application.Intersect(Target, Range("al22:an27")) Is Nothing Then _
Call Sortiere_Tabelle(Range("BL15:BL18"), Range("BL14:BS18"))
' usw.
End Sub

cu
Chris
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige