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

Wie befülle ich diesen Array am sinnvolsten

Wie befülle ich diesen Array am sinnvolsten
14.06.2018 17:12:37
Tim
Hallo zusammen,
Im Umgang mit Arrys erstellen tue ich mich noch ein wenig schwer. Habt Ihr eine Idee?
Ich habe eine Reihe von Kalender Daten nebeneinander stehen (mit leeren Spalten dazwischen)
Wie bekomme ich diese drei Werte sinnvoll in eine in eine Array rein:

intWeekday
= Wochhentag Kennung ("1=Montag, 2= Dienstag.... 7=Sonntag")
i = Spaltenzahl
dDatum = das Datum aus der Spalte i
Sub Wochentag_Koordinaten_zu_Arry()
Dim dDatum As Date
Dim WotArr(7, 2, 1)
Dim i As Integer 'Spaltennr
Dim intWeekday As Integer
Erase WotArr 'löscht den Arry
Debug.Print "1=Montag, 2= Dienstag.... 7=Sonntag"
For i = 1 To 100
If Sheets("Übersicht").Cells(8, i).Value  "" Then
dDatum = Sheets("Übersicht").Cells(8, i).Value
intWeekday = Weekday(dDatum, vbMonday)
Debug.Print intWeekday, dDatum, " inSpalte: " & i
End If
Next i
End Sub

Das Ergebnis von Debug.print ist:
1=Montag, 2= Dienstag.... 7=Sonntag
4            31.05.2018     inSpalte: 1
4            07.06.2018     inSpalte: 6
3            30.05.2018     inSpalte: 11
3            06.06.2018     inSpalte: 16
1            28.05.2018     inSpalte: 21
1            04.06.2018     inSpalte: 26
5            01.06.2018     inSpalte: 31
5            08.06.2018     inSpalte: 36
2            29.05.2018     inSpalte: 41
2            05.06.2018     inSpalte: 51
6            02.06.2018     inSpalte: 56
6            09.06.2018     inSpalte: 61
Die Daten sind wie man sieht nicht chronologisch nebeneinander.
Jeden Werktag gibt es maximal 2x Feiertagsbedingt kann ein Werktag jedoch auch komplett fehlen.
Was soll mir die Array bringen?
Ich möchte wissen.
a)wie viele Einträge hat z.B. der Dienstag (2 oder 1 oder 0)
b) an welcher Position steht z.B. der 2. Dienstag und mit welches Datum WotArr(2,2,1)
Ich hoffe soetwas bekommt man mit Array´s hin :)
Viele Grüße
Tim
Mein Muster:
https://www.herber.de/bbs/user/122129.xlsm

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

Betreff
Datum
Anwender
Anzeige
AW: Wie befülle ich diesen Array am sinnvolsten
15.06.2018 23:22:04
Tim
Hallo zusammen,
Packe ich die Sache falsch an? Kann mir niemand einen Tipp geben wie ich die Daten in die Array´s bekomme?
Gruß Tim ;)
Hinweis
16.06.2018 21:00:35
Oberschlumpf
Hi Tim,
wie ich sehe, hast du zumindest den Thread hier von dir verfolgt, bzw noch mal nachgefragt.
Wie sieht es denn mit diesem Thread von dir aus:
https://www.herber.de/forum/messages/1628593.html
Da hatte ich dir geantwortet. Bist du an einer Lösung nicht mehr interessiert?
Ciao
Thorsten
AW: Hinweis
17.06.2018 16:09:18
Tim
Hallo Thorsten ,
dieser Beitrag ist nicht von mir gewesen, ist ein anderer Tim ;)
Ich Antworte immer 100% garantiert.
Wenn jemand seine Zeit opfert um so Menschen wie mir zu helfen, dann muss Feedback und ein Dankeschön drin sein. Das gehört sich so.
Ich habe durch dieses Forum schon viel gelernt und auch Du hast mir schon oft geholfen ;)
Muss mal nachsehen, ob ich mich im Forum umbenennen kann.
Gruß Tim
Anzeige
AW: Wie befülle ich diesen Array am sinnvolsten
17.06.2018 22:07:15
Tim
Hallo zusammen,
nach dem tollen 0:1 gegen Mexico habe ich noch mal selbst an den Dreidimensionalen Arrys probiert.
Mit einem komplett anderem Beispiel nur um das Prinzip zu verstehen.
Ich versuche das jetzt mal auf meinem Beispiel an zu wenden.
Public Function MonateEinlesen() As Variant
Dim strMonate(1 To 12, 0 To 1, 0 To 1) As Variant
Erase strMonate
strMonate(1, 0, 0) = "Januar"
strMonate(1, 1, 0) = "Jan"
strMonate(1, 0, 1) = "1"
strMonate(2, 0, 0) = "Februar"
strMonate(2, 1, 0) = "Feb"
strMonate(2, 0, 1) = "2"
strMonate(3, 0, 0) = "März"
strMonate(3, 1, 0) = "Mrz"
strMonate(3, 0, 1) = "3"
strMonate(4, 0, 0) = "April"
strMonate(4, 1, 0) = "Apr"
strMonate(4, 0, 1) = "4"
strMonate(5, 0, 0) = "Mai"
strMonate(5, 1, 0) = "Mai"
strMonate(5, 0, 1) = "5"
strMonate(6, 0, 0) = "Juni"
strMonate(6, 1, 0) = "Jun"
strMonate(6, 0, 1) = "6"
strMonate(7, 0, 0) = "Juli"
strMonate(7, 1, 0) = "Jul"
strMonate(7, 0, 1) = "7"
strMonate(8, 0, 0) = "August"
strMonate(8, 1, 0) = "Aug"
strMonate(8, 0, 1) = "8"
strMonate(9, 0, 0) = "September"
strMonate(9, 1, 0) = "Sep"
strMonate(9, 0, 1) = "9"
strMonate(10, 0, 0) = "Oktober"
strMonate(10, 1, 0) = "Okt"
strMonate(10, 0, 1) = "10"
strMonate(11, 0, 0) = "Novemver"
strMonate(11, 1, 0) = "Nov"
strMonate(11, 0, 1) = "11"
strMonate(12, 0, 0) = "Dezember"
strMonate(12, 1, 0) = "Dez"
strMonate(12, 0, 1) = "12"
MonateEinlesen = strMonate
End Function
Public Sub MonateAusgeben()
Dim strMonate() As Variant
Dim i As Integer
strMonate() = MonateEinlesen
For i = 1 To 12
Debug.Print strMonate(i, 0, 0), 'zeigt alle Monate
Debug.Print strMonate(i, 1, 0), ' Zeigt alle Abkürzungen
Debug.Print strMonate(i, 0, 1), ' Zeigt Monats Nr.
Next i
End Sub
wollte euch nur mal auf den Stand meiner Experimente bringen.
lg
DER TIM
Anzeige
AW: Wie befülle ich diesen Array am sinnvolsten
17.06.2018 22:55:16
Tim
Noch mal ich,
habe es geschafft *bisschen Stolz* :)
Hier mein Ergebnis, falls es noch jemand gebrauchen kann...
Sub Wochentag_Koordinaten_zu_Arry()
Dim dDatum As Date
Dim WotArr(1 To 7, 0 To 2, 0 To 2) As Variant
Dim i As Integer 'Spaltennr
Dim intWeekday As Integer
Erase WotArr 'löscht den Arry
'"1=Montag, 2= Dienstag.... 7=Sonntag"
For i = 1 To 100 'to Spaltenzahl
If Sheets("Übersicht").Cells(8, i).Value  "" Then
dDatum = Sheets("Übersicht").Cells(8, i).Value
intWeekday = Weekday(dDatum, vbMonday)
If WotArr(intWeekday, 1, 0) = "" Then
WotArr(intWeekday, 1, 0) = dDatum
WotArr(intWeekday, 0, 1) = i
Else:
WotArr(intWeekday, 2, 0) = dDatum
WotArr(intWeekday, 0, 2) = i
End If
End If
Next i
Debug.Print WotArr(3, 1, 0), WotArr(3, 0, 1) 'Datum vom 1. Mittwoch + Spaltennr.
Debug.Print WotArr(3, 2, 0), WotArr(3, 0, 2) 'Datum vom 2. Mittwoch + Spaltennr.
End Sub

Die Ausgabe für z.B. Mittwoch (3. Wochentag) ist.
30.05.2018     11
06.06.2018     16
Viele Grüße
Der Tim
Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige