08.12.2019, 10:32
08.12.2019, 10:38
Hallo,
da habe ich was übersehen
da habe ich was übersehen
Code:
Case "INHALTSVERZEICHNIS", "DATA"
08.12.2019, 10:39
Merci
Brauche ich denn dann das UCase? Eigentlich egal wie rum, oder?
--
Hast du noch eine Idee zum Array-Problem?
Brauche ich denn dann das UCase? Eigentlich egal wie rum, oder?
--
Hast du noch eine Idee zum Array-Problem?
08.12.2019, 10:48
Hallo,
Das kommt darauf an, wie Du den Tabellennamen im Case-Zweig und in Excel selber geschrieben hast.
Zum Array: Ein bissl wenig was Du an Code gepostet hast.
(08.12.2019, 10:39)jules schrieb: [ -> ]Merci
Brauche ich denn dann das UCase? Eigentlich egal wie rum, oder?
Hast du noch eine Idee zum Array-Problem?
Das kommt darauf an, wie Du den Tabellennamen im Case-Zweig und in Excel selber geschrieben hast.
Zum Array: Ein bissl wenig was Du an Code gepostet hast.
08.12.2019, 10:51
Ok. Danke Dir!
Zum Array:
Wie gesagt. Liste ich die Werte im Makro auf (aktuell deaktiviert) funktioniert es. Soll er sie sich aus der Zelle holen, geht es nur bei arrL nicht... :16:
Zum Array:
Code:
Dim arr As Variant
Dim arrL As Variant
Dim wks As Worksheet
Pfad = Range("DataPfad")
arr = Worksheets("Data").Range("G8:G13")
arrL = Worksheets("Data").Range("H8:H13")
'arrL = Array("Verbrauchsstatistik L1 2020.xlsb","Verbrauchsstatistik L2 2020.xlsb", "Verbrauchsstatistik L3 2020.xlsb")
For Each wks In Worksheets
If wks.Visible = xlSheetVisible Then
Select Case wks.Name
Case "Data", "Inhaltsverzeichnis"
Case Else
With wks
Blatt = .Range("B1")
Set Bereich = .Range("C2:N2")
For Each Zelle In Bereich
Zellen = Range(Cells(4, Zelle.Column), Cells(21, Zelle.Column)).Address
If IsNumeric(WorksheetFunction.Match(Zelle.Value, arr, 0)) Then
Dateiname = arrL(WorksheetFunction.Match(Zelle.Value, arr, 0) - 1)
MsgBox Dateiname
Wie gesagt. Liste ich die Werte im Makro auf (aktuell deaktiviert) funktioniert es. Soll er sie sich aus der Zelle holen, geht es nur bei arrL nicht... :16:
08.12.2019, 10:54
Hallo,
arrL ist zweidimensional
schau mal, wenn Du das im Einzelschrittmodus ablaufen läßt, ins Lokal- bzw. Überwachungsfenster, dann siehst Du es.
arrL ist zweidimensional
Code:
Dateiname = arrL(WorksheetFunction.Match(Zelle.Value, arr, 0) - 1, 1)
schau mal, wenn Du das im Einzelschrittmodus ablaufen läßt, ins Lokal- bzw. Überwachungsfenster, dann siehst Du es.
08.12.2019, 11:11
interessant! tatsache
arrL(1)
-> arrL(1,1)
.. allerdings springt er mit
Dateiname = arrL(WorksheetFunction.Match(Zelle.Value, arr, 0) - 1, 1)
immer noch nicht an...
arrL(1)
-> arrL(1,1)
.. allerdings springt er mit
Dateiname = arrL(WorksheetFunction.Match(Zelle.Value, arr, 0) - 1, 1)
immer noch nicht an...
08.12.2019, 11:17
Hallo,
auch dein arr ist zweidiemensional. Teste halt ob deine If-Abfrage erfüllt ist.
(08.12.2019, 11:11)jules schrieb: [ -> ].. allerdings springt er mit
Dateiname = arrL(WorksheetFunction.Match(Zelle.Value, arr, 0) - 1, 1)
immer noch nicht an...
auch dein arr ist zweidiemensional. Teste halt ob deine If-Abfrage erfüllt ist.
08.12.2019, 11:22
Stark!
Ich habs
Dateiname = arrL(WorksheetFunction.Match(Zelle.Value, arr, 0), 1)
Tausend Dank!
Ich habs
Dateiname = arrL(WorksheetFunction.Match(Zelle.Value, arr, 0), 1)
Tausend Dank!
08.12.2019, 11:30
(08.12.2019, 10:39)jules schrieb: [ -> ]Brauche ich denn dann das UCase? Eigentlich egal wie rum, oder?
na Du hattest doch gejammert:
Zitat:.. Anscheinend muss ich bei "Case" E X A K T den Tabellennamen angeben. Also auch Groß-/Klein Schreibung etc.
Funktioniert nun ... *nerv
UCase macht halt alles Groß.