Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1104to1108
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
Inputbox zur Dateisuche
Christopher
Hallo Leute,
ich habe ein Makro mit dem ich Daten aus einer Tabelle aus Jul09.xls in eine andere Tabelle in Berlin.xls kopieren kann.
Sub Artikelnummer_kopieren_Kraft()
Windows("Jul09.xls").Activate
Sheets("KRAFTREG ").Select
Range("B10:B79").Select
Selection.Copy
Windows("Berlin.xls").Activate
Sheets("Kraft").Select
Range("$B10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
Nun wäre es super wenn man eine InputBox einbauen könnte, die es ermöglicht die markierte Zeile variabler zu gestalten. Im August kommt eben eine neue Datei Aug09.xls. Also sollte die Inputbox fragen aus welcher Datei sollen Daten kopiert werden (?) und dann gibt man eben den Monat/die gewollte Datei an.
Vielen Dank an alle die sich die Zeit nehmen!
Gruß
Christopher

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
oder ist das nicht möglich?
23.09.2009 09:53:41
Christopher
Wäre auch schon für diesen Hinweis dankbar!
AW: oder ist das nicht möglich?
23.09.2009 10:25:51
Bowl
Guten Mogen,
ungetestet, müsste aber eigentlich funktionieren:
Erstell eine Textbox:
und dann den Inhalt einer Variablen zuweisen:
tmp = textbox1.text
dann noch die Endung
tmp2 = tmp1 + "09.xls"
Windows(tmp).activate
Des ganze einfach an den Anfang deiner Sub
und dann muss in die Textbox nur noch der Monat eingetragen werden
Grüße
AW: oder ist das nicht möglich?
23.09.2009 10:48:25
Christopher
Vielen Dank schon mal! Leider bin ich noch absoluter Anfänger.. Und bei Textbox war ich leider noch nicht während meiner Recherchen.
Sub aktuelle_Kosten_kopieren_Kraft()
tmp1 = textbox1.Text
tmp2 = tmp1 + "09.xls"
Windows("tmp1").Activate
Sheets("KRAFTREG ").Select
Range("F10:F75").Select
Selection.Copy
Windows("Berlin.xls").Activate
Sheets("Kraft").Select
Range("$D10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
Könntest du mir auch noch sagen was ich über deine Anweisungen setzen muss?
Vielen vielen Dank!
Christopher
Anzeige
AW: oder ist das nicht möglich?
23.09.2009 10:56:53
Christopher
Sorry falsch reinkopiert! Das habe ich jetzt im Programm!
Sub aktuelle_Kosten_kopieren_Kraft()
tmp1 = "Datei wählen"
tmp2 = tmp1 + "09.xls"
Windows("tmp2").Activate
Sheets("KRAFTREG ").Select
Range("F10:F75").Select
Selection.Copy
Windows("Berlin.xls").Activate
Sheets("Kraft").Select
Range("$D10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
Dort zeigt er mir den Fehler ein. (Laufzeitfehler '9' Index außerhalb des gültigen Bereichs) Allerdings öffnet sich vorher auch kein Feld in das ich etwas schreiben könnte...
Anzeige
AW: oder ist das nicht möglich?
23.09.2009 11:24:55
Bowl
Hallo,
zunächst einmal muss die Zeile
Windows(tmp2).Activate

lauten, also ohne "
Dann noch ne Frage:
Du sagst es soll sich ein Feld öffnen - für die Eingabe der Inputbox/Textbox?
Oder soll diese schon die ganze zeit auf einem bestimmten Tabellenblatt vorhanden sein?
Grüße
AW: oder ist das nicht möglich?
23.09.2009 11:32:25
Christopher
Im Endeffekt wäre es egal ob sich eine Inputbox öffnet oder ob man den Dateinamen in ein vorhandenes Feld schreibt. Wichtig ist nur das die Mappe in die kopiert wird immer gleich ist (siehe Ausgangspost Berlin.xls) während die zu beziehenden Spalten in unterschiedlichen Dateien zu finden sind. (jul09.xls, Apr09.xls usw.)
Wenn ich mein Makro aktiviere möchte ich bestimmen aus welcher Datei er die Spalten beziehen soll.
Vielen Dank Bowl!!
Gruß
Christopher
Anzeige
AW: oder ist das nicht möglich?
23.09.2009 11:36:53
Bowl
Ob dein restliches Makro funktioniert weiß ich jetzt nicht, arbeite ja nur bis zu dem
Windows(blablabla).activate
Mein Lösungsvorschlag:
tmp = InputBox("Bitte geben Sie den Monat ein aus dem Werte kopiert werden sollen:", "XYZ")
tmp2 = tmp1 + ".xls"
Windows(tmp2).Activate
Grüße
Bowl
Funktioniert!!
23.09.2009 11:48:53
Christopher
Vielen vielen Dank Bowl!
War ja auch eigentlich gar nicht so schwer. ;-) Man muss halt als Anfänger erst eine neue "Fremdsprache" lernen. Macht aber auch Spaß sich mit dem ganzen auseinander zusetzen.
Nochmal vielen Dank und Spaß beim lösen anderer Probleme!
Gruß
Christopher
Anzeige

62 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige