Wir wünschen allen Forenteilnehmern ein frohes Fest und einen guten Rutsch ins neue Jahr. x

VBA Werte zu bestehenden Array hinzufügen
#1
Hallo zusammen,
ich möchte zu einem bestehenden Array, weitere Werte hinzufügen:

arrayInput = Sheets("Personal").Range(Cells(z1, 1), Cells(z1, 15))

Das Array "arrayInput" mit 15 Werten funktioniert soweit aber nun möchte ich zu den 15 Werten, weitere 7 aus einem anderen Tabellenblatt fortlaufend und in der gleichen Dimension hinzufügen.
Diese Daten sollen angehangen werden: --> Sheets("Prämien").Range(Cells(z1, 2), Cells(z1, 8))

Kann mir bitte jemand helfen.

Beste Grüße
David
Top
#2
Hallo,

hier ein Pseudo-Code:

Code:
dim Br

Ar = Range(Cells(z1, 1), Cells(z1, 15))
Redim Br(ubound(Ar)+15, ubound(Ar,2))

For i = 1 to ubound(Ar)
    for j = 1 to ubound(Ar,2)
        Br(i, j) = Ar(i, j)
    next j
next i

mfg
Top
#3
Hallo Fennek,
das hilft mir leider noch nicht wirklich weiter, vielleicht aber auch, weil ich mit Arrays nicht sonderlich fit bin.

Ich versuche es nochmal anders zu beschreiben.

Ich möchte ein Array "ArrayInput" mit der Größe Zeile = 1 und Spalten = 32 befüllen.

In ArrayInput (1) soll das heutige Datum geschrieben werden.

in ArrayInput (2 --> 16) sollen die Daten geschrieben werden, welche unter folgenden Zellen stehen
Sheets("Personal").Range(Cells(z1, 1), Cells(z1, 15))

In ArrayInput (17 --> 23) sollen die Daten geschrieben werden, welche unter folgenden Zellen stehen
Sheets("Prämien").Range(Cells(z1, 2), Cells(z1, 8))

In ArrayInput (24 --> 32) sollen die Daten unter folgenden Zellen stehen
Sheets("Abwesenheiten").Range(Cells(z1, 2), Cells(z1, 10))

Ich scheitere kläglich daran dieses Array zusammenzubasteln.
Vielen dank für eure Hilfe.
Top
#4
Hallo zusammen,
hat keiner eine Idee?

Wäre wirklich super, wenn ihr mir helfen könnt.
Top
#5
Hallo David,

vielleicht so?

Code:
Sub prcArrayzusammenfuegen()
   Dim z1 As Long, lngA As Long, lngB As Long, lngC As Long
  
   Dim vntPersonal As Variant, vntPraemie As Variant, vntAbwesenheiten As Variant
   Dim ArrayInput() As Variant, vntZusammen As Variant
  
   z1 = 1
   vntPersonal = Worksheets("Personal").Cells(z1, 1).Resize(, 15)
   vntPraemie = Worksheets("Pr?mien").Cells(z1, 2).Resize(, 7)
   vntAbwesenheiten = Worksheets("Abwesenheiten").Cells(z1, 2).Resize(, 9)
  
   vntZusammen = Array(vntPersonal, vntPraemie, vntAbwesenheiten)
  
   ReDim ArrayInput(1 To UBound(vntPersonal, 2) + UBound(vntPraemie, 2) + UBound(vntAbwesenheiten, 2) + 1)
  
   ArrayInput(1) = Date
   lngC = 2
   For lngA = 0 To UBound(vntZusammen)
      For lngB = 1 To UBound(vntZusammen(lngA), 2)
         ArrayInput(lngC) = vntZusammen(lngA)(1, lngB)
         lngC = lngC + 1
      Next lngB
   Next lngA
  
End Sub
Gruß Stefan
Win 10 / Office 2016
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste