Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1580to1584
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
Inhaltsverzeichnis

VBA Programmierung

VBA Programmierung
14.09.2017 09:32:48
Emeka
Hallo zusammen,
ich suche auf diesem Weg Hilfe bei einer VBA Programmierung. Und zwar geht es darum 2 Dropdownlisten in Excel 2010 zu erstellen. Das habe ich auch schon getan leider funktionieren diese nicht so wie ich es mir vorstelle. In dem einen Dropdown stehen Kundennamen diese werden per Autovervollständigung vervollständigt. Das Dropdown sollte aber in jeder Zelle der Spalte C bei klicken sichtbar werden und auch den Inhalt dann in die angewählte Zelle in Spalte C schreiben. Das gleiche in der Spalte L. Des weiteren wollte ich eine Funktionalität einbauen welche mir sobald ich eine Änderung im Dropdown von Spalte L mache die komplette Zeile in welcher durch Dropdown eine bestimmte Auswahl getroffen wird in die nächst freie Zeile von Tabellenblatt 2 kopiert. Bin leider kein VBA-Held...würde mich über jede Hilfe freuen.
Gruß
Hier mein dazu schon erstellter Code:
Private Sub ComboBox1_Change()
ActiveCell.Value = ComboBox1.Value
End Sub
Private Sub ComboBox2_Change()
ActiveCell.Value = ComboBox2.Value
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Bereich1 As Range
Dim Bereich2 As Range
Set Bereich1 = Range("C2:C999")
Set Bereich2 = Range("L2:L999")
If Bereich1.Count > 1 Then Exit Sub
If Intersect(Target, Range("C2:C999")) Is Nothing Then
ComboBox2.Visible = True
Exit Sub
Else
ComboBox2.Visible = True
ComboBox2.Top = Target.Top
ComboBox2.Left = Target.Left
ComboBox2.Value = ActiveCell.Value
End If
If Bereich2.Count > 1 Then Exit Sub
If Intersect(Target, Range("L2:L999")) Is Nothing Then
ComboBox1.Visible = True
Exit Sub
Else
ComboBox1.Visible = True
ComboBox1.Top = Target.Top
ComboBox1.Left = Target.Left
ComboBox1.Value = ActiveCell.Value
End If
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Programmierung
16.09.2017 03:38:23
fcs
Hallo Emeka,
probiere es mal mit der folgenden Variante.
Das Übertragen der Zeile bei Änderung in Spalte L erfolgt erst, wenn die Combobox2 verlassen wird (eine beliebige Zelle selektiert wird).
Gruß
Franz
'Code im Tabellenblatt-Modul
Option Explicit
Private varWert_L As Variant 'Merker für Wert in Zelle in Spalte L, wenn diese selektiert wird
Private Sub ComboBox1_Change()
ActiveCell.Value = ComboBox1.Value
End Sub
Private Sub ComboBox2_Change()
ActiveCell.Value = ComboBox2.Value
End Sub
Private Sub ComboBox2_LostFocus()
Dim rngRow As Range
Dim Zeile_Next As Long
If Me.ComboBox2.Value  varWert_L Then
Set rngRow = Me.ComboBox2.TopLeftCell.EntireRow
With Worksheets("Tabelle2")
Zeile_Next = .Cells(.Rows.Count, 3).End(xlUp).Row + 1
rngRow.Copy .Rows(Zeile_Next)
End With
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Cells.Count = 1 And Target.Row >= 2 Then
Select Case Target.Column
Case 3 'Spalte C
Me.ComboBox2.Visible = False
Me.ComboBox1.Visible = True
ComboBox1.Top = Target.Top
ComboBox1.Left = Target.Left
ComboBox1.Value = Target.Value
Case 12 'Spalte L
Me.ComboBox1.Visible = False
Me.ComboBox2.Visible = True
ComboBox2.Top = Target.Top
ComboBox2.Left = Target.Left
varWert_L = Target.Value 'Wert in Zelle merken
ComboBox2.Value = Target.Value
Case Else
Me.ComboBox1.Visible = False
Me.ComboBox2.Visible = False
End Select
Else
Me.ComboBox1.Visible = False
Me.ComboBox2.Visible = False
End If
End Sub

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige