habe es heute schon versucht, allerdings komme ich nicht weiter!
Mein Makro bis jetzt:
Dim Arbeitsblatt As Worksheet
Dim wkb As Workbook
Dim gefunden As Boolean
For Each Arbeitsblatt In wks
If Arbeitsblatt.Name = "Personalstammdaten" Then gefunden = True: GoTo ende1
Next Arbeitsblatt
If Not gefunden Then
GoTo ende2
End If
ende1: Daten werden kopiert
ende2: MsgBox " Falsche Datei geöffnet"
Mein Problem ist, ich starte mit einem Button mein Programm. Dort soll er in den beiden Workbooks überprüfen, ob in den beiden Arbeitsmappen eine Mappe namens "Personalstammdaten" existiert! Falls nicht, geht es zu ende2, wenn ja, dann zu ende 1
Kann mir jemand helfen!?
Danke
Chris
Das ist mein ganzes Makro, falls es jemand weiter hilft:
Private Sub cmdOK1_Click()
Dim Arbeitsblatt As Worksheet
Dim Workbook As Workbook
Dim gefunden As Boolean
Dim Aktuell_Datei As String
Dim Datei As String
Dim Dateiname As String
Dim pos As Integer
Aktuell_Datei = ActiveWorkbook.Name
If optPersonal Then
Unload Me
Datei = Application.GetOpenFilename(" (*.xls), *.xls")
If Datei = "Falsch" Then
GoTo ende
Else
Workbooks.Open FileName:=Datei
End If
pos = 0
Do While InStr(pos + 1, Datei, "\", vbTextCompare) > pos
pos = InStr(pos + 1, Datei, "\", vbTextCompare)
Loop
Dateiname = Mid(Datei, pos + 1)
For Each Arbeitsblatt In Workbook
If Arbeitsblatt.Name = "Personalstammdaten" Then gefunden = True: GoTo ende1
Next Arbeitsblatt
If Not gefunden Then
GoTo ende2
End If
ende1:
If (Workbooks(Dateiname).Worksheets("Personalstammdaten").Range("A200") = 123) And _
(Workbooks(Aktuell_Datei).Sheets("Personalstammdaten").Range("A200") = 123) Then
Workbooks(Aktuell_Datei).Sheets("Personalstammdaten").Range("A7:B11") _
= Workbooks(Dateiname).Worksheets("Personalstammdaten").Range("A7:B11").Value
Windows(Dateiname).Activate
ActiveWorkbook.Close
MsgBox "Die Daten wurden eingelesen!"
Else
Unload Me
ende2:
MsgBox "Es wurde das falsche Blatt zum einlesen geöffnet!"
End If
End If
ende:
Workbooks(Aktuell_Datei).Worksheets("Datenblatt").Activate
End Sub