Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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
Antworten 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
Antworten 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.
Antworten Top
#4
Hallo zusammen,
hat keiner eine Idee?

Wäre wirklich super, wenn ihr mir helfen könnt.
Antworten 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
Antworten Top


Gehe zu:


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