› Sviluppare funzionalita su Microsoft Office con VBA › Inputbox per modificare il valore di una cella
-
AutoreArticoli
-
Ciao a tutti, ho bisogno di predisporre una macro che faccia quanto segue:
- se in A1 trova scritto "X" mi propone un message box con la stringa di testo contenuta in B1
- la msgbox dovrebbe consentire la scelta (Y/N) se accettare o meno il testo in B1
- su risposta affermativa dovrebbe chiudere la msgbox
- su risposta negativa dovrebbe aprire una input box (con solo pulsante OK) con la stringa di B1 e consentirne la modifica.
- alla pressione di OK dovrebbe sostituire il valore della inputbox in B1
Grazie fin d'ora per l'aiuto!
Ciao @pmc77
non ho allegato il file perchè, in realtà, questa macro entrerebbe a far parte di un progetto ben più ampio, e pensavo non avesse senso riportare tutto per un piccolo tassello!
Ho provato comunque a sintetizzare in un file il concetto da raggiungere:
In sostanza in C1 viene inserito un cognome e nome.
A1 verifica se sia composto da 2 parole (es. Rossi Mario) o più (es. Dal Dosso Luca, Brambilla Marco Aurelio...)
B1 propone un'estrazione del cognome e dell'iniziale del nome, ma vista la varietà di combinazioni vorrei che (in caso di abbinamenti di tre o più parole) mi venisse richiesta la conferma (con il msgbox<) o la modifica eventuale (con l'inputbox)Grazie ancora
Allegati:
You must be logged in to view attached files.Ciao @ghido!
Quello che hai allegato è inutile!
Io mi riferivo all'abbozzo di Macro che vorresti!
Ho più o meno capito quello che vuoi fare, ma non vedo come lo hai iniziato ad affrontare!
Cit. "Pappa fatta, finita!"
Credo di aver risolto così:
Dim ChkCN As String Dim Answ As Variant ChkCN = Range("B1").Value If Range("A1") = "X" Then Answ = MsgBox(ChkCN & " è corretto?", vbYesNo, "Verifica nome") ElseIf Range("A1") = "" Then End If If Answ = vbNo Then ChkCN = InputBox("Nuovo nome della cartella", "Nuovo nome", ChkCN) Range("B1").Value = ChkCN ElseIf Answ = vbYes Then End If
Secondo me sarebbe più corretto:
Dim ChkCN As String Dim Answ As Variant ChkCN = Range("B1").Value If Range("A1") = "X" Then Answ = MsgBox(ChkCN & " è corretto?", vbYesNo, "Verifica nome") If Answ = vbNo Then ChkCN = InputBox("Nuovo nome della cartella", "Nuovo nome", ChkCN) Range("B1").Value = ChkCN ElseIf Answ = vbYes Then [...] End If ElseIf Range("A1") = "" Then [...] End If
-
AutoreArticoli