Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Flexibler Ausgabebereich eines VBA-Moduls

Forumthread: Flexibler Ausgabebereich eines VBA-Moduls

Flexibler Ausgabebereich eines VBA-Moduls
15.02.2016 04:39:33
Ulrich

Hallo zusammen!
Ich möchte mich gerne mit einer Frage zur Definition des Ausgabebereichs einer VBA-Funktion an euch wenden. Mir ergibt sich die folgende Fragestellung:
Mithilfe von VBA möchte ich in einer Zelle die Verkettung des Inhalts einer Spalte wiedergeben. Hierzu verwende ich die folgende Funktion:

Sub Verketten()
Dim c As Range, tmp As String
For Each c In Selection
tmp = tmp & c & "; "
Next
Worksheets(3).Range("D8").Value = tmp
End Sub

In der folgenden VBA-Funktion ist bereits ein Ausgabebereich definiert. Da ich jedoch diese Funktion für mehrere Spalten verwenden möchte und die Ausgabe der Verkettungsfunktion in einer jeweils anderen Zelle erfolgen soll, stellt sich mir die Frage, ob sich der Ausgabebereich flexibel definieren lässt?
Ist es z.B. möglich, dass ich (1) durch Auswahl/Anklicken in einem Worksheet einen Ausgabebereich definiere und (2) durch Auswahl in einem Worksheet eine Spalte definiere und anschließend das Modul laufen lasse?
Gibt es somit eine Möglichkeit, um ein VBA-Modul für verschiedene Ausgabebereiche zu verwenden oder muss ich für jeden gewünschten Ausgabebereich ein neues VBA-Modul erstellen?
Ich würde mich sehr über eine Antwort von euch freuen - vielen Dank bereits!
Ulrich

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Flexibler Ausgabebereich eines VBA-Moduls
15.02.2016 07:15:27
MCO
Moin!
du kannst einfach einen Parameter in die klammern schreiben und den Code mit dem parameter aufrufen.
Sub verketten(spalte as single)
Dim c As Range, tmp As String
For Each c In Selection
tmp = tmp & c & "; "
Next
Worksheets(3).cells(8,spalte).Value = tmp
End Sub
Der Aufruf der Prozedur ist eine eigene Prozedur
Sub aufruf()
verketten 4 'Beispiel für Spalte 4
End Sub
Gruß, MCO

Anzeige
AW: Flexibler Ausgabebereich eines VBA-Moduls
15.02.2016 07:51:30
Ulrich
Vielen Dank für die hilfreiche Antwort!

Oder gleich als UDF
15.02.2016 07:25:56
RPP63
Moin!
Function Verketten2(rng As Range, Optional Separator As String = ";") As String
Dim rZelle As Range
For Each rZelle In rng
Verketten2 = Verketten2 & rZelle & Separator
Next
End Function
AW: Oder gleich als UDF
15.02.2016 07:51:05
Ulrich
Super, vielen Dank für die schnelle und kompetente Hilfe!

Anzeige
Das ist jetzt wohl die xte Variante von ...
15.02.2016 15:27:15
Luc:-?
Verketten2, Ralf… ;-]
Gruß, Luc :-?
Besser informiert mit …

Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige