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

Dateneingabe u. Arbeitsblatt kopieren

Dateneingabe u. Arbeitsblatt kopieren
10.06.2008 17:25:00
Maiks
Hallo Zusammen,
ich werde erst mal mein Problem so ausdrücken:
Dateneingabe mit Übernahme in einer anderen Arbeitsmappe und Tabellensblatt in bestimmten Ordner kopieren.
mit hilfe von Josef Ehrensberger (noch mal dankeschön Sepp) habe ich geschaft über Button-klick:
Daten von bestimmten Zelle eine Excel-Datei in andere Excel-Datei (genannt: Preisliste.xls und mit Pfad: "C:\Artikelliste\Preisliste.xls") zu übertragen. und das funktioniert einwandfrei!!
damit ist das erste Teil meine Problemstellung schon gelöst- nämlich: Dateneingabe mit Übernahme in einer anderen Arbeitsmappe
hier lade ich erstmal dies Makro hoch: https://www.herber.de/bbs/user/52992.xls
meine Problem bleibt jetzt das zweite Teil: und Tabellensblatt in bestimmten Ordner kopieren.
ich möchte nun dies Makro ergänzen: es soll nicht nur dieser Befehl ausführen, auch dabei
das ganze Tabellensblatt ("Kalkulation") und Tabellensblatt ("Machbarkeit") auf C:\ in bestimmte Ordner kopieren mit folgende Bedingungen.
- wenn Zelle D13 von Tabellensblatt ("Kalkulation") ="Vor"; denn Kopieren Tabellensblatt ("Kalkulation") und Tabellensblatt ("Machbarkeit") in Pfad: C:\Artikelliste\Vorkalkulation\Kunde1\Blech.xls
PS: der Ordner Kunde1= text in Zelle B5
die Name der Arbeitsmappe Blech= Text in Zelle B9
diese beide Angabe sollen variable bleiben, weil der Kunde u. Teil Bezeichung sich ändern
- aber wenn Zelle D13 von Tabellensblatt ("Kalkulation") ="Nach"; denn Kopieren Tabellensblatt ("Kalkulation") und Tabellensblatt ("Machbarkeit") in Pfad: C:\Artikelliste\Nachkalkulation\Kunde1\Blech.xls PS: der Ordner Kunde1= text in Zelle B5
die Name der Arbeitsmappe Blech= Text in Zelle B9
diese beide Angabe sollen variable bleiben, weil der Kunde u. Teil Bezeichung ändern
- sollte der Ordner Kunde1 noch nicht vorhanden sein, denn soll ein Fehlermeldung fordern den Ordner zuerst zu erstellen.
Achtung: der Button-Klick in dem Tabellensblatt ("Kalkulation") darf nicht mitkopieren werden
ich habe schon alle probiert, leider kriege ich das nicht hin... für euer hilfe bin ich sehr dankbar.
im voraus danke
Maiks

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateneingabe u. Arbeitsblatt kopieren
11.06.2008 00:19:18
fcs
Hallo Maiks,
hier eine Prozedur zum Kopieren der Blätter. Diese muss du halt am Ende der vorhandenen Prozedur aufrufen.
Gruß
Franz

Sub BlaetterSpeichern()
Dim wksKalk As Worksheet
Dim wbKopie As Workbook
Dim strDateiname As String
Dim strKunde As String
Dim strKalkulation As String
Dim strNameMappe As String
On Error GoTo Fehler
Set wksKalk = Worksheets("Kalkulation")
Const strPfadVorKalk As String = "C:\Artikelliste\Vorkalkulation"
Const strPfadNachKalk As String = "C:\Artikelliste\Nachkalkulation"
strKunde = wksKalk.Range("B5")
strNameMappe = wksKalk.Range("B9") & ".xls"
strKalkulation = wksKalk.Range("D13")
'Prüfen in welchen Ordner kopiert werden soll, ggf. Ordner erstellen
If strKalkulation = "Vor" Then
If Dir(strPfadVorKalk & "\" & strKunde, vbDirectory) = "" Then
VBA.MkDir strPfadVorKalk & "\" & strKunde
End If
strDateiname = strPfadVorKalk & "\" & strKunde & "\" & strNameMappe
ElseIf strKalkulation = "Nach" Then
If Dir(strPfadNachKalk & "\" & strKunde, vbDirectory) = "" Then
VBA.MkDir strPfadNachKalk & "\" & strKunde
End If
strDateiname = strPfadNachKalk & "\" & strKunde & "\" & strNameMappe
Else
MsgBox "Falsche Auswahl in Zelle B13!"
GoTo Beenden
End If
'Blätter kopieren
ThisWorkbook.Sheets(Array("Kalkulation", "Machbarkeit")).Copy
Set wbKopie = ActiveWorkbook
'Schaltfläche löschen
wbKopie.Worksheets("Kalkulation").Shapes("Schaltfläche 1").Delete
'Datei speichern
wbKopie.SaveAs FileName:=strDateiname, addtomru:=True
wbKopie.Close
Beenden:
Fehler:
If Err.Number  0 Then
MsgBox "Fehler: " & Err.Number & vbLf & Err.Description & vbLf _
& "in Prozedur BlaetterSpeichern"
End If
Set wksKalk = Nothing
Set wbKopie = Nothing
End Sub


Anzeige
AW: Dateneingabe u. Arbeitsblatt kopieren
11.06.2008 10:24:21
Maiks
Hallo fcs,
vielen dank für deine Antwort und deine Mühe.
die einzeln Prozedur funtioniert einwandfrei
aber, da ich der Makro über eine Button-klick ausführen lassen.
möchte ich, dass bei klick.
zuerst die Prozedur
BlaetterSpeichern
und danach
Daten_eintragen
habe ich an etwas so gedacht: und der Makro speichern an Button zuweisen.

Sub speichern()
BlaetterSpeichern
Daten_eintragen
End Sub


leider funktioniert diese kleiner Makro "speichern" nicht, hab Fehlermeldung
kann mir jemand sagen , was in der Prozedur speichern falsch ist?
vielen dank im voraus
Maik

Anzeige
AW: Dateneingabe u. Arbeitsblatt kopieren
11.06.2008 11:43:00
fcs
Hallo Maiks,
deine Prozedur DatenEintragen schaltet auch den Blattschutz ein. In deiner Hochgeladenen Datei war der Schutz nicht aktiv. So läuft die Kombination der Makros einmal durch und beim 2. Durchlauf funktioniert das Löschen der Schaltfläche nicht mehr, da das Blatt Kalkulation geschützt ist.
Deswegen muss in der Kopie vor dem Löschen der Schaltfläche der Blattschutz vorübergehend der Blattschutz deaktiviert werden. Passe folgende Zeilen in der Prozedur BlaetterSpeichern an:

'Schaltfläche löschen
With wbKopie.Worksheets("Kalkulation")
.Unprotect
.Shapes("Schaltfläche 1").Delete
.Protect
End With
'Datei speichern

Gruß
Franz

Anzeige
herzlich dank!
11.06.2008 12:13:00
Maiks
Hallo Franz,
vielen vielen dank!!
klappt jetzt.
Gruß
Maiks

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige