Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1608to1612
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

Störungsmeldung mit Variablem Wert

Störungsmeldung mit Variablem Wert
20.02.2018 13:48:48
Okan
Guten Tag,
ich habe folgendes Problem.
Ich würde gerne die unten stehenden Makros so laufen lassen, dass bei einem Error eine MsgBox mit Grundsätzlich dem steht was schon eingetragen wurde.
Einziger Makel an dem Makro ist, dass ich gerne die Tabellenblattbezeichnung (welche die Stationsbezeichnung ist) in der MsgBox stehen hätte anstatt Cells(7, 3).Value
Das Makro läuft bei start der Arbeitsmappe und Greift auf das unten stehende Makro zurück.
Private Sub Workbook_Open()
On Error GoTo ERR_HANDLER
Call Startseite_Übersicht
'Import Data für Abteilung CAR. Namentlich Sortiert wie in Speicherort
Call Import_Data(Sheets("Entnahme"))
Call Import_Data(Sheets("Feeder_2_S13A"))
Call Import_Data(Sheets("Feeder_2_S13B"))
Call Import_Data(Sheets("Feeder_2_S13C"))
Call Import_Data(Sheets("Kontrolle_100"))
Call Import_Data(Sheets("LV_140221"))
Call Import_Data(Sheets("LV_140231"))
Call Import_Data(Sheets("LV_140241"))
Call Import_Data(Sheets("LV_140311"))
Call Import_Data(Sheets("LV_140331"))
Call Import_Data(Sheets("LV_140341"))
Call Import_Data(Sheets("LV_160410"))
Call Import_Data(Sheets("LV_160411"))
Call Import_Data(Sheets("LV_160413"))
Call Import_Data(Sheets("LV_210311"))
Call Import_Data(Sheets("LV_210611"))
Call Import_Data(Sheets("LV_210621"))
Call Import_Data(Sheets("LV_211021"))
Call Import_Data(Sheets("LV_211411"))
Call Import_Data(Sheets("LV_211421"))
Call Import_Data(Sheets("LV_214511"))
Call Import_Data(Sheets("LV_214521"))
Call Import_Data(Sheets("LV_214611"))
Call Import_Data(Sheets("LV_214711"))
Call Import_Data(Sheets("LV_214811"))
Call Import_Data(Sheets("LV_214911"))
Call Import_Data(Sheets("LV_215211"))
Call Import_Data(Sheets("LV_215311"))
Call Import_Data(Sheets("LV_330111"))
Call Import_Data(Sheets("LV_330312"))
Call Import_Data(Sheets("LV_330511"))
Call Import_Data(Sheets("LV_330922"))
Call Import_Data(Sheets("LV_335131"))
Call Import_Data(Sheets("LV_335133"))
Call Import_Data(Sheets("LV_335211"))
Call Import_Data(Sheets("Reparatur"))
'Import Data für Abteilung .... Namentlich Sortiert wie in Speicherort
Exit Sub
ERR_HANDLER:
MsgBox "Es wurde ein Fehler in dem Sheet " & Cells(7, 3).Value & " gefunden." & vbCr & vbCr & " _
Bitte überprüfen Sie für den aktuellen Fehler im Windows Explorer:" & vbCr & "den Pfad des Speicherortes" & vbCr & "die Ordnerbezeichnungen" & vbCr & "die Dateinamen" & vbCr & vbCr & "Bitte überprüfen Sie für den aktuellen Fehler in dieser Excel-Arbeitsmappe:" & vbCr & "die Sheetsbezeichnung (auch im VBA)" & vbCr & "den Inhalt der Zellen C7 & C8 im aktuellen Fehlersheet" & vbCr & vbCr & "Wichtiger Hinweis: Es können nach beheben des aktuellen Fehlers weitere Fehlermeldungen für die danchfolgenden Sheets auftreten."
End Sub

Public Sub Import_Data(wks As Worksheet)
Dim objFileSearch As clsFileSearch
Dim lngIndex As Long, lngCount As Long
Dim varOutput As Variant
Dim strPath As String, strFormula As String
Const cstrTabname As String = "Report" 'Tabellenname
With wks
If .Range("C7") = "" Or .Range("C8") = "" Then
MsgBox ("Bitte Cellen C7 & C8 mit Daten füllen.")
Else
strPath = _
"I:\WDE_Quality\12_Lab\Partikelfallenanalyse\Analyse\" & .Cells(7, 3).Value & "\" & . _
Cells(8, 3).Value & "\"  ' _
Startverzeichnis
If Right(strPath, 1)  "\" Then strPath = strPath & "\"
.Range("B17:C36").ClearContents
Set objFileSearch = New clsFileSearch
With objFileSearch
.NewSearch = True
.CaseSenstiv = False
.Extension = "*.xlsx*"
.FolderPath = strPath
.SearchLike = "*Partikelfallenanalyse_CAR_" & wks.Name & "_*"
.SubFolders = False
If .Execute(Sort_by_Name, Sort_Order_Descending) > 0 Then
ReDim varOutput(1 To 20, 1 To 10)
lngCount = 1
For lngIndex = 1 To .FileCount
If lngCount > 20 Then Exit For
strFormula = "='" & .Files(lngIndex).FI_FolderPath
strFormula = strFormula & "[" & .Files(lngIndex).FI_FileName & "]"
strFormula = strFormula & cstrTabname & "'!"
varOutput(lngCount, 1) = strFormula & "U50"
varOutput(lngCount, 2) = strFormula & "I19"
varOutput(lngCount, 3) = strFormula & "I20"
varOutput(lngCount, 4) = strFormula & "I21"
varOutput(lngCount, 5) = strFormula & "I22"
varOutput(lngCount, 6) = strFormula & "I23"
varOutput(lngCount, 7) = strFormula & "I24"
varOutput(lngCount, 8) = strFormula & "I25"
varOutput(lngCount, 9) = strFormula & "I26"
varOutput(lngCount, 10) = strFormula & "U46"
lngCount = lngCount + 1
Next
End If
End With
With .Range("B17").Resize(UBound(varOutput, 1), 10)
.Formula = varOutput
.Value = .Value
End With
Set objFileSearch = Nothing
End If
End With
End Sub
Ich bedanke mich im Voraus.
VG
Okan

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Störungsmeldung mit Variablem Wert
20.02.2018 14:53:19
Okan
Hi,
zunächst einmal Danke für beide Antworten.
Ich hätte da einen Lösungsansatz und wüsste gerne wie man das macht.
Ich will die Errorfunktion nicht mehr in dem Makro von oben sondern direkt in dem Datenimport Makro einfügen um die wks.name in der MsgBox anzuzeigen.
Ist dies Möglich?
VG
Okan
AW: Störungsmeldung mit Variablem Wert
20.02.2018 16:41:32
ChrisL
Hi
Public Sub Import_Data(wks As Worksheet)
On Error Goto ErrorHandler
' Bestehender Code
Exit Sub
ErrorHandler:
MsgBox "Fehler in Tabelle: " & wks.Name
End Sub
cu
Chris
Anzeige
AW: Störungsmeldung mit Variablem Wert
21.02.2018 09:55:42
Okan
Hi Chris,
funktioniert genau so wie ich es benötige. Danke.
VG
Okan
AW: Störungsmeldung mit Variablem Wert
20.02.2018 14:19:27
Rudi
Hallo,
evtl. so:
Private Sub Workbook_Open()
Dim vArrSheets, i As Integer
vArrSheets = Array("Entnahme", "Feeder_2_S13A", "Feeder_2_S13B", "Feeder_2_S13C", _
"Kontrolle_100", "LV_140221", "LV_140231", "LV_140241", "LV_140311", _
"LV_140331", "LV_140341", "LV_160410", "LV_160411", "LV_160413", "LV_210311", _
"LV_210611", "LV_210621", "LV_211021", "LV_211411", "LV_211421", "LV_214511", _
"LV_214521", "LV_214611", "LV_214711", "LV_214811", "LV_214911", "LV_215211", _
"LV_215311", "LV_330111", "LV_330312", "LV_330511", "LV_330922", "LV_335131", _
"LV_335133", "LV_335211", "Reparatur")
On Error GoTo ERR_HANDLER
Call Startseite_Übersicht
'Import Data für Abteilung CAR. Namentlich Sortiert wie in Speicherort
For i = LBound(vArrSheets) To UBound(vArrSheets)
Call Import_Data(Sheets(vArrSheets(i)))
'Import Data für Abteilung .... Namentlich Sortiert wie in Speicherort
Exit Sub
ERR_HANDLER:
MsgBox "Es wurde ein Fehler in dem Sheet " & vArrSheets(i) & Cells(7, 3).Value & " gefunden."  _
_
& vbCr & vbCr & "Bitte überprüfen Sie für den aktuellen Fehler im Windows Explorer:" _
& vbCr & "den Pfad des Speicherortes" & vbCr & "die Ordnerbezeichnungen" & vbCr _
& "die Dateinamen" & vbCr & vbCr & "Bitte überprüfen Sie für den aktuellen Fehler in dieser  _
Excel-Arbeitsmappe:" & vbCr _
& "die Sheetsbezeichnung (auch im VBA)" & vbCr & "den Inhalt der Zellen C7 & C8 im  _
aktuellen Fehlersheet" & vbCr & vbCr _
& "Wichtiger Hinweis: Es können nach beheben des aktuellen Fehlers weitere Fehlermeldungen  _
für die danchfolgenden Sheets auftreten."
End Sub

Gruß
Rudi
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige