Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1304to1308
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
Inhaltsverzeichnis

Workbooks Namen

Workbooks Namen
04.04.2013 08:10:01
Heinz
Guten morgen im Forum
Ich bekomme in der Firma einmal pro Woche eine Datei mit unterschiedlichen Namen.
Zb."Womat14-2013 (3).xlsx" Am Anfang steht immer "Womat".In diesen "Womat" gibt es immer einen Sheets mit dem Namen "Wochenblatt"
Bis jetzt bennene Ich die Datei zum speichern in "Wochenplan.xlsx" ab,um weiter zu arbeiten können.
Ich habe einen Code der mir Daten von Womat14-2013 (3).xlsx Sheets "Wochenblatt" in eine andere Datei kopiert.
Workbooks("Wochenplan.xlsx").Sheets("Wochenblatt")
Gäbe es einen Weg das nur "Womat" hergenommen wird zu einlesen.
Egal welche Werte noch hinter Womat stehen?
Zb. Workbooks("Womat ?.xlsx").Sheets("Wochenblatt")
Gruß Heinz

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

Betreff
Datum
Anwender
Anzeige
AW: Workbooks Namen
04.04.2013 08:35:30
EtoPHG
Hallo Heinz,
Die Fragen sind:
1. Befindet sich die 'neue' Womat-Datei immer auf dem gleichen Verzeichnis wie deine Arbeitmappe Wochenplan? Wenn nicht, kann vom Arbeitsmappen-Verzeichnis auf das Quellverzeichnis geschlossen werden?
2. Befinden sich mehrere Womat-Dateien auf dem Verzeichnis? Könnte nach dem Kopieren die Womat-Datei gelöscht werden, so dass sich immer keine oder nur eine Quelldatei auf dem Verzeichnis befindet?
Gruess Hansueli

AW: Workbooks Namen
04.04.2013 08:36:43
Tino
Hallo,
wenn ich dich richtig verstehe, ist die Datei bereits geöffnet.
Veruch es mal so.
Dim oWB As Workbook
For Each oWB In Workbooks
If oWB.Name Like "Womat*.xlsx" Then
Exit For
End If
Next
If oWB.Name Like "Womat*.xlsx" Then
'oWB.Sheets("Wochenblatt")
End If
Gruß Tino

Anzeige
AW: Workbooks Namen
04.04.2013 11:53:52
Heinz
Hallo Tino & Hansueli
Erstmals Danke für Euer Feedback.
Ich habe einen langen Code (Siehe Auszug unten)
Wäre es nicht am einfachsten wenn ich die Workbooks("Wochenplan.xlsx")in Womat*.* oder so ähnlich umbennenen könnte.
Es geht darum,ich öffne die Workbooks("Wochenplan.xlsx") kopiere davon von Sheets "Wochenblatt" Daten in ein anderes Workbook.
Das Workbook Womat besteht immer nur aus einen Sheets "Wochenblatt"
Gruß Heinz
Option Explicit
Sub KopierenVonDaten()
Application.ScreenUpdating = False
Workbooks("Paletten Defekt mit Prozent.xlsm").Sheets("Wochenblatt").Unprotect
On Error GoTo errorhandler
Workbooks("Wochenplan.xlsx").Sheets("Wochenblatt").Range("B4:AX38").MergeCells = False ' _
Zellverbindung aufheben
With Workbooks("Wochenplan.xlsx").Sheets("Wochenblatt")
If Workbooks("Wochenplan.xlsx").Sheets("Wochenblatt").Range("D6").Value = "" Then
Workbooks("Wochenplan.xlsx").Sheets("Wochenblatt").Range("C6").Replace " ", ""
Workbooks("Wochenplan.xlsx").Sheets("Wochenblatt").Range("D6").Value = .Range("C6").Value
Workbooks("Wochenplan.xlsx").Sheets("Wochenblatt").Range("D6").Value = VBA.Left(Workbooks(" _
Wochenplan.xlsx").Sheets("Wochenblatt").Range("D6").Value, 3)
End If
End With
With Workbooks("Wochenplan.xlsx").Sheets("Wochenblatt")
If Workbooks("Wochenplan.xlsx").Sheets("Wochenblatt").Range("D11").Value = "" Then
Workbooks("Wochenplan.xlsx").Sheets("Wochenblatt").Range("C11").Replace " ", ""
Workbooks("Wochenplan.xlsx").Sheets("Wochenblatt").Range("D11").Value = .Range("C11"). _
Value
Workbooks("Wochenplan.xlsx").Sheets("Wochenblatt").Range("D11").Value = VBA.Left(Workbooks( _
"Wochenplan.xlsx").Sheets("Wochenblatt").Range("D11").Value, 3)
End If
End With

Anzeige
AW: Workbooks Namen
04.04.2013 12:03:45
Tino
Hallo,
in der Variablen oWB ist doch die Datei enthalten,
diese kannst Du anstelle von Workbooks("Wochenplan.xlsx") verwenden.
nicht getestet.
Option Explicit
Sub KopierenVonDaten()
Dim oWB As Workbook
For Each oWB In Workbooks
If oWB.Name Like "Womat*.xlsx" Then
Exit For
End If
Next
If oWB Is Nothing Then Exit Sub
Application.ScreenUpdating = False
Workbooks("Paletten Defekt mit Prozent.xlsm").Sheets("Wochenblatt").Unprotect
On Error GoTo errorhandler
.Range("B4:AX38").MergeCells = False ' _
Zellverbindung aufheben
With oWB.Sheets("Wochenblatt")
If .Range("D6").Value = "" Then
.Range("C6").Replace " ", ""
.Range("D6").Value = .Range("C6").Value
.Range("D6").Value = VBA.Left(.Range("D6").Value, 3)
End If
End With
With oWB.Sheets("Wochenblatt")
If .Range("D11").Value = "" Then
.Range("C11").Replace " ", ""
.Range("D11").Value = .Range("C11").Value
.Range("D11").Value = VBA.Left(.Range("D11").Value, 3)
End If
End With

Anzeige
AW: nicht umgesetzt was geschrieben habe
04.04.2013 12:54:58
Heinz
Hallo Tino
Du bist einfach S P I T Z E !!!
Recht herzlichen Dank.
Gruß Heinz

Anzeige
Keine Fehlermeldung
04.04.2013 19:30:22
Heinz
Hallo Tino
Nochmals Danke läuft prima.
NUR wenn jetzt die Datei Womat NICHT geöffnet ist,kommt keine MsgBox mehr.
Habe schon einiges getestet leider ohne Erfolg.
Könntest du mir bitte nochmals weiterhelfen?
Gruß Heinz
  Workbooks("Paletten Defekt mit Prozent.xlsm").Sheets("Wochenblatt").Protect
oWB.Close (False)
End With
Exit Sub
errorhandler:
MsgBox "Fehler !!  Bitte zuerst die Datei Womat öffnen"
'Exit Sub
Workbooks("Paletten Defekt mit Prozent.xlsm").Sheets("Wochenblatt").Protect
Sheets("Wochenblatt").Protect
Application.ScreenUpdating = True
End Sub

Anzeige
AW: Keine Fehlermeldung
04.04.2013 23:18:29
Tino
Hallo,
einfach bei der Zeile
If oWB Is Nothing Then Exit Sub
Deine Meldung einbauen.
If oWB Is Nothing Then
MsgBox "Fehler !!  Bitte zuerst die Datei Womat öffnen"
exit sub
end if
Gruß Tino

AW: Keine Fehlermeldung
05.04.2013 08:07:33
Heinz
Guten morgen Tino
Jetzt bekomme ich leider den Fehler am Anfang des Codes.
Bei "On Error GoTo errorhandler" (Fehlermeldung "Sprungmarke nicht definiert")
Gruß Heinz
Option Explicit
Sub KopierenVonDaten()
Dim oWB As Workbook
For Each oWB In Workbooks
If oWB.Name Like "Womat*.xlsx" Then
Exit For
End If
Next
If oWB Is Nothing Then Exit Sub
Application.ScreenUpdating = False
Workbooks("Paletten Defekt mit Prozent.xlsm").Sheets("Wochenblatt").Unprotect
On Error GoTo errorhandler
oWB.Sheets("Wochenblatt").Range("B4:AX38").MergeCells = False 'Zellverbindung aufheben

Anzeige
AW: Keine Fehlermeldung
05.04.2013 08:46:53
Tino
Hallo,
dann hast Du diese gelöscht.
errorhandler:
Gruß Tino

AW: Keine Fehlermeldung
05.04.2013 08:58:01
Heinz
Hallo Tino
Ja,das war es.
Recht herzlichen Dank.
Gruß Heinz

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige