Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1576to1580
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
Range in Variable
07.09.2017 13:01:47
Der
Hallo Leute
ich möchte einen Zellbereich getrennt in eine Variable zuweisen
Die senkrechte zuordnung A1 bis A5 klappt (mit Transpose)
bei der waagerechten A1 bis D1 (müsste ja ohne Transpose gehen) bekomm ich den Fehler 13
Beispiel

Tabelle1
 ABCD
1AAA1BB1CC1DD1
2AAA2   
3AAA3   
4AAA4   
5AAA5   

Sub Testen()
Dim rng1 As Range, rng2 As Range
Dim Text1 As String
Dim Text2 As String
Set rng1 = Range("A1:A5")
Set rng2 = Range("A1:D1")
Text1 = Join(WorksheetFunction.Transpose(rng1), "; ") ' klappt
Text2 = Join(rng2, "; ") 'Laufzeitfehler 13
End Sub
wo liegt da mein Denkfehler?
Danke und Gruß

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Range in Variable
07.09.2017 13:21:52
Daniel
Hi
das Join braucht ein echtes 1-d-Array.
dein rng2 ist aber ein 2-d-Array , auch wenn es nur eine Zeile hat, und kann daher vom Join nicht verarbeitet werden.
Das 1-d-Array entsteht erst dann, wenn ein einspaltiges 2-d-Array transponierst.
Du musst hier also 2x transponieren:
Text2 = Join(WorksheetFunction.Transpose(WorksheetFunction.Transpose(rng2.Value)), "; ")
beim ersten Transponieren wird aus dem einzeiligen 2-d-Array ein einspaltiges 2-d-Array
beim zweiten Transponieren wird aus dem einspaltigen 2-d-Array ein 1-d-Array.
Gruß Daniel
Anzeige
danke, klappt... owT
07.09.2017 13:49:42
Der

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige