Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
224to228
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
224to228
224to228
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

2 Makros miteinander verbinden

2 Makros miteinander verbinden
27.02.2003 22:26:15
udo
Hallo VBA Profis ,
könntet ihr mir bitte bei einer Verbindung zweier Makros helfen.

Ich habe eine Bezugstabellen mit einer kompletten Auflistung versch. Teile.
Diese Tab. hat ca 1000 Zeilen und 13 Spalten. Die Tabelle besitzt in jeder
Spalte einen Autofilter, um die Spalte nach den Bedürfnissen. Zu filtern usw.

In einer zweiten Tabelle die ich mal als Zieltabelle definiere, kann ich über eine
Makroanweisung mir Daten aus der Bezugstabelle nach einem best. Kriterium in die
Zieltabelle rüberholen. Funktioniert auch alles, soweit so gut .

Jetzt meine eigentliche Bitte.
Ich möchte zusätzlich noch nach einem Zweiten Kriterium
Daten aus der Bezugstabelle in die Zieltabelle rüber holen, ebenfalls durch eine Makro anweisung, und dabei sollten sich die Daten aus der zweiten Makroanweisung gleich anschließend unter die erste Makroanweisung unten anschließen und somit die erste
Datenübernahme nicht überschreiben.

Das Ergebnis in der Zieltabelle sollte dann eine Auflistung untereinander sein . Zuerst die erste Filterung aus der Bezugstabelle und dann die Zweite.

Ich zeig euch mal hier noch mein VBA Makro das mir die erste Filterung in die Zieltab.
Übernimmt.
Vielleicht weis ja jemand von euch wie man dieses Makro so anweisen kann, oder einen
Fehlenden CODE einfügen, damit es so funktioniert.

Wäre euch sehr sehr dankbar, lieben Gruß udo


Sub Datenübernahme_1()

Application.ScreenUpdating = False 'Bildschirmaktualisierung aus

Sheets("Bezugstabelle").Select
Selection.AutoFilter Field:=5, Criteria1:=(Cells(1010, 18)) ‘ Autofilter der Spalte fünf - Filterbezug ist Zelle R1010

Rows("19:999").Select ‘ Zeilen 19 bis 999 kopieren
Selection.Copy

Sheets("Zieltabelle").Select ‘Wechsel zur Zieltabelle

Rows("19:999").Selec t‘ Zeilen 19 bis 999 anwählen und dort einfügen
ActiveSheet.Paste

Sheets("Bezugstabelle").Select ‘Wechsel zur Bezugstabelle
Selection.AutoFilter Field:=5 ‘Autofilter wieder auf Alles einstellen

Application.CutCopyMode = False ‘ Kopiermodus anhalten


Sheets("Zieltabelle").Select ‘wieder Wechsel zur Zieltabelle
Range("A19").Select ‘ zu Zelle A19 springen

Application.ScreenUpdating = True 'Bildschirmaktualisierung ein

End Sub


XXXXXXXXXXX Hier fehlt mir die passende Verbindung ? XXXXXXXXXXXXXX


Sub Datenübernahme_2()

Application.ScreenUpdating = False 'Bildschirmaktualisierung aus

Sheets("Bezugstabelle").Select
Selection.AutoFilter Field:=5, Criteria1:=(Cells(1012, 18)) ‘ Autofilter der Spalte fünf - Filterbezug ist Zelle R1012

Rows("19:999").Select ‘ Zeilen 19 bis 999 kopieren
Selection.Copy

Sheets("Zieltabelle").Select ‘Wechsel zur Zieltabelle

Rows("19:999").Selec t‘ Zeilen 19 bis 999 anwählen und dort einfügen
ActiveSheet.Paste

Sheets("Bezugstabelle").Select ‘Wechsel zur Bezugstabelle
Selection.AutoFilter Field:=5 ‘Autofilter wieder auf Alles einstellen

Application.CutCopyMode = False ‘ Kopiermodus anhalten


Sheets("Zieltabelle").Select ‘wieder Wechsel zur Zieltabelle
Range("A19").Select ‘ zu Zelle A19 springen

Application.ScreenUpdating = True 'Bildschirmaktualisierung ein

End Sub


Vielleicht weis auch jemand wie ich das eine Makro so um stelle das beides hintereinander auf einmal gleich funktioniert

Die Bezugsdaten der beiden Autofilterfunktionen ist einmal Zelle R1010 und R1012 im Bezugstabellenblatt.


Vielen Dank für eure Hilfe im Voraus.

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: 2 Makros miteinander verbinden
27.02.2003 23:55:38
Uwe Wassmann

Hi,
versuch mal folgendes


Sub Datenübernahme_1()

Application.ScreenUpdating = False 'Bildschirmaktualisierung aus

Sheets("Bezugstabelle").AutoFilter Field:=5, Criteria1:=(Cells(1010, 18))

Rows("19:999").Copy

Sheets("Zieltabelle").Select ‘Wechsel zur Zieltabelle

Rows("19:999").Paste

Sheets("Bezugstabelle").AutoFilter Field:=5

Application.CutCopyMode = False ‘ Kopiermodus anhalten


Sheets("Zieltabelle").Select ‘wieder Wechsel zur Zieltabelle
Range("A19").Select ‘ zu Zelle A19 springen

Application.ScreenUpdating = True 'Bildschirmaktualisierung ein

Datenübernahme_2'AUfruf des 2. Makros

End Sub

Sub Datenübernahme_2()

Application.ScreenUpdating = False 'Bildschirmaktualisierung aus

Sheets("Bezugstabelle").AutoFilter Field:=5, Criteria1:=(Cells(1012, 18)) ‘ Autofilter der Spalte fünf - Filterbezug ist Zelle R1012

Rows("19:999").Copy

Sheets("Zieltabelle").Select ‘Wechsel zur Zieltabelle

Rows("19:999").Paste

Sheets("Bezugstabelle").AutoFilter Field:=5 ‘Autofilter wieder auf Alles einstellen

Application.CutCopyMode = False ‘ Kopiermodus anhalten


Sheets("Zieltabelle").Select ‘wieder Wechsel zur Zieltabelle
Range("A19").Select ‘ zu Zelle A19 springen

Application.ScreenUpdating = True 'Bildschirmaktualisierung ein

End Sub


Anzeige
hallo uwe Danke, werde es gleich mal testen oT
28.02.2003 00:00:22
udo

...

hallo uwe , leider noch nicht fertig...
28.02.2003 00:36:09
udo

Hallo Uwe habe es nochmal etws anpassen müssen , funktioniert aber leider noch nicht richtig.

hier nochmals das von mir angewandte Makro :
Vielleicht siehst du ja den Fehler
Leider kopiert er die beiden Datenübernahmen übereinander und nicht untereinander


Sub Datenübernahme_1()

Application.ScreenUpdating = False 'Bildschirmaktualisierung aus
Application.Run "Clear_1"
Sheets("Teile").Select
Selection.AutoFilter Field:=5, Criteria1:=(Cells(1039, 18))

Rows("19:999").Select
Selection.Copy
Sheets("Filter1").Select 'Wechsel zur Zieltabelle
Rows("19:999").Select
ActiveSheet.Paste

Sheets("Teile").Select
Selection.AutoFilter Field:=5
Application.CutCopyMode = False ' Kopiermodus anhalten

'Sheets("Filter1").Select 'wieder Wechsel zur Zieltabelle
Range("A19").Select ' zu Zelle A19 springen
'Application.ScreenUpdating = True 'Bildschirmaktualisierung ein
Datenübernahme_2 'AUfruf des 2. Makros

End Sub


Sub Datenübernahme_2()

Application.ScreenUpdating = False 'Bildschirmaktualisierung aus
Sheets("Teile").Select
Selection.AutoFilter Field:=5, Criteria1:=(Cells(1041, 18))

Rows("19:999").Select
Selection.Copy
Sheets("Filter1").Select 'Wechsel zur Zieltabelle
Rows("19:999").Select
ActiveSheet.Paste

Sheets("Teile").Select
Selection.AutoFilter Field:=5 'Autofilter wieder auf Alles einstellen
Application.CutCopyMode = False ' Kopiermodus anhalten

Sheets("Filter1").Select 'wieder Wechsel zur Zieltabelle
Range("A19").Select ' zu Zelle A19 springen

Application.ScreenUpdating = True 'Bildschirmaktualisierung ein

End Sub

Anzeige
Re: hallo uwe , leider noch nicht fertig...
28.02.2003 01:38:46
Uwe Wassmann

Sub Datenübernahme_1()

Application.ScreenUpdating = False 'Bildschirmaktualisierung aus
Application.Run "Clear_1"
Sheets("Teile").Select
Selection.AutoFilter Field:=5, Criteria1:=(Cells(1039, 18))

Rows("19:999").Select
Selection.Copy
Sheets("Filter1").Select 'Wechsel zur Zieltabelle
Rows("19:999").Select
ActiveSheet.Paste

Sheets("Teile").Select
Selection.AutoFilter Field:=5
Application.CutCopyMode = False ' Kopiermodus anhalten

'Sheets("Filter1").Select 'wieder Wechsel zur Zieltabelle
Range("A19").Select ' zu Zelle A19 springen
'Application.ScreenUpdating = True 'Bildschirmaktualisierung ein
Datenübernahme_2 'AUfruf des 2. Makros

End Sub


Sub Datenübernahme_2()

Application.ScreenUpdating = False 'Bildschirmaktualisierung aus
Sheets("Teile").Select
Selection.AutoFilter Field:=5, Criteria1:=(Cells(1041, 18))

Rows("19:999").Select
Selection.Copy
Sheets("Filter1").Select 'Wechsel zur Zieltabelle
Cells(1000,1).Activate
ActiveSheet.Paste

Sheets("Teile").Select
Selection.AutoFilter Field:=5 'Autofilter wieder auf Alles einstellen
Application.CutCopyMode = False ' Kopiermodus anhalten

Sheets("Filter1").Select 'wieder Wechsel zur Zieltabelle
Range("A19").Select ' zu Zelle A19 springen

Application.ScreenUpdating = True 'Bildschirmaktualisierung ein

End Sub

Anzeige
Hi Uwe , hat geklappt ....
28.02.2003 02:01:24
udo

Vielen herzlichen Dank,
hat wahrscheinlich vorher auch schon funktioniert, habe nur nicht gesehen dass er die zweite Datenübernahme erst ab zeile 1000 einträgt in die zieltabelle. ich werde dann in der Ziel tabelle noch die leeren Zeilen wegfiltern und dass noch als makro unten ran hängen. Dann müssten die Daten gleich hintereinander stehen.

Also vielen Dank nochmals für deine nette Hilfe, lieben Gruß aus dem Schwabenländle , udo

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige