| | Post: 8 | Registrato il: 11/03/2019
| Città: MACERATA | Età: 51 | Utente Junior | 2016 | | OFFLINE | |
|
11/03/2019 16:52 | |
Nel file in allegato se inserisco un riga nel foglio Elenco (es. una riga vuota tra u e v per mettere w) non la prende in automatico nel foglio Prezzo. Avete dei suggerimenti in merito?
Grazie. |
|
| | Post: 4.129 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Master | Excel 365 | | ONLINE |
|
11/03/2019 18:52 | |
Carlitos19
Se due fogli son "collegati" tra loro con delle semplici formule non significa che una qualsiasi modifica di struttura del primo si ripercuota sul secondo.
Solo per fare un esempio; con questa macro se si inserisce una riga sul foglio1 questa viene aggiunta nello stesso posto sul foglio2
vb Private Sub Worksheet_Change(ByVal Target As Range)
Sheets("Prezzo").Rows(ActiveCell.Row & ":" & ActiveCell.Row).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End Sub
Ma se sul primo foglio la riga anzichè inserirla la elimini sul secondo foglio viene comunque aggiunta e non eliminata.
[Modificato da alfrimpa 11/03/2019 18:53]
Alfredo |
| | Post: 666 | Registrato il: 24/06/2015
| Città: CATANIA | Età: 80 | Utente Senior | Excel2019 | | OFFLINE |
|
11/03/2019 18:57 | |
Ciao
Per fare quello che vuoi penso bisogna ricorrere al VBA.
Comunque una cosa artigianale potrebbe essere questa:
nel Foglio Elenco seleziona da A3 fino A100 e denominalo Sostanze (dopo aver selezionato l'intervallo vai sopra, a sinistra della barra della formula e scrivi Sostanze. Hai creato un nome definito)
Vai nel Foglio Prezzo e in A3 scrivi =Sostanze e vedrai che spunta lo stesso valore di A3 del Foglio Elenco. Seleziona la cella dove hai scritto e ricopiala in basso fino a 100. Ti spunteranno i valori relativi dell'altro Foglio. Per le celle che non contengono nulla di spunta uno 0, ma la cosa si può ovviare scrivendo =SE(sostanze<>"";sostanze;"")
Ribadisco: è meglio ricorrere a VBA.
Ciao,
Mario |
| | Post: 9 | Registrato il: 11/03/2019
| Città: MACERATA | Età: 51 | Utente Junior | 2016 | | OFFLINE | |
|
12/03/2019 15:28 | |
alfrimpa, 11/03/2019 18.52:
Carlitos19
Se due fogli son "collegati" tra loro con delle semplici formule non significa che una qualsiasi modifica di struttura del primo si ripercuota sul secondo.
Solo per fare un esempio; con questa macro se si inserisce una riga sul foglio1 questa viene aggiunta nello stesso posto sul foglio2
vb Private Sub Worksheet_Change(ByVal Target As Range)
Sheets("Prezzo").Rows(ActiveCell.Row & ":" & ActiveCell.Row).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End Sub
Ma se sul primo foglio la riga anzichè inserirla la elimini sul secondo foglio viene comunque aggiunta e non eliminata.
Non funziona Alfredo.
|
| | Post: 4.132 | Registrato il: 21/06/2013
| Città: NAPOLI | Età: 70 | Utente Master | Excel 365 | | ONLINE |
|
12/03/2019 15:39 | |
Cosa significa non funziona?
Non succede niente o dà errore?
Prima di allegarla la macro ovviamente l'ho provata ed a me ha funzionato.
Però sono del parere che le strutture dei fogli vadano decise a priori ed inserire/eliminare righe o colonne in corsa non è mai una buona cosa.
Hai provato il suggerimento di Marius44?
Alfredo |
| | Post: 10 | Registrato il: 11/03/2019
| Città: MACERATA | Età: 51 | Utente Junior | 2016 | | OFFLINE | |
|
12/03/2019 15:58 | |
Non succede niente. 🤗 |
| | Post: 11 | Registrato il: 11/03/2019
| Città: MACERATA | Età: 51 | Utente Junior | 2016 | | OFFLINE | |
|
12/03/2019 16:05 | |
Marius44, 11/03/2019 18.57:
Ciao
Per fare quello che vuoi penso bisogna ricorrere al VBA.
Comunque una cosa artigianale potrebbe essere questa:
nel Foglio Elenco seleziona da A3 fino A100 e denominalo Sostanze (dopo aver selezionato l'intervallo vai sopra, a sinistra della barra della formula e scrivi Sostanze. Hai creato un nome definito)
Vai nel Foglio Prezzo e in A3 scrivi =Sostanze e vedrai che spunta lo stesso valore di A3 del Foglio Elenco. Seleziona la cella dove hai scritto e ricopiala in basso fino a 100. Ti spunteranno i valori relativi dell'altro Foglio. Per le celle che non contengono nulla di spunta uno 0, ma la cosa si può ovviare scrivendo =SE(sostanze<>"";sostanze;"")
Ribadisco: è meglio ricorrere a VBA.
Ciao,
Mario
Ciao Mario, dove inserisco la funzione SE?
|
| | Post: 667 | Registrato il: 24/06/2015
| Città: CATANIA | Età: 80 | Utente Senior | Excel2019 | | OFFLINE |
|
12/03/2019 16:34 | |
Ciao
Allora non hai letto cosa ti ho scritto?
Non devi "solo" inserire la formula ma, prima, fare tutto il resto.
Ciao,
Mario |
| | Post: 12 | Registrato il: 11/03/2019
| Città: MACERATA | Età: 51 | Utente Junior | 2016 | | OFFLINE | |
|
12/03/2019 17:52 | |
ho "LETTO" quello che hai scritto! infatti funziona, intendevo la formula per non avere lo zero...
|
| | Post: 668 | Registrato il: 24/06/2015
| Città: CATANIA | Età: 80 | Utente Senior | Excel2019 | | OFFLINE |
|
12/03/2019 18:24 | |
Ciao
credevo non avessi letto!!!!
Allora, se quanto suggerito funziona non devi fare altro che inserire, al posto di
=sostanze"
la formula
=SE(sostanze<>"";sostanze;"")
Ciao,
Mario |
| | Post: 14 | Registrato il: 11/03/2019
| Città: MACERATA | Età: 51 | Utente Junior | 2016 | | OFFLINE | |
|
14/03/2019 15:26 | |
Grazie Mario! |
|
|