combobox link al contrario
Hai un problema con Excel? 
combobox link al contrario
di ad (utente non iscritto) data: 30/06/2014 11:45:58
Ciao a tutti, il mio problema dovrebbe essere di facile risoluzione..
Ho un combobox popolato da alcuni valori. Quando li seleziono ho il link a una cella in cui mi viene scritto il valore selezionato. Fin qui tutto ok
Poi ho una macro che mi modifica il valore che ho selezionato, sempre con uno della lista originaria, e lo scrive in un'altra cella. Vorrei far vedere questo nuovo valore nella combobox come valore selezionato.
Non ci riesco proprio
Ho provato a scrivere il codice sotto ad esempio per far vedere il primo valore della lista, ma mi dà errore 438 (Object doesn't support this property or method)
Grazie!
ActiveSheet.Shapes("ComboBox1").ControlFormat.Value = 1 |
di Lucas87 data: 30/06/2014 12:25:40
Io non ho capito nulla
Riesci ad allegare un file?
di ad (utente non iscritto) data: 30/06/2014 12:39:07
Ciao Lucas, credo sia meglio non allegare il file perché c'è una marea di altra roba, quindi ci metterei più tempo a snellire il codice che altro..provo a spiegarmi meglio.
Ho creato una combobox la cui lista è popolata di valori, diciamo ad esempio A, B, C, D.
Il valore scelto dal menù a tendina sono riuscito a farlo scrivere in automatico in una cella X.
Quello che non sono riuscito a fare è invece il contrario. Vorrei dire ala combobox: "prendi il valore nella cella Y (che può essere sempre a scelta tra A, B, C, D) e mostralo come valore selezionato all'interno del menù a tendina.
Forse la combobox non è nata pensando al flusso contrario (da menù a tendina a cella), ma a me serve da cella a menù a tendina.
Non voglio aggiungere nessun elemento nuovo alla lista, ma solo mostrarlo seleizonato.
Spero di essere stato più chiaro..grazie!
di Lucas87 data: 30/06/2014 14:07:39
Ciao
Ribadisco che senza vedere il file è un po' dura darti una soluzione.
Comune prova questo.
Scorre la lista della combobox e quando trova il valore della cella lo seleziona
For i = 0 To ComboBox1.ListCount - 1
If Range("a1") = ComboBox1.List(i, 0) Then
ComboBox1.ListIndex = i
Exit Sub
End If
Next |
di ad (utente non iscritto) data: 30/06/2014 15:26:57
Mi dà run time error 424: Object required.
Ho modificato in Sheets("nome foglio").ComboBox1.ListIndex = 2 e funziona, mi visualizza il valore desiderato.
Però è sorto un altro problema, quindi ti allego il wb, levando le cose inutili così puoi testare solo quello che ci interessa.
Sostanzialmente nel foglio "calendario" inserisco delle attività per data di inizio e fine.
Il diagramma di gantt visualizza di default tutte le attività (dalla più vecchia alla più nuova), impostando uno shift temporale pari a 15 giorni (asse_min = data_min - 15; asse_max = data_max + 15). Questo mi serve solo per comodtà di visualizzazione. Altrimenti le date da visualizzare le scelgo io con il clic sul calendario. Il bottone refresh lancia la macro scaleXaxisRefresh che mi riporta l'asse alla situazione iniziale, ovvero mostra tutte le attività con shift di 15gg.
Ora...se non metto il codice sopra da te suggerito, quando faccio il refresh delle date non viene visualizzato il valore 15 nella combobox...se lo metto, invece, me lo visualizza ma ho bisogno di due click sul pulsante del refresh date per vedere la situazione iniziale. Sembra che un click imposti lo shift a 15 e il secondo l'intervallo temporale dell'asse corretto. Ma tutto quanto è nella stessa macro!!!?!!
Se qualcosa del codice non ti è chiaro chiedi pure!! Grazie
Lo posto subito
di Lucas87 data: 30/06/2014 15:57:13
Mi da errori a non finire.
Intanto fai una cosa:
Invece di continuare a mettere e togliere la protezione del foglio scrivi questo nell'evento open. Protegge il foglio ma ti permette di fare modifiche tramite codice
For Each sh In ThisWorkbook.Worksheets
sh.Protect Password:="psw", userinterfaceonly:=True
Next |
di ad (utente non iscritto) data: 30/06/2014 16:17:25
Ho provato ma non mi fa accedere alle proprietà degli assi del grafico, e non mi fa nemmeno selezionare la combobox...
Per questo non volevo mettere il codice, immaginavo che spuntassero fuori mille errori...
di Lucas87 data: 30/06/2014 16:59:17
Cancella le parti di codice che mettono e tolgono la protezione
Aggiungi il mio codice
Togli manualmente la protezione del foglio
Salva e chiudi
di ad (utente non iscritto) data: 01/07/2014 09:24:00
Comunque grazie lo stesso! ;) Grazie per l'aiuto!
Vuoi Approfondire?