Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
316to320
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
316to320
316to320
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA: Markierter Wert aus Listbox in aktive Zelle

VBA: Markierter Wert aus Listbox in aktive Zelle
30.09.2003 16:03:24
Moritz
Hallo,

folgende Fragestellung: Eine 3-spaltige Originalliste wird laufend um neue Projekte erweitert. Auf einem weiteren Arbeitsblatt erscheinen die Projekte in Spalte A verkettet. Nun sollen die Projekte über eine Auswahlliste, sortiert und ohne Leerzeilen dargestellt werden. Klappt mittles der untenstehenden Formel tadellos.

Weiter soll der markierte Wert per Klick auf den Button 'OK' in die aktive Zelle des Arbeitsblatts übertragen werden. Das dazugehörige Formular (ListBoxSort) besteht aus einer ListBox und einem OK Button. Hier komme ich nicht weiter! Was müßte man dem OK Button formeltechnisch mitteilen, um den jeweils markierten Wert per Klick in die jeweils aktive Zelle auf dem Arbeitsblatt übertragen zu können?


Sub ShowTheForm()
ListboxSort.Show
End Sub

-----

Sub SortAndRemoveDupes()
Dim rListSort As Range, rOldList As Range
Dim strRowSource As String
'Clears Hidden sheet Column A ready for list
Sheet1.Range("A1", Sheet1.Range("A65536").End(xlUp)).Clear
'Sets range variable to list we want
Set rOldList = Sheet2.Range("A1", Sheet2.Range("A65536").End(xlUp))
'Uses AdvancedFilter to copy the list to Column A _
of the hidden sheet and remove all dupes
rOldList.AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Sheet1.Cells(1, 1), Unique:=True
'Sets range variable to the new non dupe list
Set rListSort = Sheet1.Range("A1", Sheet1.Range("A65536").End(xlUp))
With rListSort
'Sorts the new non dupe list
.Sort Key1:=.Cells(2, 1), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End With
'Parses the address of the sorted unique items
strRowSource = Sheet1.Name & "!" & Sheet1.Range _
("A2", Sheet1.Range("A65536").End(xlUp)).Address
Sheet1.Range("A1") = "akanto -- Neu sortierte Projektbudgetliste"
With ListboxSort.ListBox1
'Clears old ListBox RowSource
.RowSource = vbNullString
'Parses new one
.RowSource = strRowSource
End With
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Markierter Wert aus Listbox in aktive Zelle
30.09.2003 21:10:20
ChrisL
Hallo Moritz

Bin da ehrlich gesagt etwas durcheinander, aber ich interpretiere das Problem jetzt einfach mal wie folgt:

Du möchtest aus einer 3-spaltigen Listbox den markierten Wert in die aktive Zelle übernehmen, Fokus also auf 3-spaltig. Dabei scheint mir dein bestehendes Makro aber lediglich auf eine Spalte zu deuten... jedenfalls etwa wie folgt

ActiveCell = ListBox1.Column(0) & ListBox1.Column(1) & ListBox1.Column(2)

Wenn es doch eine einspaltige ListBox ist, dann so...

ActiveCell = ListBox1

Wenn das Problem ein anderes ist z.B. Multi-Select, dann kannst du dich ja nochmals melden oder besser mal in der Recherche gucken.

In deinem Code - vorausgesetzt, dass das Blatt überhaupt sichtbar ist - würde sich übrigens ein...

Application.ScreenUpdating = False
' Dein Code
Application.ScreenUpdating = True

... nicht schlecht machen.

Gruss
Chris
Anzeige

330 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige