ich habe in einem Userform zwei Listen, die durch folgenden Code gefüllt werden:
Private Sub UserForm_Initialize()
Dim wkscol As Worksheet, wksrow As Worksheet
''''''''''''''''''''''''''''''''''''''''''''''''''''
' Location for Merkmale
Set wkscol = ThisWorkbook.Sheets("MerkmaleCol")
Set wksrow = ThisWorkbook.Sheets("MerkmaleRow")
''''''''''''''''''''''''''''''''''''''''''''''''''''
lstMerkmaleCol.List = wkscol.Range("A1").CurrentRegion.Columns("A:B").Value
lstMerkmaleRow.List = wksrow.Range("A1").CurrentRegion.Columns("A:B").Value
End Sub
In einem Listenfeld kann jeweils immer nur ein Eintrag mit einem Doppelklick markiert werden. Unterhalb der Listenfelder gibt es zwei Textboxes. Wenn ein Eintag in einer der zwei Listen markiert wird, erscheinen dort die Werte und können nun verändert werden über eine Schaltfläche speichern:
Private Sub cmdSpeichern_Click()
Dim wkscol As Worksheet, wksrow As Worksheet
''''''''''''''''''''''''''''''''''''''''''''''''''''
' Location for Merkmale
Set wkscol = ThisWorkbook.Sheets("MerkmaleCol")
Set wksrow = ThisWorkbook.Sheets("MerkmaleRow")
''''''''''''''''''''''''''''''''''''''''''''''''''''
If txtMerkmal.text = "" And txtWert.text = "" Then
Beep
MsgBox "Sie müssen ein Merkmal mit Doppelklick auswählen!"
Exit Sub
Else
If txtMerkmal.text = "" Or txtWert.text = "" Then
Beep
MsgBox "Sie müssen einen Wert eingeben!"
Exit Sub
End If
End If
With lstMerkmaleCol
.List(.ListIndex, 0) = txtMerkmal.text
.List(.ListIndex, 1) = txtWert.text
wkscol.Range("A1").CurrentRegion.Columns("A:B").Value = lstMerkmaleCol.List
End With
With lstMerkmaleRow
.List(.ListIndex, 0) = txtMerkmal.text
.List(.ListIndex, 1) = txtWert.text
wksrow.Range("A1").CurrentRegion.Columns("A:B").Value = lstMerkmaleRow.List
End With
End Sub
ich habe nun 2. Probleme:
1. Problem: Wie kann ich es hinkriegen, dass bei auswahl eines Eintrages in Liste1 (lstMerkmaleCol) durch den Anwender und anschließender auswahl eines Eintrages in Liste2 (lstMerkmaleRow)durch den Anwender kein Eintag in Liste1 mehr markiert ist. Momentan ist bei mir dann in beiden Listen jeweils ein Eintrag markiert und das möchte ich vermeiden.
2. Problem: Wie kann ich feststellen beim Klicken der schaltfläche speichern, welcher Eintrag, der gerade barbeitet wurde, in welche Liste gehört.
Wer kann mir helfen und vielleicht ein Besipiel sagen?
Gruß
Rainer