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

ändern der Quelldatei bei Error

ändern der Quelldatei bei Error
30.12.2022 04:26:43
Matze
Guten Tag VBA Profis,
ich habe eine Datei welche aus unserem Dienstplan die einzelnen Zeilen für jeden perönlich auflistet und nun ist das Problem, dass unser Dienstplaner die Monate aufgrund von Datei größe entfernt hat.
Allerdings gibt es ein Backup in einem anderen Ordner.
Ist es möglich den Ablagort der Quelldatei bei Fehler 9 also wenn er zum Beispiel das Tabellenblatt "Januar 22" nicht findet so zu ändern das er in den Ordner \Bakup\2022 geht und dort den Dienstplan 2022.xlsm öffnet?
Leider ändert sich bei mir dann auch gleich der Dateiname, hier kommt dann auch noch das Jahr dazu.

Sub Okay()
Stamm = Application.ActiveWorkbook.Name
Quelldatei = "Dienstplan.xlsm" 'Dateiname anpassen
Sheets("Dienstantritte").Unprotect "test"
Sheets("Dienstantritte").Cells.Range("A11:BA5000").Clear
strSuchwort = UserForm1.ComboBox1.Value
Workbooks.Open Filename:="I:\218407\31-5620-E-WacheDPLEssMeld\01 Dienstplan\011 Jahresdienstplan\" & Quelldatei 'Ablageort der Quelldatei anpassen
Assets = Array("Januar " & Workbooks(Stamm).Sheets("Dienstantritte").Cells(7, 33), _
"Februar " & Workbooks(Stamm).Worksheets("Dienstantritte").Cells(7, 33), _
"März " & Workbooks(Stamm).Worksheets("Dienstantritte").Cells(7, 33), _
"April " & Workbooks(Stamm).Worksheets("Dienstantritte").Cells(7, 33), _
"Mai " & Workbooks(Stamm).Worksheets("Dienstantritte").Cells(7, 33), _
"Juni " & Workbooks(Stamm).Worksheets("Dienstantritte").Cells(7, 33), _
"Juli " & Workbooks(Stamm).Worksheets("Dienstantritte").Cells(7, 33), _
"August " & Workbooks(Stamm).Worksheets("Dienstantritte").Cells(7, 33), _
"September " & Workbooks(Stamm).Worksheets("Dienstantritte").Cells(7, 33), _
"Oktober " & Workbooks(Stamm).Worksheets("Dienstantritte").Cells(7, 33), _
"November " & Workbooks(Stamm).Worksheets("Dienstantritte").Cells(7, 33), _
"Dezember " & Workbooks(Stamm).Worksheets("Dienstantritte").Cells(7, 33))
'On Error GoTo ErrorHandler
For Each Asset In Assets
Workbooks(Quelldatei).Sheets(Asset).Range("A10:AJ11").Copy ' Blatt/Bereich anpassen
Workbooks(Stamm).Sheets("Dienstantritte").Range("A" & Cells(Rows.Count, 1).End(xlUp).Row + 1).PasteSpecial xlPasteAll ' Blatt/Bereich anpassen
For Each rngZelle In Workbooks(Quelldatei).Sheets(Asset).Range("C:C")
If rngZelle = strSuchwort Then
rngZelle.EntireRow.Copy
Workbooks(Stamm).Sheets("Dienstantritte").Range("A" & Cells(Rows.Count, 1).End(xlUp).Row + 1).PasteSpecial xlPasteAll
End If
Next
Next
Application.CutCopyMode = False
Workbooks(Quelldatei).Close
Set MyRange = Range("A11:AJ46")
For Each Cell In MyRange
If Cell.Interior.Pattern = xlPatternLightHorizontal Then
Cell.ClearContents
End If
If Cell.Interior.Pattern = xlPatternSemiGray75 Then
Cell.ClearContents
End If
Next Cell
Cells.Select
Range("A1").Activate
Selection.Locked = True
Range("A11:AJ46").Select
Selection.Locked = False
Range("AF8").Select
Selection.Locked = False
Worksheets("Dienstantritte").Protect "test"
Unload UserForm1
'ErrorHandler:
End Sub
vieln dank für eure hilfe

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ändern der Quelldatei bei Error
30.12.2022 07:32:18
MCO
Guten Morgen!
Leider konnte ich es nicht testen, aber für eine Anregung sollte es reichen :
Schau mal, wie du mit dem bereinigten, vereinfachten Code klarkommst.

Sub Okay()
Dim Stamm As Workbook
Dim Quell_wb As Workbook
Dim strSuchwort As String
Dim Assets As Variant
Dim MyRange As Range, such_rng As Range
Set Stamm_wb = Application.ActiveWorkbook
Set st_Dienst_sh = Stamm_wb.Sheets("Dienstantritte")
Verzeichnis = "I:\218407\31-5620-E-WacheDPLEssMeld\01 Dienstplan\011 Jahresdienstplan\" 'Ablageort der Quelldatei anpassen
Quelldatei = "Dienstplan.xlsm" 'Dateiname anpassen
Set Quell_wb = Workbooks.Open(Verzeichnis & Quelldatei, , 1)
Erweiterung = st_Dienst_sh.Cells(7, 33)
Assets = Array("Januar " & Erweiterung, _
"Februar " & Erweiterung, _
"März " & Erweiterung, _
"April " & Erweiterung, _
"Mai " & Erweiterung, _
"Juni " & Erweiterung, _
"Juli " & Erweiterung, _
"August " & Erweiterung, _
"September " & Erweiterung, _
"Oktober " & Erweiterung, _
"November " & Erweiterung, _
"Dezember " & Erweiterung)
'Alternativ kannst du das auch so generieren
'        For monat = 1 To 12
'            arr_txt = Format("01." & monat & ".22", "MMMM") & Erweiterung & IIf(monat 
Gruß, MCO
Anzeige
AW: ändern der Quelldatei bei Error
02.01.2023 09:38:16
Matze
Vielen Dank,
ich habe aber Einige Probleme damit jetzt.
1. ein Paar sachen sind nicht genau Definiert also z.B. kann er mit Verzeiechnis nichts anfangen. da Sie nicht Dimensioniert sind. Ihc hoffe ich habe Sie richtig Dimensioniert ich habe da echt wenig ahnung von.
2. in der Zeile Set such_rng schreibst du am ende ein SpecialCells(xltypeconstants) , hier sagt er, dass die Variable nicht Definiert ist. Ich habe es als Range Dimensioniert aber ich weis nicht ob das so richtig ist.
so sieht es zur Zeit aus.

Sub Okay()
Dim Stamm_wb As Workbook
Dim Quell_wb As Workbook
Dim st_Dienst_sh As Worksheets
Dim strSuchwort As String
Dim Assets As Variant
Dim MyRange As Range, such_rng As Range
Dim Verzeichnis As String
Dim Erweiterung As String
Dim xltypeconstants As Range
Set Stamm_wb = Application.ActiveWorkbook
Set st_Dienst_sh = Stamm_wb.Sheets("Dienstantritte")
Verzeichnis = "I:\218407\31-5620-E-WacheDPLEssMeld\01 Dienstplan\011 Jahresdienstplan\" 'Ablageort der Quelldatei anpassen
Quelldatei = "Dienstplan.xlsm" 'Dateiname anpassen
Set Quell_wb = Workbooks.Open(Verzeichnis & Quelldatei, , 1)
Erweiterung = st_Dienst_sh.Cells(7, 33)
Assets = Array("Januar " & Erweiterung, _
"Februar " & Erweiterung, _
"März " & Erweiterung, _
"April " & Erweiterung, _
"Mai " & Erweiterung, _
"Juni " & Erweiterung, _
"Juli " & Erweiterung, _
"August " & Erweiterung, _
"September " & Erweiterung, _
"Oktober " & Erweiterung, _
"November " & Erweiterung, _
"Dezember " & Erweiterung)
'Alternativ kannst du das auch so generieren
'        For monat = 1 To 12
'            arr_txt = Format("01." & monat & ".22", "MMMM") & Erweiterung & IIf(monat 
Aber funktionieren tut es nicht
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige