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

VBA Spalte ab Zeile 5 mit eindimensionalen Array füllen

VBA Spalte ab Zeile 5 mit eindimensionalen Array füllen
30.09.2023 18:17:46
Joschi Witchcraft
Hallo Forum.

Ich habe ein eindimensionales Array mit aktuell 5 Einträgen (0 bis 4)

Nun möchte ich den Inhalt des Array ohne Loop in die Spalte 4 ab Zeile 5 einfügen.

mein aktueller Code:
Range(Cells(5, EnumColP), Cells(5 + UBound(Lines), EnumColP)).Select
Range(Cells(5, EnumColP), Cells(5 + UBound(Lines), EnumColP)) = Lines

Den Select habe ich, um zu sehen, wieviele Zeilen angesprochen werden. Es sind 5.

Das Ergebnis: in allen 5 Zeilen steht der Wert aus Lines(0)

Was mache ich falsch? Wie müsste mein Code aussehen?

Gruß Joschi

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Spalte ab Zeile 5 mit eindimensionalen Array füllen
30.09.2023 18:36:17
Beverly
Hi Joschi,

verwende Tanspose - also: ...... = Transpose(Lines)

Bis später
Karin

Link zur Homepage: https://excel-inn.de/
Korrektur
30.09.2023 18:57:47
Beverly
Hi Joshi,

sorry, es muss natürlich heißen Application.Transpose(Lines)

Bis später
Karin

Link zur Homepage: https://excel-inn.de/
Rückfrage
01.10.2023 10:10:58
Beverly
Hi Joshi,

hat nicht die Antwort jedes Helfers zumindest eine Reaktion des Fragestellers verdient, auch wenn man die Lösung dann nicht verwendet...?!

Im Übrigen macht mein Vorschlag auch genau das was du erreichen wollest.

Bis später
Karin

Link zur Homepage: https://excel-inn.de/
Anzeige
AW: Rückfrage
01.10.2023 10:36:40
Joschi Witchcraft
Hallo Karin.

In Deiner Antwort war "Application.Transpose(Lines)" erwähnt. Ich habe dann versucht, über Deine Internetseite mehr zu erfahren, was mich einer Lösung näherbringt. Doch ich habe - warum auch immer - nichts für mich brauchbares gefunden.

Für jemand, der nur Basis-Kenntnisse in VBA hat, war Deine Antwort nicht ausreichend. Sorry.


Gruß Joschi.
AW: Rückfrage
01.10.2023 11:38:01
Beverly
Hi Joschi,

wenn man etwas nicht versteht, kann man doch gezielt rückfragen. Das hat also absolut nichts damit zu tun, dass man nur Basiskenntnisse besitzt...

Bis später
Karin

Link zur Homepage: https://excel-inn.de/


Anzeige
AW: VBA Spalte ab Zeile 5 mit eindimensionalen Array füllen
30.09.2023 18:44:14
Daniel
Hi.
Eindimensionale Arrays werden zu Arrays mit einer Zeile und viele Spalten, wenn man sie Zweidimensional verwendet.
Daher muss man, wie Karin schrieb, transponieren, also Zeilen und Spalten vertauschen.

Noch ein Tipp, wie du den Zellbereich einfacher beschreiben kannst:

Cells(5, EnumCoIP).Resize(Lines.Count, 1) = Worksheetfunction.Transpose(Lines)


Gruß Daniel
AW: VBA Spalte ab Zeile 5 mit eindimensionalen Array füllen
30.09.2023 19:08:17
Joschi Witchcraft
Hallo Daniel.

Dein Code erzeugt bei mir einen Laufzeitfehler 424.

Kann es sein, dass es an "Lines.Count" liegt?

Gruß Joschi
AW: VBA Spalte ab Zeile 5 mit eindimensionalen Array füllen
30.09.2023 19:38:51
Daniel
stimmt, hast recht.
irgendwie habe ich geglaubt, das ginge.
du kannst statt .count natürlich auch weiterhin Ubound(Lines) verwenden, wobei man dann natürlich auch beachten muss, was die Basis ist. (0, 1 oder auch was ganz anderes)

also ganz korrekt: .Cells(x, y).Resize(Ubound(lines) - Lbound(Lines) + 1, 1).= Worksheetfunction.Transpose(lines)

wenn du den Lbound kennst, kannst du den natürlich auch als Zahl in die Berechnung einsetzen.

Gruß Daniel
Anzeige
AW: VBA Spalte ab Zeile 5 mit eindimensionalen Array füllen
30.09.2023 19:53:22
Joschi Witchcraft
Hallo Daniel.

Jetzt funktioniert der Code. Problem gelöst. Danke.

Gruß Joschi

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige