Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
340to344
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
340to344
340to344
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Werte aus Excel mit VBA filtern und kopieren

Werte aus Excel mit VBA filtern und kopieren
19.11.2003 15:03:43
Helmut
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

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte aus Excel mit VBA filtern und kopieren
19.11.2003 18:16:43
Markus
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
Anzeige
AW: Werte aus Excel mit VBA filtern und kopieren
20.11.2003 08:35:15
Helmut
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
Anzeige

111 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige