Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Dropdown aus verbundenen Zellen

Betrifft: Dropdown aus verbundenen Zellen von: tryanderror_user3004
Geschrieben am: 25.03.2020 14:42:15

Guten Tag liebe Excel Gemeinde,


Ich bin ein "neuer Excel User" zumindest auf dem Feld von VBA, das normale Excel beherrsche ich recht gut.

Ich habe schon verschiedene Programmieraufgaben erfüllt, habe das aber nie gelernt, eher im Eigenstudium nebenbei mal schnell. Ich hoffe ihr seid gnädig mit mir.


So genug der Vorstellung jetzt zum Problem:

Ich möchte aus einer anderen Datei alle verbundenen Zellen in die aktuelle Datei in eine Zelle als DropDown einfügen. Dabei habe ich das hier gebastelt:



Dim pfad As String, datei As String, blatt As String, bereich As Range



pfad = []

datei = []

blatt = "LIST"


Workbooks.Open Filename:=pfad & datei

ActiveSheet.Name = blatt



Set bereich = Range("B5:Q469") 'wenn möglich, würde ich hier auf noch automatisch die letzte Zelle in dem Bereich einfügen




If bereich.MergeCells = True Then

bereich.Select



Else

End If



Selection.Copy


'Anhang wieder schlie?en ohne Speichern

ActiveWorkbook.Close SaveChanges:=False


Windows("ROUTINE.XLSM").Activate


Worksheets("Codegenerator").Range("C5").Select

Selection.Insert Shift:=xlDown



Das Problem hierbei stellt sich glaube ich in der Verwendung von der Selection. Bzw schon vorher mit den MergeCells. Kann mir jemand eine Hilfestellung geben, wie ich solche Probleme anfassen kann und für mich selbst lösen kann?


Ich wäre sehr froh darüber und natürlich auch über ein funktionierendes Script.

Ich danke für eure Hilfe und Mühen.

Betrifft: AW: Dropdown aus verbundenen Zellen
von: Werner
Geschrieben am: 25.03.2020 21:53:27

Hallo,

teste mal:
Option Explicit

Public Sub aaa()
Dim strPfad As String, strDatei As String, wbQuelle As Workbook
Dim raBereich As Range, raZelle As Range, varArray() As Variant
Dim i As Long, boGefüllt As Boolean

strPfad = "DeinPfad\"
strDatei = "DeineDatei.xlsx"

Set wbQuelle = Workbooks.Open(Filename:=pfad & datei)

With wbQuelle.Worksheets("Tabelle1") 'Blattname anpassen
    Set raBereich = .Range("B5:Q" & .Cells(.Rows.Count, "B").End(xlUp).Row)
    For Each raZelle In raBereich
        If raZelle.MergeCells Then
            If raZelle <> "" Then
                boGefüllt = True
                ReDim Preserve varArray(i)
                varArray(i) = raZelle.Value
                i = i + 1
            End If
        End If
    Next raZelle
    wbQuelle.Close False
End With

If boGefüllt Then
    Worksheets("Codegenerator").Range("C5").Resize(UBound(varArray) + 1) _
    = WorksheetFunction.Transpose(varArray)
Else
    MsgBox "Fehler: In der Quelldatei gibt es keine verbundenen Zellen."
End If

Set wbQuelle = Nothing: Set raBereich = Nothing
End Sub
Gruß Werner

Betrifft: AW: Dropdown aus verbundenen Zellen
von: tryanderror_user3004
Geschrieben am: 26.03.2020 07:31:07

Hallo Werner,
vielen Dank für deine Hilfe.
Das Makro funktioniert schon recht gut, ich bekomme alle verbundenen Zellen unter einander aufgelistet in das aktuelle Blatt. Nur nicht als Dropdown. Das kann ich mir aber selbst schreiben.

Vielen Dank :)

Betrifft: Gerne u. Danke für die Rückmeldung. o.w.T.
von: Werner
Geschrieben am: 26.03.2020 13:29:10



Beiträge aus dem Excel-Forum zum Thema "Dropdown aus verbundenen Zellen"