Condividi:        

excel casella vuota

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Re: excel casella vuota

Postdi Flash30005 » 13/02/13 09:57

Se con 37 si devono resettare i contatori allora va modificato l'array in questa maniera (replico l'intera macro modificata)
Anche se mi rimane il dubbio perché oltre a resettare i contatori qualcosa dovrà pur scrivere nel foglio consecutivi altrimenti le righe non saranno più allineate
Codice: Seleziona tutto
Sub CompilaF3()
Set ws1 = Worksheets("DNDRPNPR")
Set ws3 = Worksheets("Consecutivi")
ws3.Columns(2).ClearContents
UR1 = ws1.Range("B" & Rows.Count).End(xlUp).Row
MyS1 = Array(37, 1, 0, 3, 0, 5, 0, 7, 0, 9, 0, 0, 12, 0, 14, 0, 16, 0, 18, 19, 0, 21, 0, 23, 0, 25, 0, 27, 0, 0, 30, 0, 32, 0, 34, 0, 36, 37)
For RR1 = 1 To UR1
NV1 = MyS1(ws1.Range("B" & RR1 + 1).Value)
If NV1 = 37 Then
CS1 = 0
CS2 = 10
GoTo SaltaRR1
End If
    If NV1 > 0 Then
    CS2 = 10
        CS1 = CS1 + 1
    Else
        CS1 = 0
        CS2 = CS2 + 1
    End If
    MioC = CS1
    If NV1 = 0 Then MioC = CS2
    ws3.Cells(RR1, 2).Value = MioC
SaltaRR1:
Next RR1
End Sub


Per avviare la macro automaticamente al variare (aggiunta o altro) di un numero nella colonna B del foglio origine
devi inserire questo codice nel Vba del foglio (non modulo)
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
UR1 = Range("B" & Rows.Count).End(xlUp).Row
Area1 = "B1:B" & UR1
If Application.Intersect(Target, Range(Area1)) Is Nothing Then Exit Sub
CompilaF3
End Sub

In pratica sulla sinistra dell'editor vba troverai gli oggetti (Fogli) clicchi due volte sul foglio dati origine (DNDRPNPR)
e sulla finestra di destra incolli il codice

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Sponsor
 

Re: excel casella vuota

Postdi STEFANO TRENTINI » 13/02/13 10:48

Ciao scusa ancora ci siamo quasi .. ma adesso mi riparte dal B2 e non dal B1 sl foglio 3
STEFANO TRENTINI
Utente Junior
 
Post: 49
Iscritto il: 29/11/12 10:29

Re: excel casella vuota

Postdi STEFANO TRENTINI » 13/02/13 10:55

Anzi me ne salta uno ! Mi salta il primo numero inserito in b1 foglio 1
STEFANO TRENTINI
Utente Junior
 
Post: 49
Iscritto il: 29/11/12 10:29

Re: excel casella vuota

Postdi Flash30005 » 13/02/13 14:00

Prova ora, c'era un bug
Codice: Seleziona tutto
Sub CompilaF3()
Set ws1 = Worksheets("DNDRPNPR")
Set ws3 = Worksheets("Consecutivi")
ws3.Columns(2).ClearContents
UR1 = ws1.Range("B" & Rows.Count).End(xlUp).Row
MyS1 = Array(0, 1, 0, 3, 0, 5, 0, 7, 0, 9, 0, 0, 12, 0, 14, 0, 16, 0, 18, 19, 0, 21, 0, 23, 0, 25, 0, 27, 0, 0, 30, 0, 32, 0, 34, 0, 36, 37)
For RR1 = 1 To UR1
NV1 = MyS1(ws1.Range("B" & RR1).Value)
If NV1 = 37 Then
CS1 = 0
CS2 = 10
End If
    If NV1 > 0 Then
    CS2 = 10
        CS1 = CS1 + 1
    Else
        CS1 = 0
        CS2 = CS2 + 1
    End If
    MioC = CS1
    If NV1 = 0 Then MioC = CS2
    ws3.Cells(RR1, 2).Value = MioC
Next RR1
End Sub


Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: excel casella vuota

Postdi STEFANO TRENTINI » 13/02/13 16:22

Ciao ce qualcosa che non quadra , per prima cosa se azzero tutta la colonna b1 foglio , nella colonna b1 foglio 3 mi resta un numero !!!
Poi la cosa sbagliata , che forse non ho spiegato bene io , e che con i numeri ( 1-3-5-7-9-12-14-16-18-19-21-23-25-27-30-32-34-36 ) mi deve dare la consecutività da 11 in su su foglio 3
e con i numeri ( 2-4-6-8-10-11-13-15-17-20-22-24-26-28-29-31-33-35 ) la consecutività da 1 in su
esempio se esce 8 = 11
3 = 12
34 = 13
2 = 1
11 = 2
Grazie anticipatamente ancora !!!
STEFANO TRENTINI
Utente Junior
 
Post: 49
Iscritto il: 29/11/12 10:29

Re: excel casella vuota

Postdi Flash30005 » 13/02/13 17:16

:?:
Ma questo che dici ora
STEFANO TRENTINI ha scritto: Poi la cosa sbagliata , che forse non ho spiegato bene io , e che con i numeri ( 1-3-5-7-9-12-14-16-18-19-21-23-25-27-30-32-34-36 ) mi deve dare la consecutività da 11 in su su foglio 3
e con i numeri ( 2-4-6-8-10-11-13-15-17-20-22-24-26-28-29-31-33-35 ) la consecutività da 1 in su

Poi ti contraddici scrivendo
esempio se esce 8 = 11 (secondo questa disposizione dovrebbe essere 1)
3 = 12 (corretto)
34 = 13 (corretto)
2 = 1 (corretto)
11 = 2 (corretto)

Ma, il tutto, sembra che sia il contrario di ciò che hai affermato nel primo post
STEFANO TRENTINI ha scritto:....Adesso il problema nel terzo foglio mi servirebbe che nella colonna B mi riportasse solo dei numeri da 1a 9 se in foglio 1 nella colonna B1 inserisco i numeri 1-3-5-7-9-12-14-16-18-19-21-23-25-27-30-32-34-36 mi deve mettere in foglio 3 mettere un numero da 1 2 3 4 5 6 7 .
se invece inserisco 2-4-6-8-10-11-13-15-17-20-22-24-26-28-29-31-33-35 ,i deve inserire in foglio 3 i numeri da 11 a 19 cioe 11-12-13


Vediamo se così si risolve
Codice: Seleziona tutto
Sub CompilaF3()
Set Ws1 = Worksheets("DNDRPNPR")
Set ws3 = Worksheets("Consecutivi")
ws3.Columns(2).ClearContents
UR1 = Ws1.Range("B" & Rows.Count).End(xlUp).Row
MyS1 = Array(0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 37)
For RR1 = 1 To UR1
If UR1 = 1 And Ws1.Range("B1").Value = "" Then Exit Sub
NV1 = MyS1(Ws1.Range("B" & RR1).Value)
If NV1 = 37 Then
CS1 = 0
CS2 = 10
End If
    If NV1 > 0 Then
    CS1 = 10
        CS2 = CS2 + 1
    Else
        CS2 = 0
        CS1 = CS1 + 1
    End If
    MioC = CS2
    If NV1 = 0 Then MioC = CS1
    ws3.Cells(RR1, 2).Value = MioC
Next RR1
End Sub


Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: excel casella vuota

Postdi STEFANO TRENTINI » 14/02/13 08:30

http://www.filedropper.com/copiabuona
Ciao grazie di tutto ! <si come ti dicevo mi saro' spiegato male all' inizio , comunque il problema secondo me e' la partenza
es se io parto con numero 1 o 9 o 16 ecc mi dovrebbe partire con consecutivo da 11 ( invece parte con 1 )
se io parto con numero 6 o 8 o 26 deve partire con consecutivo a 1 ( e questo mi sembra giusto )
Ciao !!!
STEFANO TRENTINI
Utente Junior
 
Post: 49
Iscritto il: 29/11/12 10:29

Re: excel casella vuota

Postdi Flash30005 » 14/02/13 12:38

Nella mdifica non avevo fatto tutto ciò che andava fatto
Codice: Seleziona tutto
Sub CompilaF3()
Set Ws1 = Worksheets("DNDRPNPR")
Set ws3 = Worksheets("Consecutivi")
ws3.Columns(2).ClearContents
UR1 = Ws1.Range("B" & Rows.Count).End(xlUp).Row
MyS1 = Array(0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 37)
For RR1 = 1 To UR1
If UR1 = 1 And Ws1.Range("B1").Value = "" Then Exit Sub
NV1 = MyS1(Ws1.Range("B" & RR1).Value)
If NV1 = 37 Then
CS1 = 10
CS2 = 0
End If
    If NV1 = 0 Then
    CS1 = 10
        CS2 = CS2 + 1
    Else
        CS2 = 0
        CS1 = CS1 + 1
    End If
    MioC = CS2
    If NV1 > 0 Then MioC = CS1
    ws3.Cells(RR1, 2).Value = MioC
Next RR1
End Sub


Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: excel casella vuota

Postdi STEFANO TRENTINI » 14/02/13 16:31

Grazie ! ci siamo quasi ... Non ti arrabbiare ! nel b1 foglio 3 parte sempre con 1 qualsialsi numero metta in b 1 foglio 1 anziché mettere 11 quando e la serie del 1-3-9 eccc ..
poi lo zero mi sembra che sia tornato come prima che venga conteggiato come la serie e non nullo come modifica che mi avevi fatto successivamente.
Grazie ciao ..
STEFANO TRENTINI
Utente Junior
 
Post: 49
Iscritto il: 29/11/12 10:29

Re: excel casella vuota

Postdi Flash30005 » 14/02/13 20:51

Ok,
allora sostituisci la macro precedente con questo codice (copialo interamente e inseriscilo in un modulo vuoto)
Codice: Seleziona tutto
Option Base 1
Sub CompilaF3()
Set Ws1 = Worksheets("DNDRPNPR")
Set ws3 = Worksheets("Consecutivi")
ws3.Columns(2).ClearContents
Dim NV1 As Variant
CS1 = 10
CS2 = 0
UR1 = Ws1.Range("B" & Rows.Count).End(xlUp).Row
If UR1 = 1 And Ws1.Range("B1").Value = "" Then Exit Sub
MyS1 = Array("1", "0", "1", "0", "1", "0", "1", "0", "1", "0", "0", "1", "0", "1", "0", "1", "0", "1", "1", "0", "1", "0", "1", "0", "1", "0", "1", "0", "0", "1", "0", "1", "0", "1", "0", "1", "36")
For RR1 = 1 To UR1
NV1 = MyS1(Ws1.Range("B" & RR1).Value)
If NV1 = 36 Then
CS1 = 10
CS2 = 0
End If
    If NV1 = "0" Then
    CS1 = 10
        CS2 = CS2 + 1
    Else
        CS2 = 0
        CS1 = CS1 + 1
    End If
    MioC = CS2
    If NV1 > 0 Then MioC = CS1
    ws3.Cells(RR1, 2).Value = MioC
Next RR1
End Sub


Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: excel casella vuota

Postdi STEFANO TRENTINI » 15/02/13 09:35

Ciao grazie .. sembra che sia ottimo a parte un particolare : che l'uscita del 37 mi riporta in B1 foglio 3 ( 11 ) invece di darmi nullo come in un passaggio che mi avevi fatto ! Comunque e quasi la perfezione Grazie THE BEST .
STEFANO TRENTINI
Utente Junior
 
Post: 49
Iscritto il: 29/11/12 10:29

Re: excel casella vuota

Postdi Flash30005 » 15/02/13 12:37

Cosa intendi per nullo?
deve saltare, lasciare una cella vuota, inserire 0 (zero) o cosa?
Questa era una domanda che ti avevo fatto, se il 37 doveva essere considerato come prima serie o seconda serie perché saltare il dato avrebbe disallineato le righe tra il foglio1 e il foglio3.

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: excel casella vuota

Postdi STEFANO TRENTINI » 15/02/13 16:08

Ciao , si scusa . Allora mettiamo che scriva zero zero zero se uscisse 37-37-37
Grazie ancora !
STEFANO TRENTINI
Utente Junior
 
Post: 49
Iscritto il: 29/11/12 10:29

Re: excel casella vuota

Postdi Flash30005 » 15/02/13 21:06

Sostituisci l'intero codice (ho corretto un errore)
Codice: Seleziona tutto
Option Base 1
Sub CompilaF3()
Set Ws1 = Worksheets("DNDRPNPR")
Set ws3 = Worksheets("Consecutivi")
ws3.Columns(2).ClearContents
Dim NV1 As Variant
CS1 = 10
CS2 = 0
UR1 = Ws1.Range("B" & Rows.Count).End(xlUp).Row
If UR1 = 1 And Ws1.Range("B1").Value = "" Then Exit Sub
MyS1 = Array("1", "0", "1", "0", "1", "0", "1", "0", "1", "0", "0", "1", "0", "1", "0", "1", "0", "1", "1", "0", "1", "0", "1", "0", "1", "0", "1", "0", "0", "1", "0", "1", "0", "1", "0", "1", "37")
For RR1 = 1 To UR1
NV1 = MyS1(Ws1.Range("B" & RR1).Value)
If NV1 = 37 Then
CS1 = 10
CS2 = 0
ws3.Cells(RR1, 2).Value = 0
GoTo SaltaR
End If
    If NV1 = "0" Then
    CS1 = 10
        CS2 = CS2 + 1
    Else
        CS2 = 0
        CS1 = CS1 + 1
    End If
    MioC = CS2
    If NV1 > 0 Then MioC = CS1
    ws3.Cells(RR1, 2).Value = MioC
SaltaR:
Next RR1
End Sub


Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: excel casella vuota

Postdi STEFANO TRENTINI » 16/02/13 07:36

Perfetto mi sembra che ci siamo .... Ringrazio molto della collaborazione ...
STEFANO TRENTINI
Utente Junior
 
Post: 49
Iscritto il: 29/11/12 10:29

Re: excel casella vuota

Postdi STEFANO TRENTINI » 18/02/13 10:18

Ciao , scusa se disturbo ancora ... ho sempre il problema con il numero 37 in foglio 1 b1 , in foglio 3 b1 mi riporta lo zero , fin qua OK , il problema e che mi calcola come una uscita in foglio 3 d2 , non si puo dire che il 37 non mi conti niente ? Grazie
STEFANO TRENTINI
Utente Junior
 
Post: 49
Iscritto il: 29/11/12 10:29

Re: excel casella vuota

Postdi Flash30005 » 18/02/13 12:26

In che senso ti calcola come una uscita e vorresti che non contasse nulla
Quando esce il 37 avrai lo 0 (zero) nella riga di appartenenza e vengono azzerati i contatori sia della prima serie sia della seconda serie quindi se dovesse uscire 1 dopo il 37 avrai 11
e se dovesse uscire 2 dopo il 37 avrai 1
ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: excel casella vuota

Postdi STEFANO TRENTINI » 19/02/13 09:19

OK GRAZIEEEE !!!!
STEFANO TRENTINI
Utente Junior
 
Post: 49
Iscritto il: 29/11/12 10:29

Re: excel casella vuota

Postdi Flash30005 » 19/02/13 14:57

Scrivere in maiuscolo equivale a urlare
i ringraziamenti vanno bene anche a "voce bassa" :)
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: excel casella vuota

Postdi STEFANO TRENTINI » 19/02/13 15:39

si e vero ma ogni tanto per esigenze lavorative ho la maiuscola inserita ! :-(
STEFANO TRENTINI
Utente Junior
 
Post: 49
Iscritto il: 29/11/12 10:29

PrecedenteProssimo

Torna a Applicazioni Office Windows


Topic correlati a "excel casella vuota":


Chi c’è in linea

Visitano il forum: Nessuno e 60 ospiti