Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

Inserire testo in una casella con formula

Ultimo Aggiornamento: 19/10/2016 08:26
Post: 75
Registrato il: 13/12/2015
Città: MILANO
Età: 58
Utente Junior
2010
OFFLINE
18/10/2016 14:50

Ciao a tutti.
Nella cella C1 ho un menu a tendina con due opzioni. Se scelgo "Consegna documentazione" nella cella C3  visualizzo "NON PREVISTO".
La formula usata è
=SE($C$1="Consegna documentazione";"NON PREVISTO";" ")


Nel caso che in C1 scegliessi l'opzione "Effettuazione corso" in C3 avrei necessità di digitare a mano il nome del docente. Ma ovviamente cosi facendo cancellerei la formula di cui sopra.

Avevo pensato, come escamotage, di aggiungere una seconda variabile alla formula SE che puntasse ad una cella nascosta o presente in altro foglio. Ma potrebbe esserci una soluzione differente e migliore che ovviamente non conosco.

Aspetto dritte da voi esperti.

Sperando di essere stato sufficientemente chiaro, vi ringrazio in anticipo.

[Modificato da BG66 18/10/2016 14:59]
BG66
Excel 2010
Post: 1.899
Registrato il: 21/03/2008
Città: LOCATE VARESINO
Età: 76
Utente Veteran
2007 / 13
OFFLINE
18/10/2016 15:07

ciao

quindi deve comparire per esempio Docente: Rossi

basta che sostituisci " " nel se()


=SE($C$1="Consegna documentazione";"NON PREVISTO"; A3)
[Modificato da locatevaresino 18/10/2016 15:09]
Ciao da locate
excel 2007 / 13
Post: 880
Registrato il: 10/10/2013
Città: VICENZA
Età: 69
Utente Senior
365
OFFLINE
18/10/2016 15:14

Ciao

un'idea in vba


Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C1")) Is Nothing Then
If Cells(1, 3).Value = "Consegna documentazione" Then
Cells(3, 3).Value = "NON PREVISTO"
Else
Cells(3, 3).Value = ""
End If
End If
End Sub



altrimenti

metti la lista dei nomi in un menu a tendina
esempio in J2

e cambia la formula così

=SE($C$1="Consegna documentazione";"NON PREVISTO";J2)



o meglio

=SE($C$1="Consegna documentazione";"NON PREVISTO";SE(C1="Effettuazione corso";J2;""))




Post: 75
Registrato il: 13/12/2015
Città: MILANO
Età: 58
Utente Junior
2010
OFFLINE
18/10/2016 15:18

Ciao Federico,
la tua idea VBA è forse quella che esteticamente "sporca" di meno il foglio.
Ma potrebbe aprire una finestra dove scrivere il nome e poi con invia riportarlo nella cella?

[Modificato da BG66 18/10/2016 15:18]
BG66
Excel 2010
Post: 881
Registrato il: 10/10/2013
Città: VICENZA
Età: 69
Utente Senior
365
OFFLINE
18/10/2016 16:12

ciao


Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("C1")) Is Nothing Then
If Cells(1, 3).Value = "Consegna documentazione" Then
Cells(3, 3).Value = "NON PREVISTO"
Else
A = InputBox("Inserire Docente")
Cells(3, 3).Value = A
End If
End If
End Sub

Post: 76
Registrato il: 13/12/2015
Città: MILANO
Età: 58
Utente Junior
2010
OFFLINE
18/10/2016 18:33

Ciao,
funziona nel file prova ma NON riesco a far "girare" la macro nel file originale.
Dall'immagine riesci a capire cosa/dove sbaglio?




Grazie
[Modificato da BG66 18/10/2016 18:37]
BG66
Excel 2010
Post: 867
Registrato il: 06/04/2013
Utente Senior
2010
OFFLINE
18/10/2016 18:44

Ciao
'mbè, il messaggio sembra chiaro: devi definire la variabile A dimensionandola in quanto in capo al modulo (giustamente!!) c'è scritto Option Explicit.

saluti
[Modificato da dodo47 18/10/2016 18:45]
Domenico
Win 10 - Excel 2016
Post: 2.340
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
18/10/2016 18:48

Dim A As String

Alfredo
Post: 3.416
Registrato il: 13/03/2012
Città: LIVORNO
Età: 78
Utente Master
2010
OFFLINE
19/10/2016 07:52

per essere più chiari, quando in testa al codice vba si scrive option explicit TUTTE le variabili devono essere DIMENSIONATE, altrimenti è meglio non metterlo

----------
Win 10 - Excel 2010
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
Post: 77
Registrato il: 13/12/2015
Città: MILANO
Età: 58
Utente Junior
2010
OFFLINE
19/10/2016 08:26

Grazie a tutti per i vs. preziosi suggerimenti.
[RISOLTO]
BG66
Excel 2010
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 02:04. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com