| | Post: 21 | Registrato il: 18/08/2019
| Età: 19 | Utente Junior | un saluto | | OFFLINE | |
|
13/11/2021 16:26 | |
Ciao,
nel foglio allegato inserire la parola "aggiornamento" nella colonna F se in colonna G c'è zero.
Allego esempio.
In colonna G c'è nel foglio originale una formula che non ho allegato
grazie
frank |
|
| | Post: 2.493 | Registrato il: 10/10/2013
| Città: VICENZA | Età: 69 | Utente Veteran | 365 | | OFFLINE |
|
13/11/2021 16:40 | |
ciao
non conoscendo i dati di G9
direi
=SE(E(G9=0;VAL.NUMERO(G9));"Aggiornamento";"") |
| | Post: 21 | Registrato il: 18/08/2019
| Età: 19 | Utente Junior | un saluto | | OFFLINE | |
|
13/11/2021 17:23 | |
Grazie federico
La formula è o.k. , purtroppo nella colonna F si inserisce una determinata parola con una macro.
Quindi penso che la soluzione sia un'altra macro selecion_change che quando è zero in G si inserisce in F "aggiornamento"
frank |
| | Post: 2.494 | Registrato il: 10/10/2013
| Città: VICENZA | Età: 69 | Utente Veteran | 365 | | OFFLINE |
|
13/11/2021 18:19 | |
ciao
perchè?
le formule leggono i valori anche se sono
scritti con macro.
al limite scrivi la macro che la modifichiamo
facendo in modo che se il risultato è 0
in G vada ascrivere la parola che vuoi [Modificato da federico460 13/11/2021 18:20] |
| | Post: 22 | Registrato il: 18/08/2019
| Età: 19 | Utente Junior | un saluto | | OFFLINE | |
|
13/11/2021 19:34 | |
Questa macro inserisce le formule in colonna
Option Explicit
Sub Macro5()
Range("F9:F28").Formula = "=IF(AND(RC[1]=0,ISNUMBER(RC[1])),""Aggiornamento"","""")"
End Sub
ma non è questo.
Ad ogni inserimento di zero in colonna in colonna G deve inserirsi "aggiornamento" senza formule in colonna F |
| | Post: 2.495 | Registrato il: 10/10/2013
| Città: VICENZA | Età: 69 | Utente Veteran | 365 | | OFFLINE |
|
13/11/2021 19:43 | |
ciao
questa è la mia formula passata in macro
a me interessa quella che hai in colonna G
da li cin un semplice IF
si può scrivere anche in colonna F [Modificato da federico460 13/11/2021 19:44] |
| | Post: 2.496 | Registrato il: 10/10/2013
| Città: VICENZA | Età: 69 | Utente Veteran | 365 | | OFFLINE |
|
13/11/2021 19:59 | |
ciao
un sistema può essere
Public Sub sostituisci()
Dim Lista As Range
Set Lista = Range(Cells(9, 7), Cells(9, 7).End(xlDown))
For Each CL In Lista
If CL = 0 Then
CL.Offset(0, -1) = "Aggiornamento"
End If
Next
End Sub
ma le celle non devono essere vuote |
| | Post: 23 | Registrato il: 18/08/2019
| Età: 19 | Utente Junior | un saluto | | OFFLINE | |
|
13/11/2021 20:43 | |
Così si inchioda tutto
Private Sub Worksheet_Change(ByVal target As Range)
'Public Sub sostituisci()
Dim Lista As Range
Dim cl As Variant
Set Lista = Range(Cells(9, 7), Cells(9, 7).End(xlDown))
For Each cl In Lista
If cl = 0 Then
cl.Offset(0, -1) = "Aggiornamento"
End If
Next
End Sub
|
| | Post: 2.497 | Registrato il: 10/10/2013
| Città: VICENZA | Età: 69 | Utente Veteran | 365 | | OFFLINE |
|
13/11/2021 21:01 | |
ciao
a me non si inchioda niente.
ti ho chiesto la macro con cui popoli la colonna G
se non metti quella andiamo per tentativi |
| | Post: 24 | Registrato il: 18/08/2019
| Età: 19 | Utente Junior | un saluto | | OFFLINE | |
|
13/11/2021 21:57 | |
Anche senza altre macro qui si inchioda
Qui mi dà spazio dello stack esaurito
If cl = 0 Then
cl.Offset(0, -1) = "Aggiornamento"
End If '<<<<<<<<<
Next [Modificato da franc.ciccio 13/11/2021 22:05] |
| | Post: 2.498 | Registrato il: 10/10/2013
| Città: VICENZA | Età: 69 | Utente Veteran | 365 | | OFFLINE |
|
13/11/2021 22:09 | |
ciao
scrivi sulla colonna G
NB non funzione se in g il risultato deriva da formula
oppure puoi usare
Sub prova()
Dim i As Long, ur As Long
ur = Cells(Rows.Count, 7).End(xlUp).Row
For i = 9 To ur
If Cells(i, 7) = 0 And Cells(i, 7) <> "" Then
Cells(i, 6) = "Aggiornamento"
End If
Next i
End Sub
[Modificato da federico460 13/11/2021 22:20] |
| | Post: 25 | Registrato il: 18/08/2019
| Età: 19 | Utente Junior | un saluto | | OFFLINE | |
|
13/11/2021 22:38 | |
Grazie fede.
La macro funziona, ma purtroppo nel file originale c'è una formula nella colonna G
= SE(H10;H10-H9;"")
e quindi come hai detto non funziona.
Non mi lascia caricare xlsm ma solo xlsx-xls.
Il file ora è con macro xls
|
| | Post: 2.499 | Registrato il: 10/10/2013
| Città: VICENZA | Età: 69 | Utente Veteran | 365 | | OFFLINE |
|
13/11/2021 23:08 | |
in H
li scrivi a mano?
scrivi così
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("G9:G100").Precedents) Is Nothing Then
Call sostituisci
End If
End Sub [Modificato da federico460 13/11/2021 23:11] |
| | Post: 6.595 | Registrato il: 14/11/2004
| Utente Master | Office 2019 | | OFFLINE |
|
14/11/2021 08:41 | |
Ciao Questa macro dovrebbe funzionare
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r, c, d
If Not Intersect(Target, Range("G9:G100")) Is Nothing Then
r = Target.Row: c = Target.Column: d = Target
If d = 0 Then Cells(r, c - 1) = "Aggiornamento"
End If
End Sub
però dici che lo 0zero in colonna G proviene da una formula, mi scrivi la formula che si trova in colonna "G", perche al limite lo "Change" dell'evento deve controllare cosa modifica la formula.
in quanto la variazione del valore determinato da una formula non scatena l'evento Change per inserire "Aggiornamento"
Ciao By Sal (8-D
P.S. rileggendo i Post vedo che la cella in G deriva ancora da un altra formula in colonna "H", a questo punto credo che basti usare solo "Change" senza riferimento come ti ha suggerito Federico che saluto, con la macro "Sostituisci", in questo modo qualsiasi modifica venga fatta sul foglio va a controllare sempre se nella colonna "G" ci sia qualche 0zero.
tranne se le formule per il cambiamento della colonna "G" non siano collegate alla modifica di un valore su un altro foglio, allora l'evento "Change" non dovrà partire dal foglio della colonna "G" ma dal modulo "Generale" "Thisworkbook" oppure "Questo foglio di lavoro".
bye bye
[Modificato da by sal 14/11/2021 08:53] se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui |
| | Post: 2.500 | Registrato il: 10/10/2013
| Città: VICENZA | Età: 69 | Utente Veteran | 365 | | OFFLINE |
|
14/11/2021 10:34 | |
ciao
by sal
io ho usato ...precedents
nel caso del file in questione
se inserisce il dato in H
si attiva la macro.
Ho usato Call per non dover gestire gli offset()
|
|
|