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

Kopie in bestimmtes Blatt einerbestimmten Mappe

Kopie in bestimmtes Blatt einerbestimmten Mappe
21.11.2005 09:55:22
Werner
Hallo, Excel-Freunde,
dies ist der letzte Versuch, bevor ich endgültig aufgebe. Ich habe dieses Problem schon ein paar Mal gepostet und auch viele Antworten bekommen, aber nichts hat bisher funktioniert.
Also noch einmal:
In der Arbeitsmappe "PMZ" gibt es ein Tabellenblatt mit dem Namen "Datenbank".
Dann gibt es Arbeitsmappen mit den Namen "November05", Dezember05" u.s.w.
In diesen Monatsarbeitsmappen gibt es für jeden Kalendertag ein Tabellenblatt, die wie folgt benannt sind: Für den 19. November heißt das Blatt z.B. "Nov19"
Jetzt möchte ich über ein Makro folgendes erreichen:
Es soll zunächst das Datum über eine INPUT-Box abgefragt werden.
Dann sollen die Daten aus dem Bereich A1:B100 des Blattes "Datenbank" der Arbeitsmappe "PMZ" in die dem eingegebenen Datum entsprechende Arbeitsmappe in das entsprechende Tabellenblatt eingefügt werden.
Beispiel:
Eingegebenes Datum: 19.11.2005
Die Daten sollen dann in Die Arbeitsmappe "November2005", und dort in das Tabellenblatt "Nov19" in den Bereich A2:B101 eingefügt werden.
Anschließend sollte der Bereich A1:B100 des Blattes "Datenbank" in der Mappe "PMZ" geleert werden.
Wenn die Namen der Tabellenblätter oder Arbeitsmappen das Problem sind - die kann ich natürlich ändern.
Es wäre toll, wenn mir jemand helfen könnte.
Gruß aus Schleswig-Holstein
Werner

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kopie in bestimmtes Blatt einerbestimmten Mappe
21.11.2005 10:38:37
Worti
Hallo Werner,
hier mal ein ganz schnell gestrickter Code. Er beinhaltet zB. keine Prüfung, ob das eingegebene Datum auch ein Datum ist usw.
Weiter gehe ich davon aus, dass alle Mappen im aktuellen Verzeichnis stehen.
Und komplett getestet habe ich auch nicht *schäm*

Sub n()
Dim dat
Dim Tag As Integer
Dim Monat As String
Dim Jahr As String
Dim WBName As String
Dim WSName As String
dat = InputBox("Bitte datum vorgeben")
If dat = "" Then
Exit Sub
End If
Tag = Day(dat)
Jahr = Format(Year(dat) Mod 1000, "00")
dat = Format(dat, "DD.MMM.YY")
Monat = Mid(dat, InStr(1, dat, ".") + 1, 3)
Select Case Monat
Case "Jan"
WBName = "Januar" & Jahr
Case "Feb"
WBName = "Februar" & Jahr
Case "Mrz"
WBName = "Maerz" & Jahr
Case "Apr"
WBName = "April" & Jahr
'usw...
End Select
WSName = Monat & Tag
Workbooks.Open (WBName)
Workbooks("PMZ").Worksheets("Datenbank").Range("A1:B100").Copy _
Destination:=Workbooks(WBName).Worksheets(WSName).Range("A2")
Workbooks("PMZ").Worksheets("Datenbank").Range("A1:B100").ClearContents
End Sub

Aber vielleicht bringt es dich ein Stückchen weiter
Gruß Worti
Anzeige
AW: Kopie in bestimmtes Blatt einerbestimmten Mapp
21.11.2005 11:49:42
Werner
Hallo Worti,
herzlichen Dank für deine Mühe, aber auch das klappt nicht, das Modul bleibt in der Zeile
Workbooks.Open (WBName)
hängen.
Laufzeitfehler 1004 - Datei "November2005.xls" wurde nicht gefunden.
Alle Mappen sind im gleichen Verzeichnis.
Verzweifelte Grüße aus dem hohen Norden
Werner
AW: Kopie in bestimmtes Blatt einerbestimmten Mapp
21.11.2005 12:03:30
Worti
Hallo Werner,
kleine Korrektur:
ersetze Workbooks.Open (WBName) durch Workbooks.Open (WBName & ".xls")
Worti
AW: Kopie in bestimmtes Blatt einerbestimmten Mapp
Werner
Hallo Worti,
ich bekomme langsam Hoffnung:
Jetzt wird immerhin schon die richtige Monatsarbeitsmappe geöffnet, aber dann bricht es wieder ab in
Workbooks("PMZ").Worksheets("Datenbank").Range("A1:B100").Copy _
Destination:=Workbooks(WBName).Worksheets(WSName).Range("A2")
(der gelbe Pfeil steht dabei vor der zweiten Zeile)
Bitte denke noch einmal nach!
Danke!
Werner
Anzeige
AW: Kopie in bestimmtes Blatt einerbestimmten Mapp
21.11.2005 13:57:40
Worti
Hallo,
was gibt es denn für einen Fehler? (Fehlernummer und Fehlertext)
Du kannst auch mal die Mappe hochladen, dann schau ich mal rein
Worti
AW: Kopie in bestimmtes Blatt einerbestimmten Mapp
21.11.2005 18:06:03
Werner
Hallo und vielen Dank, jetzt funktioniert alles wunderbar.
Herzlichen Dank für deine Hilfe.
Gruß
Werner
AW: Kopie in bestimmtes Blatt einerbestimmten Mappe
21.11.2005 11:05:34
WernerB.
Hallo Namensvetter,
wie gefällt Dir das?
Anmerkung 1: Das Makro gehört in ein normales Standard-Modul der Mappe "PMZ.xls".
Anmerkung 2: Die Zieldatei (z.B.: "November05.xls") muß geöffnet sein.

Sub WernerSH()
Dim arr As Variant, _
s As String, ZDat As String, ZBla As String
s = InputBox(vbCr & vbCr & vbCr & "Datum eingeben:", "Datum", Date)
If Not IsDate(s) Then s = ""
If s = "" Then
MsgBox "Keine oder falsche Eingabe !" & vbCr & vbCr & _
"Makro-Abbruch !", vbOKOnly + vbCritical, _
"Dezenter Hinweis für " & Application.UserName & ":"
Exit Sub
End If
arr = Array("Januar", "Februar", "März", "April", "Mai", "Juni", _
"Juli", "August", "September", "Oktober", "November", "Dezember")
ZDat = Month(s)
ZDat = Format(arr(ZDat - 1)) & Format(Year(s), "yy")
ZBla = Left(ZDat, 3) & Left(s, 2)
Workbooks(ZDat & ".xls").Worksheets(ZBla).Range("A2:B101").Value = _
ThisWorkbook.Worksheets("Datenbank").Range("A1:B100").Value
ThisWorkbook.Worksheets("Datenbank").Range("A1:B100").ClearContents
End Sub

Viel Erfolg wünscht
WernerB.
P.S.: Dieses Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter !
Anzeige
AW: Kopie in bestimmtes Blatt einerbestimmten Mapp
21.11.2005 11:39:26
Werner
Hallo Werner,
Danke für deine Mühe, aber auch so funktionuert es nicht.
Es gibt in der Zeile
Workbooks(ZDat & ".xls").Worksheets(ZBla).Range("A2:B101").Value = _
ThisWorkbook.Worksheets("Datenbank").Range("A1:B100").Value
einen Laufzeitfehler 9 (Index außerhalb des gültigen Bereichs)
Gruß
Werner
AW: Kopie in bestimmtes Blatt einerbestimmten Mapp
21.11.2005 12:09:39
WernerB.
Hallo Namensvetter,
der angezeigte Fehler ist für mich so nicht nachvollziehbar.
Das Makro wurde von mir nach entsprechendem Versuchsaufbau (mit heutigem Datum) problemlos getestet.
Wenn das Makro in der von dir angegebenen Zeile stehen bleibt, ist mindestens eine Grundvoraussetzung nicht erfüllt:
1. Die Zieldatei "November05.xls" muß bereits geöffnet sein.
2. Die Zieldatei muß das Blatt "Nov21" beinhalten.
3. Das Makro muss in einem normalen Standard-Modul der Mappe "PMZ.xls" stehen.
4. Die Mappe "PMZ.xls" muß das Blatt "Datenbank" beinhalten.
Mehr kann ich aus der Ferne leider auch nicht dazu sagen.
Gruß
WernerB.
Anzeige
AW: Kopie in bestimmtes Blatt einerbestimmten Mapp
Werner
JA, JA, JA - es klappt !!!!!
Hallo Werner,
es funktioniert, ich bin begeistert.
Wo der Fehler vorher war, weiß ich auch nicht, Hauptsache: ES KLAPPT!!
DANKE DANKE DANKE !!
Wenn du bei Gelegenheit nochmal ein paar Minuten Zeit hast wäre es toll, wenn du mal darüber nachdenken könntest, ob das Makro vorher prüfen kann, ob die entsprechende Monats-Arbeitsmappe schon geöffnet ist und wenn nicht, diese dann öffnet.
Aber erstmal bin ich echt dankbar.
Gruß
Werner
AW: Kopie in bestimmtes Blatt einerbestimmten Mapp
21.11.2005 13:36:47
WernerB.
Hallo Namensvetter,
bitte sehr (Laufwerksbuchstabe und Pfad mußt du selbstverständlich noch anpassen!):

Sub WernerSH()
Dim Wkb As Workbook, _
arr As Variant, _
s As String, ZDat As String, Dat As String, ZBla As String, _
Check As Boolean
s = InputBox(vbCr & vbCr & vbCr & "Datum eingeben:", "Datum", Date)
If Not IsDate(s) Then s = ""
If s = "" Then
MsgBox "Keine oder falsche Eingabe !" & vbCr & vbCr & _
"Makro-Abbruch !", vbOKOnly + vbCritical, _
"Dezenter Hinweis für " & Application.UserName & ":"
Exit Sub
End If
arr = Array("Januar", "Februar", "März", "April", "Mai", "Juni", _
"Juli", "August", "September", "Oktober", "November", "Dezember")
ZDat = Month(s)
ZDat = Format(arr(ZDat - 1)) & Format(Year(s), "yy")
For Each Wkb In Application.Workbooks
If Wkb.Name = ZDat & ".xls" Then
Check = True
Exit For
End If
Next Wkb
If Check = False Then
ChDrive "C"   'Laufwerkauswahl
Dat = "C:\Daten\TEMP\WERNER\" & ZDat & ".xls"
Workbooks.Open Dat
End If
ZBla = Left(ZDat, 3) & Left(s, 2)
Workbooks(ZDat & ".xls").Worksheets(ZBla).Range("A2:B101").Value = _
ThisWorkbook.Worksheets("Datenbank").Range("A1:B100").Value
ThisWorkbook.Worksheets("Datenbank").Range("A1:B100").ClearContents
End Sub

Gruß
WernerB.
Anzeige
AW: Kopie in bestimmtes Blatt einerbestimmten Mapp
21.11.2005 18:06:59
Werner
Hallo und vielen Dank, jetzt funktioniert alles wunderbar.
Herzlichen Dank für deine Hilfe.
Gruß
Werner

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige