Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1428to1432
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
Daten aus Userform in Tabelle übergeben
28.05.2015 13:44:35
Lisa
Hallo zusammen,
ich habe eine Userform mit einer Combobox einer und einer Textbox erstellt.
Ich suche mit der zweispaltigen Combobox Werte aus der Tabelle1, Spalte A:B einen Wert und will mittels Textbox in Spalte C einen weiteren Wert übergeben.
Das funktioniert nur bedingt, da die Werte in Spalte A:A doppelt vorkommen und immer nur der erste Wert gefunden wird, zweite und dritte bleiben unberücksichtigt.
Es dürfen auch keine Werte überschrieben werden. Steht in Spalte C:C also schon ein Wert muss per MsgBox drauf hingewiesen und abgebrochen werden.
Hierzu benötige ich allerdings Eure Hilfe.
mein Code dazu: Private Sub CommandButton1_Click() Dim wert As String Dim test As String wert = Me.ComboBox1 With Worksheets("Tabelle1").Range("A1:A500") Set c = .Find(wert, LookIn:=xlValues) If Not c Is Nothing Then firstAddress = c.Address test = c.Value If test = wert Then c.Offset(0, 2).Select If Selection "" Then MsgBox "Belegt" Else c.Offset(0, 2) = Me.TextBox2 End If End If End If End With End Sub
Zur besseren Erklärung, so hoffe ich zumindest. die Beispielmappe anbei.
https://www.herber.de/bbs/user/97917.xls
Vielen Dank für Eure Bemühungen.
LG Lisa

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

Betreff
Datum
Anwender
Anzeige
AW: Daten aus Userform in Tabelle übergeben
28.05.2015 16:10:52
fcs
Hallo Lisa,
hier das angepasste Makro für die Schaltfläche
Gruß
Franz
Private Sub CommandButton1_Click()
Dim wert As String
Dim firstAddress As String
wert = Me.ComboBox1
With Worksheets("Tabelle1").Range("A1:A500")
Set c = .Find(wert, LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
firstAddress = c.Address
Do
If c.Offset(0, 2)  "" Then
MsgBox "Belegt"
Exit Do
Else
c.Offset(0, 2) = IIf(IsNumeric(Me.TextBox2), CDbl(Me.TextBox2), Me.TextBox2)
End If
Set c = .FindNext(After:=c)
Loop Until c.Address = firstAddress
End If
End With
End Sub

Anzeige
AW: Daten aus Userform in Tabelle übergeben
29.05.2015 10:26:50
Lisa
Hallo Franz, vielen Dank für deine Hilfe.
Ich denke das ich mich falsch ausgedrückt habe, bitte entschuldige.
Es hat auch mit meiner Antwort etwas länger gedauert, da ich mir ersteinmal Excel Jaenie installieren musste.
Das hat funktioniert, ich hoffe das ich damit mein Anliegen etwas besser darstellen kann.
Hier der Versuch einer Erklärung meines Anliegens.
Tabelle1

 ABCD
1LinieBezeichnung  
2Linie 1ddd12Amit der Userform und einer Listbox suche ich aus dieser Liste einen Wert BSP: Linie 1 ddd
3Linie 1GP in der TextBoxder Userform gebe ich hierzu einen Wert ein BSP: 12A, um ihn dann zu übergeben.
4Linie 1LP Dieser Wert darf dann auch nur in der dazugehörigen Zelle C1 geschrieben werden
5Linie 1GKP C2 und C3 müssen leer bleiben, da in Spalte B ja ein anderer Wert als der ausgesuchte steht.
6Linie 10KP  
7Linie 10LP Wenn aber in C2 schon ein Text steht, darf dieser nicht überschrieben werden, sondern es muss ein Hinweis kommen MSGBOX BELEGT!
8Linie4VP das gleich würde für alle eingaben zutreffen.
9Linie577  
10   Die Listbox ist zweizeilig, da in Spalte A die gleichen Werte stehen und ich dachte, dass ich,
wenn die Spalte B auch angezeigt wird, dann immer genau die richtige Zeile sehe, auswähle und auch beschreibe,
leider funktioniert es aber nicht.


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
https://www.herber.de/bbs/user/97928.xls
Ich hoffe du/ihr könnt es so besser nachvollziehen.
LG Lisa

Anzeige
AW: Daten aus Userform in Tabelle übergeben
29.05.2015 10:29:09
Lisa
Hallo noch einmal, ich habe vergessen den Beitrag als offen zu markieren, deshalb jetzt noch einmal auf diesem Wege.
gemeint ist im Tread also die vorgehende Frage.
LG Lisa

AW: Daten aus Userform in Tabelle übergeben
29.05.2015 12:27:08
fcs
Hallo Lisa,
wenn du immer nur in der ausgewählten Zeile den Wert in Spalte C eintragen willst, dann vereinfacht sich das Ganze. Man kann über den Listindex des Eintrags in der Combobox die Zeile im Tabellenblatt bestimmen.
Private Sub CommandButton1_Click()
Dim Zeile As Long
With Me.ComboBox1
If .ListIndex = -1 Then
MsgBox "Bitte erst in Combobox einen Wert auswählen"
Else
Zeile = .ListIndex + 1
With Worksheets("Tabelle1")
Set c = .Cells(Zeile, 1)
If c.Offset(0, 2)  "" Then
MsgBox "Belegt"
Else
If IsNumeric(Me.TextBox2) Then
c.Offset(0, 2) = CDbl(Me.TextBox2)
Else
c.Offset(0, 2) = Me.TextBox2
End If
End If
End With
End If
End With
End Sub

Gruß
Franz

Anzeige
AW: Daten aus Userform in Tabelle übergeben
29.05.2015 14:12:51
Lisa
Hallo Franz, vielen Dank, das ist das was ich gesucht habe. Du hast mir sehr geholfen.
LG Lisa

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige