Werte aus Excel mit VBA filtern und kopieren

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
InputBox MsgBox
Bild

Betrifft: Werte aus Excel mit VBA filtern und kopieren
von: Helmut
Geschrieben am: 19.11.2003 15:03:43

Liebe Forumleute!

Ich habe folgendes Problem und hoffe auf eure Hilfe, da ich momentan anstehe.
Ich möchte mit VBA folgendes erreichen:

Ich habe eine Excel-Datei; im zweiten Tabellenblatt ("Auswertung") habe ich ein große Anzahl von Daten in den Spalten A-M.
Die erste Zeile in dem Tabellenblatt beinhaltet Überschriften mit Autofilter für die darunterstehenden Daten.
Auf dem ersten Tabellenblatt habe ich eine gewisse Anzahl von Buttons, die gewisse Aktionen (Makros) ausführen.
Ich möchte nun einen Butten hinzufügen, der folgendes macht:

Eine Inputbox geht auf und fragt nach dem Jahr (in Spalte A im Tabellenblatt)
Eine Inputbox geht auf und fragt nach dem Monat (in Spalte B im Tabellenblatt)
Eine Inputbox geht auf und fragt nach dem Tag (in Spalte E im Tabellenblatt)

VBA soll nun nach diesen drei Eingaben im Tabellenblatt "Auswertung" automatisch filtern.
In den Spalten I und M soll nun unter der gefilterten Liste jeweils die Summe gebildet werden.
Danach soll die Liste in einer Schleife von der Zeile 2 bis ?Ende (Variabel wegen Filterung!) in der
Spalte F nach gewissen Zeichenfolgen suchen und den Wert in Spalte I und M in der zugehörigen Zeile
in eine andere Excel-Datei (vorher öffnen) in vorgesehene Zellen kopieren.
Beispiel: Suche von 2 bis 46 --> Case "AB" in Spalte F ist wahr--> nimm Werte aus den Spalten I und M der zugehörigen Zeile -->
öffne die vorhandene Datei mit dem Namen Tag_Monat_Jahr.xls (Tag, Monat und Jahr aus der Inputboxeingabe!) -->
schreibe dort die 2 Werte in die Zellen C2 und D2 --> speichere die Datei und schließe sie

Ich weiß, das klingt kompliziert, aber genau deswegen stehe ich momentan gedanklich auf der Leiter, bzw. fahre
schon Karussell!?

Könnt ihr mir bitte helfen, weil dringend!?

Servus, Helmut

Bild


Betrifft: AW: Werte aus Excel mit VBA filtern und kopieren
von: Markus
Geschrieben am: 19.11.2003 18:16:43

Hi,

es ist hier immer besser, einzelne Fragen zu stellen., den so weiss ich nicht, wo es hakt.
INPUTBOX dürfte klar sein (sonst: S. hilfe mit F2 in der VBA-Umgebung):
Jahr = InputBox("Jahr .... usw.)

Zu der Datensuche: Ich würde auf die Filter ganz verzichten und einfach auf die ungefilterten Daten gehen um es einfacher zu haben, da kann man dann nach den Bdg. des Filters und dem JAHR, MONAT etc. suchen


Handling von anderen Workbooks: Workbooks.Open .... s. Hilfe, dann kann man natürlich
zwischen verschiedenen Instanzen von Excel hin und her kopieren Workbooks("name1").Worksheets("Tabelle1").Cells(... etc.
Man kann auch wieder schliessen. Dabei ist es m.E. vorteilhaft, wenn man immer den Code in einem Workbook, dem mit den Ausgangsdaten hat.

Wo genau hakt es denn nun,

Markus


Bild


Betrifft: AW: Werte aus Excel mit VBA filtern und kopieren
von: Helmut
Geschrieben am: 20.11.2003 08:35:15

Hi Markus,

danke mal für deine Antwort.
Der erste Haken bei mir ist, dass ich möchte, dass wenn in die Inputbox nichts eingegeben ist und OK oder Abbrechen gedrückt wird eine Meldung erscheint; und zwar folgender Script von mir:

Dim Auswahl As Variant
Selektion:
If VarType(Auswahl) = vbBoolean Then
If MsgBox("Sie haben noch kein Jahr ausgewählt! Möchten sie das Makro beenden?", vbYesNo, "ACHTUNG!") = vbNo Then
GoTo Selektion
Else
Exit Sub
End If
End If

Die automatische Filterung funktioniert, aber die darauffolgende Summenbildung nicht, die aber mit folgendem Scriptteil in einem anderen Makro sehr wohl funktioniert:

Spaltenende1 = Sheets("Auswertung").Range("I2").End(xlDown).Address
Sheets("Auswertung").Range(Spaltenende1).Offset(1, 0).Value = "=SUM($I$2:" & Spaltenende1 & ")"

Weißt du da vielleicht weiter?
Wie hast du das genau mit dem Verzicht auf die Filterung gemeint?
Wie kann ich nach den Bdg. des Filters mit einem Skript genau suchen? Wie wäre da die genaue Syntax?

Ciao Markus und danke für deine Hilfe im Voraus

Servus, Helmut


Bild

Beiträge aus den Excel-Beispielen zum Thema " Werte aus Excel mit VBA filtern und kopieren"