Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1232to1236
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

Makrolösung gesucht !

Makrolösung gesucht !
Ernst
Schönen guten Morgen.
ich würde eure Hilfe benötigen für folgende Aufgabe.
1)ein Makro sollte mir folgende Arbeit abnehmen in folgenden Zellen stehen numerische Werte
A8 bis A45, E8 bis E45, J8 bis j45, N8 bis N45, S8 bis S45, W8 bis W45,
2)in folgende Zellen steht den numerischen Werten ein zugeordneter Text. (Beispiel A:8 "100 "..D:8"abc")
D8 bis D45, H8 bis H45, M8 bis M45, Q8 bis Q45, V8 bis V45, Z8 bis Z45,
3)wenn Inhalt A:8 gelöscht wird sollte auch Inhalt D:8 gelöscht werden usw.
4)bei Änderungen in den Nummerischen range bereichen sollten diese neu aufsteigend sortiert werden,
5)der zugeordnete Text sollte ebenfalls mitsortiert werden.
wäre für Lösungsvorschläge dankbar.
lg.Ernst

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

Betreff
Benutzer
Anzeige
AW: Sortieren ...
31.10.2011 09:13:41
Ernst
Hallo Matthias.
erstmals recht herzlichen Dank.
funktioniert gut.
Ich hatte vergessen zu erwähnen das die nummerischen Werte a8 bis a45 sowie e8 bis e45 zusammen gehören. gleiches gilt für den text.d8 bis d45 sowie h8 bis h45
das bedeutet wenn ich den letzten wert also a45 lösche, sollte der wert aus e8 in a45 stehen der text aus h8 in d45 usw.
wäre für Lösungsvorschlag dankbar:
Lg.Ernst
Anzeige
da ist noch ein Fehler drin ...
31.10.2011 09:34:52
Matthias
Hallo Ernst
Ich habe gerade bemerkt, das wenn man in Zeile 8 den Eintrag löscht die Überschrift mitsortiert wird.
Das ist ja dann so nicht gewollt und ich muß das erst noch mal checken.
Aber stell doch bitte ein Beispiel zur Verfügung mit einer etwas genaueren Erklärung.
Ich habe wahrscheinlich noch nicht so richtig realisiert was Du möchtest.
Gruß Matthias
Der Fehler war im Sortiermakro ...
31.10.2011 09:46:15
Matthias
Hallo
hier war der Fehler

Option Explicit
Public MyCol& '& = Long
Sub MySort()
Select Case MyCol
Case Is = 1 'Spalte(A)
Range("A8:D23").Sort Key1:=Range("A8"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Case Is = 13 ''Spalte(M)
Range("M8:P23").Sort Key1:=Range("M8"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Select
End Sub
Statt der 8 stand die 7 im Code.
auch hier war ein Zahlendreher drin

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
'Bereich1
If Not Intersect(Target, Range("A8:A32")) Is Nothing Then
MyCol = Target.Column
If Target = "" Then Target.Offset(, 3) = ""
MySort
End If
'Bereich2
If Not Intersect(Target, Range("M8:M32")) Is Nothing Then
MyCol = Target.Column
If Target = "" Then Target.Offset(, 3) = ""
MySort
End If
End Sub
Nicht 32 sondern 23 muß es in der BspDatei heißen.
Gruß Matthias
Anzeige
Nachfrage
31.10.2011 09:51:20
Reinhard
Hallo Matthias,
warum nicht so mit einer If-Abfrage:
If Not Intersect(Target, Range("A8:A32,M8:M32")) Is Nothing Then
Gruß
Reinhard
natürlich geht das auch ...
31.10.2011 10:23:20
Matthias
Hallo Reinhard
Es ist für mich als NichtProfi aber so, einfacher zu lesen.
In der Endlösung kann man das dann natürlich zusammenfassen.
Grundsätzlich hast Du natürlich Recht
Gruß Matthias
hier die 2.Variante
31.10.2011 10:27:10
Matthias
Hallo Ernst
Unabhängig von Deiner geposteten Datei habe ich mal weiter getestet.
Vielleicht ist es das was Du suchst.
Probier mal hier:
https://www.herber.de/bbs/user/77287.xls
Deine Datei schau ich mir nun auch noch an.
Gruß Matthias
Anzeige
AW: hier die 2.Variante
31.10.2011 10:46:38
Ernst
Hallo Matthias .
das passt so nur der dazugehörige text wird nicht mit übertragen.
lg.Ernst
so sollte es klappen ...
31.10.2011 10:55:31
Matthias
Hallo
Tausch mal den Code aus:

'Bereich1
If Not Intersect(Target, Range("A8:A45")) Is Nothing Then
MyCol = Target.Column
If Target = "" Then Target.Offset(, 3) = ""
MySort
If Cells(45, MyCol) = "" And Cells(8, 13)  "" Then
Application.EnableEvents = False
Cells(45, MyCol) = Cells(8, 13)
Cells(45, MyCol + 3) = Cells(8, 16)
MySort
Application.EnableEvents = True
Union(Cells(8, 13), Cells(8, 16)) = ""
End If
End If
https://www.herber.de/bbs/user/77288.xls
Gruß Matthias
Anzeige
AW: Danke
31.10.2011 11:01:02
Ernst
Hallo Matthias.
Funktioniert 1A
DANKE
Lg.Ernst
AW: so sollte es klappen ...
31.10.2011 12:39:18
Ernst
Hallo Matthias
Ich habe noch einen kleinen Schönheitsfehler entdeckt.
und zwar wenn ich der spalte M einen Wert eintrage der eigentlich nummerisch in spalte a gehört
wird dieser nicht berücksichtigt und nur der spalte m zugeordnet.
lg.Ernst
so könntest Du es machen ...
31.10.2011 19:20:56
Matthias
Hallo
Dann solltest Du die Daten erst nach A verschieben(Cut) ... also unten anhängen
dannach sortieren und wieder zurückschreiben nach Spalte M
Gruß Matthias
AW: so könntest Du es machen ...
31.10.2011 19:42:56
Ernst
Hallo Matthias
Danke für die Rückmeldung.
Ich würde Hilfe benötigen wie dein Vorschlag umzusetzen ist.(Makroerweiterung)
was mir noch zu schaffen macht ist die sortierroutine auszuweiten auf J bis N bzw.s bis w
vielleicht wenn es deine Zeit zulässt könntest du dir meine hochgeladene Datei ansehen.
wäre für Hilfe dankbar.
lg.Ernst
Anzeige
Nachfrage ...
01.11.2011 15:50:44
Matthias
Hallo Ernst
Sind TWG, ULF und BWG separat zu sortieren ?
Gruß Matthias
AW: Nachfrage ...
01.11.2011 20:23:41
Ernst
Guten Abend Matthias
ja
lg.ernst
Teste das mal ...
01.11.2011 20:39:12
Matthias
Hallo Ernst
Lass das mal auf Dich wirken ...
https://www.herber.de/bbs/user/77310.xls
Vielleicht kannst Du es ja für Deine Datei selbst umsetzen.
Gruß Matthias
AW: Teste das mal ...
04.11.2011 21:56:53
Ernst
Hallo Mattias
recht herzlichen Dank.
lg.Ernst

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige