Scusate se mi intrometto...
Nonostante la descrizione, mi sono fatto l'idea che stai cercando un modo per impedire che una attivita' sia inserita piu' di una volta; inoltre vorresti vedere in ListBox3, accanto all'attivita' (colonna A di Rotazioni), il contenuto di colonna C.
Per questo:
-modifica in Proprieta' di ListBox3 "Column Count" da 1 a 2
-modifica il codice di CommandButton1_Click in
- Codice: Seleziona tutto
Private Sub CommandButton1_Click()
Dim myList(), myInd As Long, I As Long
'
With Me
.Height = 530
.Width = 900
.StartUpPosition = 0
.Left = 60
.Top = 10
End With
'
ListBox3.Visible = True
ListBox3.ListIndex = 0
TextBox2.Visible = True
Label15.Visible = True
Label13.Visible = True
TextBox3.Visible = True
TextBox4.Visible = True
TextBox5.Visible = True
Label16.Visible = True
Label17.Visible = True
Label18.Visible = True
CommandButton2.Visible = True
CommandButton3.Visible = True
'Elimina RowSource:
ListBox3.RowSource = ""
'Calcola il contenuto di Listbox3:
With Sheets("ROTAZIONI").Range("A3:A56")
ReDim myList(1 To 2, 1 To .Count)
For I = 1 To .Count
If Application.WorksheetFunction.CountIf(Sheets("Base").Range("F1:F1000"), .Cells(I, 1)) = 0 Then
myInd = myInd + 1
myList(1, myInd) = .Cells(I, 1)
myList(2, myInd) = .Cells(I, 3)
End If
Next I
ReDim Preserve myList(1 To 2, 1 To myInd)
ListBox3.List() = Application.WorksheetFunction.Transpose(myList)
End With
Come vedi il contenuto di ListBox non sara' prelevato dall'area ROTAZIONI!A3:A56, ma sara' popolato in modo dinamico con i soli valori non ancora presenti in Sheets("Base").Range("F1:F1000")
Questo impedira' alla base la doppia selezione. E' inoltre presentato nella seconda colonna del ListBox il dato di colonna C
Fai sapere...