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

Aggiungere dato in una cella se combobox non attiva

Ultimo Aggiornamento: 13/01/2018 16:25
Post: 38
Registrato il: 22/12/2017
Città: MILANO
Età: 44
Utente Junior
Excel2016
OFFLINE
11/01/2018 12:12

Ciao, avrei l'esigenza di inserire nelle celle vuote della colonna B la parola "Null", solo se le celle della colonna C non sono vuote

Vi allego un esempio

Ho visto degli esempi nel forum contenenti la funzione "SE".
Io vorrei una macro, dal momento che quest'ultima verrà richiamata solo se eseguita un'altra macro

Grazie


Post: 3.612
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
11/01/2018 12:27

Ciao Chiara e bentornata

Sulla base del tuo esempio prova questa

vb
Sub Nulla()
Dim ur As Long
Dim rng As Range
Dim cel As Range
ur = Cells(Rows.Count, 3).End(xlUp).Row
Set rng = Range("C1:C" & ur)
For Each cel In rng
    If cel.Value <> "" Then
        cel.Offset(0, -1).Value = "Null"
    End If
Next cel
End Sub

Alfredo
Post: 38
Registrato il: 22/12/2017
Città: MILANO
Età: 44
Utente Junior
Excel2016
OFFLINE
11/01/2018 13:06

...grazie Alfredo...!!!

Ho provato ma non funziona.

Ti allego un esempio in cui ho inserito la tua macro richiamandola ( ho imparato solo oggi la funzione richiama per cui mi sto esercitando

La tua macro sembrerebbe venire correttamente "richiamata" tant'è vero che compare il messaggio ma nella cella C non viene inserita la parola "Null"

Quando hai tempo potresti darci un'occhiata?
Grazie moltissimo

P.s.

cel.Offset(0, -1).Value 

il -1 sta per "cella dell'ultima colonna a sinistra"? E quindi se avessi voluto indicare la cella della prima colonna di destra avrei dovuto scrivere
cel.Offset(0, 1).Value 
???
[Modificato da Chiara-ExcelForum 11/01/2018 13:24]
Post: 3.613
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
11/01/2018 14:13

Ahi ahi ahi Chiara sei poco attenta [SM=g27828]

La mia macro su questo tuo nuovo file non po' funzionare perché essa prende a riferimento la colonna C che in questo caso è vuota e c'è un unico dato in D1 "Prova>D"

Puoi spiegare meglio quel che vuoi fare?

P.S. Per quanto riguarda Offset è tutto corretto quello che hai detto; Offset non è altro che lo SCARTO(riga; colonna)
[Modificato da alfrimpa 11/01/2018 14:25]

Alfredo
Post: 39
Registrato il: 22/12/2017
Città: MILANO
Età: 44
Utente Junior
Excel2016
OFFLINE
11/01/2018 14:33

[SM=x423066] [SM=x423066]

hai ragione!!! Che rabbia

Io vorrei che venisse inserito nella cella B la parola "Null", se B è vuota e nella C viene inserito un dato tramite combobox

ad es. se C3 contiene un dato, in B3 ( ammesso che sia vuota ) dev'essere inserito "Null"



[Modificato da Chiara-ExcelForum 11/01/2018 14:36]
Post: 3.614
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
11/01/2018 14:39

Confesso di non aver capito [SM=g27833]

Puoi allegare un file con la combo ed il resto e spiegare su quello?

Alfredo
Post: 40
Registrato il: 22/12/2017
Città: MILANO
Età: 44
Utente Junior
Excel2016
OFFLINE
11/01/2018 14:50

[SM=x423051]

dunque, vorrei che quando scrivo un dato in combobox2 (Dtc) non presente in elenco (il dato viene inserito in C2 foglio "elenchi"), se la B2 è vuota, venga inserita la parola "Null"

In caso contrario non deve fare niente

Stesso discorso per la C3.... in quel caso però la parola "Null" dovrebbe essere inserita in B3 se soddisfatta la condizione ( B3 vuota ) etc etc

Post: 3.622
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
12/01/2018 16:55

Quindi Chiara, se capisco bene, quando inserisci i dati con la userform se lasci la combo Riferimento vuota vorresti che in colonna B venga inserito Null?

Alfredo
Post: 45
Registrato il: 22/12/2017
Città: MILANO
Età: 44
Utente Junior
Excel2016
OFFLINE
12/01/2018 16:59

Si..... [SM=x423026]
Post: 3.623
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Master
Excel 365
OFFLINE
12/01/2018 18:42

Chiara vado un po' a tentoni.

Prova a sostituire il codice abbinato al pulsante "Inserisci dati" sulla userform con questo

vb
Private Sub CommandButton1_Click()
Dim ur As Long ' dichiaro variabile per memorizzare ultima cella piena della colonna B del foglio DB
ur = Sheets("DB").Cells(Rows.Count, 2).End(xlUp).Row 'memorizzo in ur il numero di riga dell'ultima cella piena della colonna B
If Me.ComboBox1.Value = "" Then
    Sheets("DB").Cells(ur + 1, 2).Value = "Null"
    Else
    Sheets("DB").Cells(ur + 1, 2).Value = Me.ComboBox1.Value
End If
Sheets("DB").Cells(ur + 1, 3).Value = Me.ComboBox2.Value
Sheets("DB").Cells(ur + 1, 4).Value = Me.ComboBox3.Value
Sheets("DB").Cells(ur + 1, 5).Value = Me.ComboBox4.Value
End Sub

Alfredo
Post: 5.317
Registrato il: 14/11/2004
Utente Master
Office 2019
OFFLINE
13/01/2018 07:39

Combobox
Ciao Chiara ed un saluto a tutti, ho preferito rifare il codice dell'userform,creandone una nuova uguale Userform1.

se inserisci un nuovo dato lo aggiunge agli elenchi, tranne il primo campo "Riferimento" che fa riferimento al database.

attenzione che vuole tutti i combobox pieni, per una voce "null" crea la voce negli elenchi, in modo che possa essere inserita.

Ciao By Sal [SM=x423051]

P.S. Credo di aver sbagliato il post forse era l'altro.

[Modificato da by sal 13/01/2018 19:00]
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui
Post: 46
Registrato il: 22/12/2017
Città: MILANO
Età: 44
Utente Junior
Excel2016
OFFLINE
13/01/2018 16:25

Grazie moltissimo...ora faccio dei test e al limite, mi permetto di disturbarvi nuovamente

[SM=x423026]
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 00:43. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com