application.screenupdating = false funktioniert nicht
Hauke
Hallo, in folgendem Makro funktioniert das Abschalten der Bildschirmaktualisierung leider nicht. Woran kann das liegen?
Sub Extraktionsliste_Klicken()
Dim PlateCodeEingabe_wiederholen As String
Dim PfadPlateCode1 As String
Dim PfadPlateCode2 As String
Dim PfadPlateCode3 As String
Dim PfadPlateCode4 As String
Dim wsDestination As Worksheet
Dim wbSource As Workbook
Dim wsSource As Worksheet
'Userform anzeigen
Eingabe_PlateCodes:
UserForm_Platecodes.Show
'PlateCodes in Variable schreiben und Präfix hinzufügen
PlateCode1 = "PLT" & PlateCode1
PlateCode2 = "PLT" & PlateCode2
PlateCode3 = "PLT" & PlateCode3
PlateCode4 = "PLT" & PlateCode4
'Dateipfade definieren
PfadPlateCode1 = [frmPfadExtraktionslistenImport] & "\" & PlateCode1 & ".txt"
PfadPlateCode2 = [frmPfadExtraktionslistenImport] & "\" & PlateCode2 & ".txt"
PfadPlateCode3 = [frmPfadExtraktionslistenImport] & "\" & PlateCode3 & ".txt"
PfadPlateCode4 = [frmPfadExtraktionslistenImport] & "\" & PlateCode4 & ".txt"
'Prüfen of Dateien vorhanden sind, wenn nicht dann PlateCode Eingabe wiederholen
PlateCodeEingabe_wiederholen = "Nein"
If Dir(PfadPlateCode1) = "" And PlateCode1 <> "PLT" Then
MsgBox "Die Input-Datei zu PlateCode 1 existiert nicht."
PlateCodeEingabe_wiederholen = "Ja"
End If
If Dir(PfadPlateCode2) = "" And PlateCode2 <> "PLT" Then
MsgBox "Die Input-Datei zu PlateCode 2 existiert nicht."
PlateCodeEingabe_wiederholen = "Ja"
End If
If Dir(PfadPlateCode3) = "" And PlateCode3 <> "PLT" Then
MsgBox "Die Input-Datei zu PlateCode 3 existiert nicht."
PlateCodeEingabe_wiederholen = "Ja"
End If
If Dir(PfadPlateCode4) = "" And PlateCode4 <> "PLT" Then
MsgBox "Die Input-Datei zu PlateCode 4 existiert nicht."
PlateCodeEingabe_wiederholen = "Ja"
End If
If PlateCodeEingabe_wiederholen = "Ja" Then
'[frmPlateCode1] = ""
'[frmPlateCode2] = ""
'[frmPlateCode3] = ""
'[frmPlateCode4] = ""
GoTo Eingabe_PlateCodes
End If
Application.ScreenUpdating = False 'schaltet die Bildschirmaktualisierung aus, sodass während des Imports nur das "Evaluation" Sheet gezeigt wird
'PlateCode in Tabellenblatt InputAlle eintragen
ThisWorkbook.Sheets("InputAlle").Unprotect "iso17025" ' Schreibschutz aufheben
If PlateCode1 <> "PLT" Then
[frmPlateCode1] = PlateCode1
Else
[frmPlateCode1] = ""
End If
If PlateCode2 <> "PLT" Then
[frmPlateCode2] = PlateCode2
Else
[frmPlateCode2] = ""
End If
If PlateCode3 <> "PLT" Then
[frmPlateCode3] = PlateCode3
Else
[frmPlateCode3] = ""
End If
If PlateCode4 <> "PLT" Then
[frmPlateCode4] = PlateCode4
Else
[frmPlateCode4] = ""
End If
ThisWorkbook.Sheets("InputAlle").Protect "iso17025" ' Schreibschutz wieder setzen
' Daten kopieren für PlateCode1
If PlateCode1 <> "PLT" Then
Set wbSource = Workbooks.Open(PfadPlateCode1)
Set wsSource = wbSource.Sheets(1) ' Annahme: Daten befinden sich im ersten Arbeitsblatt
Set wsDestination = ThisWorkbook.Sheets("Input1") ' Definiert Ziel-Tabellenblatt
wsDestination.Unprotect "iso17025" ' Schreibschutz aufheben
wsDestination.Cells.Clear
wsSource.UsedRange.Copy wsDestination.Cells(1, 1) ' Fügt die Daten ab Zelle A1 ein
wsDestination.Protect "iso17025" ' Schreibschutz wieder setzen
wbSource.Close False ' Schließt die Quelldatei ohne zu speichern
End If
' Daten kopieren für PlateCode2
If PlateCode2 <> "PLT" Then
Set wbSource = Workbooks.Open(PfadPlateCode2)
Set wsSource = wbSource.Sheets(1) ' Annahme: Daten befinden sich im ersten Arbeitsblatt
Set wsDestination = ThisWorkbook.Sheets("Input2") ' Definiert Ziel-Tabellenblatt
wsDestination.Unprotect "iso17025" ' Schreibschutz aufheben
wsDestination.Cells.Clear
wsSource.UsedRange.Copy wsDestination.Cells(1, 1) ' Fügt die Daten ab Zelle A1 ein
wsDestination.Protect "iso17025" ' Schreibschutz wieder setzen
wbSource.Close False ' Schließt die Quelldatei ohne zu speichern
End If
' Daten kopieren für PlateCode3
If PlateCode3 <> "PLT" Then
Set wbSource = Workbooks.Open(PfadPlateCode3)
Set wsSource = wbSource.Sheets(1) ' Annahme: Daten befinden sich im ersten Arbeitsblatt
Set wsDestination = ThisWorkbook.Sheets("Input3") ' Definiert Ziel-Tabellenblatt
wsDestination.Unprotect "iso17025" ' Schreibschutz aufheben
wsDestination.Cells.Clear
wsSource.UsedRange.Copy wsDestination.Cells(1, 1) ' Fügt die Daten ab Zelle A1 ein
wsDestination.Protect "iso17025" ' Schreibschutz wieder setzen
wbSource.Close False ' Schließt die Quelldatei ohne zu speichern
End If
' Daten kopieren für PlateCode4
If PlateCode4 <> "PLT" Then
Set wbSource = Workbooks.Open(PfadPlateCode4)
Set wsSource = wbSource.Sheets(1) ' Annahme: Daten befinden sich im ersten Arbeitsblatt
Set wsDestination = ThisWorkbook.Sheets("Input4") ' Definiert Ziel-Tabellenblatt
wsDestination.Unprotect "iso17025" ' Schreibschutz aufheben
wsDestination.Cells.Clear
wsSource.UsedRange.Copy wsDestination.Cells(1, 1) ' Fügt die Daten ab Zelle A1 ein
wsDestination.Protect "iso17025" ' Schreibschutz wieder setzen
wbSource.Close False ' Schließt die Quelldatei ohne zu speichern
End If
Application.ScreenUpdating = True 'schaltet die Bildschirmaktualisierung wieder an
End Sub