Wie fülle ich Kombinationsfelder in VBA Exel?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Wenn du dir die Eigenschaften der ComboBox anzeigen lässt, kannst du dort unter "RowSource" die Zellen eintragen. z. B. für die aktiive Tabelle "A1:A6", wenn die Daten in Zellen A1 bis A6 stehen. Willst du die Daten aus einer anderen (nicht aktiven) Tabelle nehmen muss es heißen "Tabelle3!A1:A6" , wobei Tabelle3 der Name der Tabelle ist. Die Anführungszeichen sind mit einzugeben.

Man kann das ganze auch zur Laufzeit der UserForm (dem Formular) machen:

Private Sub UserForm_Activate()
ComboBox1.RowSource = "Tabelle3!b1:b6"
End Sub

Hier wird beim aktivieren der UserForm der Wert der ComboBox gesetzt.

Du möchtest ja bestimmt die Zellen ausfüllen das kannst du auch mit einer Dropdown Auswahlliste ist einfacher.

Dieser Schei----Editor hier, verhunzt immer alle Code-Stücke. Das < & q u o t ; > sind doppelte Anführungszeichen (auf der Tastatur über der 2)

Excel Tabelle mit VBA erstellen und füllen

Hallo Zusammen, ich habe eine knifflige Aufgabe zu lösen und bin leider nicht der fitteste in VBA-Makros:

Meine Aufgabenstellung lautet wie folgt.

ich habe eine Zelle in die ein Zahlenwert eingetragen wird. anschließend soll nach Betätigung eines Buttons eine Tabelle mit 2 Spalten und der Zeilenanzahl des Zahlenwertes erzeugt werden. In Spalte 1 soll eine fortlaufende Nummer Zeile für Zeile eingetragen weden bis der Wert aus A1 erreicht ist.

Spalte 2 muss dann wieder mit manuellen Werten gefüllt werden.

Jetzt soll ein weiterer Button eine andere Tabelle erzeugen. die mehrere Spalten hat 6 Spalten hat.

in Spalte1 soll solange der Wert aus Spalte1 der ersten Tabelle stehen bis der Wert aus der ersten Tabelle aus Spalte 2 erreicht ist dann weiter mit nächstem Wert...

z.B.

Zelle A1 steht 4

Button1

C D 1 1 2 2 3 3 4 4

manuelle eingabe in Spalte D C D 1 1 3 2 2 5 3 3 4 4 4 5

Button 2

F G 1 1 1 2 1 2 3 1 3 4 2 1 5 2 2 6 2 3 7 2 4 8 2 5 9 3 1 10 3 2 11 3 3 12 3 4 13 4 1 14 4 2 15 4 3 16 4 4 17 4 5 usw.

kann mir hier jemand vielleicht helfen?

...zur Frage

VBA Excel Einen Wert von Tabelle1 in Tabelle 2 Kopieren.

Hallo Gutefrage.Net Community :)

Nachdem ich gestern zu meinem Programm viel Gute Hilfe bekommen habe brauch ich nun wieder welche da ich im moment wieder etwas in einer "Endlosschliefe" Hänge ..(bester Programmierwitz auf der Welt :D)

Mein Programm Verlgeicht eine Zelle A1 aus Tabelle2 mit der ganzen Spalte A in Tabelle1. Gibt es eine Übereinstimmung soll das Programm ganz Simpel den Wert aus Tabelle 1 der Gleich ist in Tabelle3 1A Kopieren. Leider find ich auch nicht per Google nicht den Simplen befhel, da die antworten immer höchst Kompelziert geschrieben sind hab ich das Gefühlt ;D

Hier nun mein Programm und damitbedanke ich mich nochmals für eure HIlfe :)

ps. Entschuldigung das die Textbox leider immer so Fehlerhaft ist ich weiß leider nicht wie ich das ändern ´kann :/

Private Sub CommandButton1_Click()

Dim J As Long Dim Trf As Long 'Zeigt ob ein Treffer Stattgefunden hat Dim Zelle As String 'Die Zelle A1 in Tabelle 2 Dim Spalte As String 'Die Reihe A1-n in Tabelle 1 bis jetzt

Trf = 0

Zelle = "Tabelle2" 'die Tabelle, in der die Werte in der Zeile untereinander stehen, Spalte A Spalte = "Tabelle1" 'die Tabelle, in der die Werte in den die Spalte stehet, Zelle 1A

For J = 1 To 9
    If Sheets(Zelle).Cells(1, 1) = Sheets(Spalte).Cells(J, 1) Then
    
        MsgBox "Gleicher Eintrag gefunden"
        
        Trf = Trf + 1
        
    ElseIf J = 9 And Trf = 0 Then
    
        MsgBox "Keine Übereinstimmungen gefunden"
    
End If

               
Next J

End Sub

...zur Frage

Excel 2010 Zelle Splitten

Hallo,

zunächst schildere ich erstmal meine Ausgangslage: Ich habe eine Spalte in welcher pro Zelle mehrere Ziffern getrennt durch # stehen. (Bsp: A1: 123#234#4635#325 ; A2: 245#21#1#25253# usw..) Ich bin nun auf der Suche nach einem Macro welches mir die Zellen splittet und mir die Werte untereinander in einer neuen Spalte rausgibt. (Bsp: B1: 123 ; B2: 234 ; B3 4635 ; B4 325 ; B5: 245 ; B6 21 ; B7 1 usw ...) Leider kenne ich mich kaum mit VBA aus und mir fehlt der grundlegende Ansatz um meine Idee umzusetzen.

Ansatz: Schleife von 1 bis letzte Reihe Split bei jedem # Schleife von Zellenanfang bis Zellenende Schreib wert in Zelle (1,b) schreib nächsten wert in Zelle (1+1,b)

Ich hoffe mein Problem ist verständlich geworden. Bei Rückfragen einfach melden, schaue regelmäßig rein.

Mit freundlichem Gruß

David

...zur Frage

VBA Worksheetwechsel klappt nicht

Hallo,

ich habe eine Arbeitsdatei und eine Quelldatei.
ich möchte, dass aus der Quelldatei "Helpmuster.xls" das Blatt Help" in die aktuelle Arbeitsdatei "EVN2013-03.csv" hinter das 1. Blatt reinkopiert namens "Orginal" wird.
Das klappt auch soweit.
Nun möchte ich aber in der aktuellen Arbeitsdatei "EVN
2013-03.csv" in dem reinkopierten Blatt "Help" weiterarbeiten.

Der beigefügte Code macht das aber nicht, irgenwie müsste ich noch allgemein formulieren, dass ich jetzt wieder in der Arbeitsdatei weitermachen möchte und nicht in der Quelldatei, woher das Blatt "Help" stammt.
Wie geht das, unter Berücksichtigung dass die Arbeitsdatei jeden Monat im Dateinamen hochgezählt wird (2013-03, 2013-04, 2013-05, usw.)

Dim WS As Worksheet

' Helpmuster hereinkopieren
' Datei öffnen - funktioniert noch nicht!
    With Workbooks.Open("Helpmuster.xlsx")
        .Worksheets("Help").Copy After:=ThisWorkbook.Worksheets(Worksheets.Count)
    End With
'
' Zahlen und Text in Spalte A wieder schwarz machen

    Columns("A:A").Select
    With Selection.Font
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
    End With
    Sheets("Orginal").Select  

LG Distel

...zur Frage

Excel VBA Listenfeld?

Hallöle,

ich schon wieder. ;-)

Ich habe ein Listenfeld erstellt, in dem die Daten aus der Spalte A des Tabellenblattes tbl_X angezeigt werden.

Nun möchte ich die Auswahl des Anwenders gerne dahingehend verarbeiten, dass ich die Auswahl übernehme, aber in einem anderen Tabellenblatt anzeige.

Z.B. Der Anwender wählt über das Listenfeld den Wert 4711 (aus Spalte A Tabellenblatt tbl_ X) aus. Ich übernehme den Wert 4711 (nach OK), aktiviere das Tabellenblatt tbl_Y und zeige ihm diesen dort in Spalte A an.

Habt Ihr eine Lösung für mich?

Hier meine Programmierung: ** Private Sub UserForm_Initialize()

Dim lngZeileMax As Long

Dim wksBlatt As Worksheet

Set wksBlatt = tbl_A

lngZeileMax = wksBlatt.UsedRange.Rows.Count

With Me.Lst_Vertrieb

.ColumnCount = 1

.ColumnHeads = True

.ColumnWidths = "70"

.RowSource = _ "=" & wksBlatt.Name & "!A2:A2" & _ lngZeileMax ( 'Bereich aus Tabelle verknüpfen)

.BackColor = RGB(165, 165, 165)

.Font.Size = 10

.Font.Bold = False

.ListIndex = 0 ( 'Ersten Eintrag vor einstellen)

End With

End Sub

Private Sub cmd_OK_Click()

If Me.Lst_Vertrieb.ListIndex <> -1 Then

???????????????????????????????????? (<- hier habe ich Schwierigkeiten)

Else

MsgBox "Bitte eine Auswahl treffen", vbInformation

End If

End Sub

...zur Frage

Was möchtest Du wissen?