Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1520to1524
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

Problem mit Intersect in Tabellenblättern in Array

Problem mit Intersect in Tabellenblättern in Array
18.10.2016 23:24:24
Volker
Liebe Forengemeinde!
Ich versuche derzeit, ein Problem in u.a. Code-Ausschnitt zu lösen. In einem Array (arrTab) sind Tabellenblätter gespeichert, in die jeweils identische Eintragungen erfolgen. Diese Tabellenblätter repräsentieren Kalenderwochen von jeweils Mo - Sa. Den Wochentagen sind Zellbereiche zugeordnet. Bei entsprehendem Eintrag gibt "Tag" den Wochentag und "Datum" das in entsprechender Zelle hinterlegte zugehörige Datum zurück. Dies funktioniert auch alles sehr gut. Meine Absicht ist hier, von den in den Blättern des Arrays "arrTab" vorhandenen Eintragungen das jeweilige Datum auszulesen und diese Daten wiederum in einem Array (hier arrProtokoll) zu speichern.
Debug.Print gibt mir zwar korrespondierend zu "arrTab" die korrekte Anzahl der Elemente von "arrProtokoll" aus, jedoch bei allen das gleiche Datum, nämlich jenes des Eintrags im ersten Blatt. Es steht dann dort z.B. 5x 02.08.2016 und nicht 02.08., 09.08., 16.08., 23.08. & 30.08.2016.
Ich habe leider noch keine Idee, wie ich die Intersect-Prüfung adaptieren muss, um jedes Datum aufgelistet zu bekommen und hoffe, es gibt hier freundlicherweise hilfreiche Hinweise.
Viele Grüße
Volker
Dim arrProtokoll()
ReDim arrProtokoll(0)
For j = 0 To (LBound(arrTab) + (v - 1))
If Not Intersect(Cells(lngzeA, lngsp), Range("C6:K49")) Is Nothing Then
Tag = "Montag, "
Datum = Range("G5")
End If
If Not Intersect(Cells(lngzeA, lngsp), Range("C51:K94")) Is Nothing Then
Tag = "Dienstag, "
Datum = Range("G50")
End If
If Not Intersect(Cells(lngzeA, lngsp), Range("C96:K139")) Is Nothing Then
Tag = "Mittwoch, "
Datum = Range("G95")
End If
If Not Intersect(Cells(lngzeA, lngsp), Range("C141:K184")) Is Nothing Then
Tag = "Donnerstag, "
Datum = Range("G140")
End If
If Not Intersect(Cells(lngzeA, lngsp), Range("C186:K229")) Is Nothing Then
Tag = "Freitag, "
Datum = Range("G185")
End If
If Not Intersect(Cells(lngzeA, lngsp), Range("C231:K274")) Is Nothing Then
Tag = "Samstag, "
Datum = Range("G230")
End If
ReDim Preserve arrProtokoll(UBound(arrProtokoll) + 1)
arrProtokoll(UBound(arrProtokoll)) = Datum
Next j
Debug.Print "(Protokoll)" & Join(arrProtokoll(), vbCr)

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Ich sehe hier keinen Bezug von 'arrProtokoll' ...
19.10.2016 04:06:25
'arrProtokoll'
…zu arrTab, Volker;
ich hätte ja angenommen, in arrTab stünden BlattNamen oder gar -Bezüge, aber darauf beziehen sich deine Intersect-Anweisungen gar nicht, sondern auf Zellen und Bereiche des ActiveSheet!
Morrn, Luc :-?
Besser informiert mit …
AW: Ich sehe hier keinen Bezug von 'arrProtokoll' ...
20.10.2016 20:08:54
'arrProtokoll'
Hallo Luc!
Danke für den Hinweis mit dem ActiveSheet. Deshalb hat es an anderer Stelle auch funktioniert.
Ich habe die Intersect-Anweisungen, wie hier beispielhaft für den ersten Bereich, geändert.
If Not Intersect(Worksheets(arrTab(j)).Cells(lngzeA, lngsp), Worksheets(arrTab(j))).Range("C6:K49") Is Nothing Then
Doch erhalte ich aber in dieser Zeile nun den Laufzeitfehler 13 (Typen unverträglich). Welche Ursache hat das?
Gruß
Volker
Anzeige
AW: Ich sehe hier keinen Bezug von 'arrProtokoll' ...
21.10.2016 21:34:08
'arrProtokoll'
Hallo
Setze dort wo drei Schliessklammern sind, nur zwei u. am Schluss des Range ebenso zwei.
Gruss Gerd
AW: Ich sehe hier keinen Bezug von 'arrProtokoll' ...
23.10.2016 17:16:44
'arrProtokoll'
Hallo Gerd!
Danke für den Hinweis. Das hat den Fehler beseitigt.
Gruß Volker

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige