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

worksheet_change

worksheet_change
13.05.2014 17:06:45
Reaper
Hi,
Ich hoffe das ich hier fündig werde und einer oder mehrere der Profies hier so gnädig sind und mich meiner Hilflosigkeit annehmen.
Ich kämpfe mich seit Wochen durch diverse Foren auf der Suche nach einen (mehreren) Makro(s) die mir die Arbeit erleichtern soll.
Zu meinen Problem:
In einer Mappe werden im ersten Blatt Daten (Datensätze) 1:1 hinein kopiert, welche sich in 7 Spalten wiederfinden (A-G).
Jedoch sind die Datensätze sehr variabel und reichen meist von 2-5000 Zeilen. Jetzt sollen diverse Einträge in andere Blätter kopiert werden. Als Beispiel Spalte A,B,C,E und G in Blatt2, und B,C in Blatt3. (jeweils gleiche Spalte)
Es kommt sehr oft vor, dass im Blatt1 sehr viele doppelte Einträge vorhanden sind, die aber im Blatt2 bleiben sollen, aber nicht im Blatt3. Dort sollen nur die jeweils einzelen stehen.
Des weiteren kommt es vor, dass z.B auch
abc 12345 Der Hobbit
xyz 12345 Der Hobbit
solche Daten vorhanden sind.
Diese sollen auch so bleiben. Weiterhin wird auch der Filter in Blatt1 benutzt.
Sprich es sollen nur die sichtbaren Daten (Tabelle1) in die jeweiligen Spalten in den jeweiligen Blättern kopiert werden.
Das ganze läuft derzeit über ein Command button und funzt ganz gut, jedoch möchte ich diesen überflüssig machen und das ganze als "Worksheet_change" laufen lassen.
Ich hoffe das das möglich ist
Ich bedanke mich schon mal im voraus
Gruß

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Musterdatei?
13.05.2014 18:50:23
UweD
das erleichtert die Sache erheblich

AW: worksheet_change
14.05.2014 16:45:07
Reaper
Hi,
Ja sry mein Fehler. Hab ne Mustermappe mit einen Auszug in vereinfachter Form der momentan exestierenden Mappe erstellt.
https://www.herber.de/bbs/user/90681.xlsm
Gruß

AW: worksheet_change
15.05.2014 09:44:21
UweD
Hallo
das sah doch schon gut aus und funktioniert gut...
einige wenige Änderungen...
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
With Sheets("RawData")
.Range("A4:C5000").Copy Destination:=Sheets("Check").Range("A3")
.Range("E4:E5000").Copy Destination:=Sheets("Check").Range("E3")
.Range("G4:G5000").Copy Destination:=Sheets("Check").Range("H3")
.Range("B4:C5000").Copy Destination:=Sheets("Articles").Range("A2")
End With
ActiveSheet.Next.Select
Call Rahmenlinien
Call Duplikate_entfernen
Application.ScreenUpdating = True
End Sub
Private Sub CommandButton2_Click()
On Error GoTo Fehler
Application.ScreenUpdating = False
Application.EnableEvents = False
Range("A4:G5000").ClearContents
Sheets("Check").Range("A3:H5000").Clear
Sheets("Articles").Range("A2:E5000").ClearContents
Application.Goto Range("A4"), True
Fehler:
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Gruß UweD

Anzeige
AW: worksheet_change
16.05.2014 17:13:45
Reaper
Hi Uwe,
Erst mal Danke für die schnelle kompetende Hilfe.
Der Code ist gut, aber so ne ähnliche Version hatt ich auch schon probiert (bis auf die "On Error und Event.Enable Funktion). Ist aber nicht das was ich brauche.
Bei dieser Methode bräuchte ich die "ActiveSheet.Next.Select" Funktion nicht, da ich den eingefügten Datensatz (Blatt1) erst noch bearbeiten muss, was eig, bei der Button Methode ja schon geschehen ist
(Daten einfügen, Daten bearbeiten, Button drücken).
Des Weiteren hat die Methode weitere Macken. Z.B. wenn ich "ActiveSheet.Next.Select" rausnehme, und das Modul "Rahmenlinien" aufgerufen wird, zieht mir der Code die Linien schon im 1. Blatt um die Einträge und nicht wie gewünscht im 2.Blatt.
Vielmehr ich wollte die Codes aus den 2 Modulen mit in den "Worksheet_Change" integrieren.
Ein weiters Manko ist, wenn ich nun den Filter benutze um diverse Einträge rauszufiltern (ausblenden), bleiben trotzdem im 2. und 3. Blatt sämtliche Daten stehen, auch die die ich vorerst nicht brauche.
Um das ganze Sinnbildlich darzustellen stell ich mir das so vor:
"Hey Du, ich füge hier gleich ein paar Daten im Blatt1 ein, dann schaust Du nach und entfernst den Zeilenumbruch wenn vorhanden und kopierst mir die Werte aus Spalte A,B,C,E und G entsprechend einmal in Blatt2 ein und rahmst jede Zelle bis zum letzten Wert ein, und dann kopierst Du nochmal die Werte von Spalte B und C in Blatt3 und entfernst sämtliche Duplikate.
Aber pass auf, wenn ich in Blatt1 diverse Einträge rausfiltere, diese kopierst Du nicht mit, nur die die sichtbar sind."
Ein Grundgedanke von mir war auch den Standartfilter von Excel nicht zu benutzen, sondern ich wollte eine ganz bestimmte Zelle so umfunkionieren, das wenn dort ein Kriterium eingetragen wird, dass der ganze Datensatz durchsucht wird und alle Zeilen (nicht Zellen) die dieses Kriterium nicht aufweisen rausgefiltert werden. (änlich wie bei Webbasierenden Datenbanken).
Ich hoffe das war nicht so viel Text und macht nicht all zu große Kopfschmerzen.
Gruß
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige