se cella vuota, inserisci testo

Anonimo
2019-07-30T14:27:44+00:00

Buon pomeriggio e ben trovati....

avrei gentilmente bisogno di un vs aiuto.

nella colonna D del foglio1 iniziando dalla cella D2, vorrei che se nel controllo trova una cella vuota, allora inserisce NULL.

Io ho provato per una singola cella e funziona, ma non riesco ad applicarla per un range di celle.

Ho provato cosi ma non funziona:

worksheets("foglio1").select

if range("d2:d200").value = "" then

range("d2:d200") = "NULL"

end if

Grazie mille

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

6 risposte

Ordina per: Più utili
  1. Anonimo
    2019-07-30T14:50:39+00:00

    Ciao marcoferrazzi1 , questo codice è del mitico Norman Jones, inserisce NULL in qualsiasi cella vuota del Foglio1 ( in corrispondenza dei dati inseriti nella varie celle).

    Prova ad inserire dei dati di prova e a lasciare vuote alcune celle, lancia la routine e vedrai comparire NULL nelle celle vuote, cioè senza dati.

     Vedi se fa al caso tuo, l'ho provato e funziona, facci sapere.

    Option Explicit

     '--------->>

     Public Sub Tester()

         Dim WB As Workbook

         Dim SH As Worksheet

         Const sFoglio As String = "Foglio1"       '<<=== Modifica

         Const sParolaRicerca As String = _

                                                 ""        '<<=== Modifica

         Const sParolaSostituzione As String = _

                                                      "NULL"       '<<=== Modifica

         Set WB = ThisWorkbook

         Set SH = WB.Sheets(sFoglio)

         SH.UsedRange.Replace _

                 What:=sParolaRicerca, _

                 Replacement:=sParolaSostituzione, _

                 Lookat:=xlPart, _

                 SearchOrder:=xlByRows, _

                 MatchCase:=False, _

                 SearchFormat:=False, _

                 ReplaceFormat:=False

     End Sub

    Ciao Nicola.

    La risposta è stata utile?

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento
  2. Anonimo
    2019-08-01T09:47:35+00:00

    Ciao marcoferrazzi1 , scusami per il ritardo nel risponderti. 

    Quanto a questo: Comunque la colonna interessata è sempre la colonna D,

    iniziando dalla cella D2, prova con questa sub, l'ho testata e funziona, fammi sapere.

    Sub Trova_Sostituisci()

        Dim r As Range

        Sheets("Foglio1").Activate '->-> CAMBIA

        For Each r In Range("D2:D200")

             If IsEmpty(r.Value) Or Trim(r.Value) = "" Then

                r.Value = "NULL"

             End If

        Next r

    End Sub

    Attenzione anche alle celle con una stringa di lunghezza zero o uno spazio.

    Esse appaiono vuote, ma in realtà non lo sono.

    Ciao Nicola.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2019-07-30T15:40:06+00:00

    Scusami, ho sbagliato io a non dirti che dalla colonna A alla colonna D (A2:D200) ho dei dati...

    ecco perchè mi inserisce NULL anche in alcune celle vuote di quel range. Comunque la colonna interessata è sempre la colonna D,

    iniziando dalla cella D2.

    Grazie Nicola

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2019-07-30T15:20:59+00:00

    Io ho inserito dei dati nella cella D2 fino alla cella D200 ( ovviamente simulando la tua realtà, lasciando alcune celle vuote, prive di dati) e lanciata la sub, il testo NULL compare solo nelle celle vuote e non va oltre la cella D200, fai anche tu una prova e fammi sapere.

    Vedi immagine allegata.

    Ciao Nicola.

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2019-07-30T15:07:25+00:00

    Ciao Nicola,

    grazie della risposta celere.....

    funziona benissimo, solo che mi inserisce anche al di sotto del rane che mi interessa a me (d2:d200).

    Al di sotto della cella d200 non ci saranno mai valori.

    Grazie 

    Marco

    La risposta è stata utile?

    0 commenti Nessun commento