Combobox in foglio di excel

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
llucia
00martedì 27 aprile 2021 20:10
Salve, ho un problema con la combobox. In un foglio ho inserito delle combobox attraverso la quale inserisco un'informazione. Usando la combobox scelgo la materia e la visualizzo nella cella stessa della combobox, nella cella a sinistra vorrei vedere il docente corrispondente. Tenendo a mente che più docenti svolgono la stessa materia. E' possibile? Allego il file d'esempio
Grazie
alfrimpa
00mercoledì 28 aprile 2021 10:20
Ciao llucia era meglio se postavi in domande e risposte.

La combobox è controllo modulo o ActiveX?

Comunque allega un file spiegando su questo cosa vuoi fare.
llucia
00mercoledì 28 aprile 2021 17:08
Scusami se ho postato male. Anzi pensavo di avere allegato il file!
alfrimpa
00mercoledì 28 aprile 2021 18:32
Allora Lucia innanzi tutto cancella una delle due combobox (ne serve una sola) e tra le proprietà di quella rimasta cancella la LinkedCell.

Inserisci questo codice nel modulo del foglio1

vb
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim myRng As Range
Set myRng = Uni0n(Range("D:D"), Range("f:f"), Range("h:h"), Range("J:J"), Range("L:L").Range("N:N"))
If Not Intersect(Target, myRng) Is Nothing Then
    ComboBox1.Top = ActiveCell.Offset(0, 1).Top
    ComboBox1.Left = ActiveCell.Offset(0, 1).Left
    ComboBox1.Width = ActiveCell.Offset(0, 1).Width
    ComboBox1.Height = ActiveCell.Offset(0, 1).Height
End If
End Sub


e questo associato alla combobox

vb
Private Sub ComboBox1_Change()
ComboBox1.TopLeftCell.Offset(0, -1).Value = ComboBox1.Value
End Sub


Ogni volta che selezionerai una cella delle colonne D, F, H, J, L ed N alla sua destra compare la combobox dove potrai sceglie la voce e questa verrà inserita nella cella precedentemente selezionata.

Ti allego il file e fai sapere.
llucia
00mercoledì 28 aprile 2021 19:06
Perfetto! Grazie mille Alfredo!! L'unica cosa, siccome alcune colonne saranno nascoste (D,F, ecc), la combo si dovrebbe attivare nelle colonne dove compare il giorno della settimana e visualizzare la materia e non il docente.
alfrimpa
00mercoledì 28 aprile 2021 19:11
Quindi le colonne saranno la E, G, H, I, K M ed O?

La materia in quale cella va inserita? in corrispondenza dell'orario?

O preferisci che la combo sia fissa al di fuori della tabella?
llucia
00mercoledì 28 aprile 2021 19:31
Ciao Alfredo. Nella colonna E (per esempio) la materia e, nella cella a fianco il docente. Le combo vanno bene in ogni cella. Ti allego una immagine di esempio.
alfrimpa
00mercoledì 28 aprile 2021 19:55
Scusa Lucia ma ripensandoci (tu mi hai portato fuori strada😁) ma a cosa ti servono le combobox?

Non bastano delle convalide dati per i docenti e dei CERCA.VERT() per pescare la materia?

Che utilità ti danno in più le combobox?
llucia
00mercoledì 28 aprile 2021 20:04
Scusa Alfredo se ti ho portato fuori strada. Non ho usato la convalida perchè riesco a vedere una sola colonna, di conseguenza ho la possibilità di mettere la materia ma non so quale docente la svolge. Per il cerca.vert non l'ho usato perchè più docenti hanno la stessa materia e ho bisogno di fare anche il conteggio delle ore anche per singolo docente oltre che per la materia relativa. Se c'è una soluzione più pratica accetto proposte! So di essere un po' contorta!
alfrimpa
00mercoledì 28 aprile 2021 20:27
Ma nella convalida vedresti solo il docente qual è il problema?

Devi vedere contemporaneamente docente e materia?
llucia
00mercoledì 28 aprile 2021 20:29
Si dovrei vedere contemporaneamente docente e materia in modo da scegliere quale docente deve svolgere quella materia.
alfrimpa
00mercoledì 28 aprile 2021 21:29
Ok a domani
alfrimpa
00giovedì 29 aprile 2021 10:51
Buongiorno Lucia

Ti allego nuovo file fammi sapere cosa ne pensi.
llucia
00giovedì 29 aprile 2021 12:08
Ciao Alfredo, non so se lo hai provato. Con la funzione cerca.vert non funziona perchè mi trova la prima occorrenza. Per esempio se pluto deve fare italiano non mi permette di impostarlo perchè mi trova prima storia, quindi mi inserisce per pluto storia.
Vorrei fare la scelta della materia e del docente nelle colonne dove sono i giorni della settimana, perchè le altre, successivamente le dovrò nascondere.
alfrimpa
00giovedì 29 aprile 2021 12:11
Ma un docente può fare più materie?

Se pippo fa italiano e storia tu scegli prima pippo e poi italiano o storia?
llucia
00giovedì 29 aprile 2021 13:12
Si stessi docenti possono svolgere più materie e più materie possono essere fatte da diversi docenti. Ecco perchè la combo. Perchè in questa maniera posso scegliere la materia ed il docente specifico che compare dall'elenco. Poi le colonne dove compaiono i nomi dei docenti verrebbero nascoste in modo che , in un altro foglio calcoli le ore di lezione per materia e per docente.
alfrimpa
00venerdì 30 aprile 2021 13:07
Buongiorno Lucia

Prova a vedere il file allegato.

Clicca sul pulsante Maschera e fammi sapere.

llucia
00sabato 1 maggio 2021 10:20
Ciao Alfredo, ho risolto così:

In Foglio1

Option Explicit

Dim ur As Long
Dim i As Long

Private Sub ComboBox1_Change()
With ComboBox1
If .ListIndex >= 0 Then
ActiveCell.Offset(0, 0) = .List(.ListIndex, 0)
ActiveCell.Offset(0, -1) = .List(.ListIndex, 1)
End If
End With
End Sub



Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("E:E,G:G,I:I,K:K,M:M,O:O")) Is Nothing Then
cmbOrario.Top = Target.Top
cmbOrario.Left = Target.Left
ur = Worksheets("DocentiMaterie").Cells(Rows.Count, 1).End(xlUp).Row
With Worksheets("Foglio1").ComboBox1
.Clear
.ColumnCount = 2
For i = 2 To ur
.AddItem Worksheets("DocentiMaterie").Cells(i, 2)
.List(i - 2, 1) = Worksheets("DocentiMaterie").Cells(i, 1)
Next i
End With
End If
End Sub

in Questa cartella di lavoro:

Option Explicit

Private Sub Workbook_Open()
Dim ur As Long
Dim i As Long


ur = Worksheets("DocentiMaterie").Cells(Rows.Count, 1).End(xlUp).Row
With Worksheets("Foglio1").cmbOrario
.Clear
.ColumnCount = 2
For i = 2 To ur
.AddItem Worksheets("DocentiMaterie").Cells(i, 2)
.List(i - 2, 1) = Worksheets("DocentiMaterie").Cells(i, 1)
Next i
End With
End Sub
alfrimpa
00sabato 1 maggio 2021 11:19
Complimenti!

L’importante è che hai risolto
alfrimpa
00sabato 1 maggio 2021 13:12
Solo per curiosità l’ultimo mio file lo hai provato? Che ne pensi?
llucia
00sabato 1 maggio 2021 16:29
Purtroppo per le mie necessità non era funzionale.
alfrimpa
00sabato 1 maggio 2021 17:52
Non c'è problema.

Alla prossima.
Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 15:24.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com