| | Post: 88 | Registrato il: 03/04/2021
| Età: 24 | Utente Junior | 2019 | | OFFLINE |
|
18/10/2021 22:15 | |
Salve a tutti spero di potermi spiegare al meglio....
In programma lavanderia ho la macro eliminare che praticamente mi elimina in programma lavanderia e sia in tabla de datos la riga corrispondente però in tabla de datos nella colonna A1 ho la formula....che vorrei non fosse cancellata quando gli do cancella...perché se no le formule sottostanti alla formula non mi funzionano più....e possibile cambiare la macro in maniera che cancelli la riga ma no la formula?
Se no in alternativa è possibile spostare la formula che è in tabla de datos A1 in un altro foglio in maniera che quando gli do cancella mi elimina solo la riga in tabla de datos?
Ho allegato il file [Modificato da Mirko Dinelli 18/10/2021 22:16] |
|
| | Post: 1.154 | Registrato il: 16/08/2015
| Città: CORDENONS | Età: 67 | Utente Veteran | Excel 2016-32bit Win11 | | OFFLINE |
|
19/10/2021 09:06 | |
Cambia questa parte della macro e vedi se ho capito bene la tua richiesta, così: '...
With MiDato
'ActiveCell.EntireRow.Delete 'elimina riga intera
Range(Cells(ActiveCell.Row, "B"), Cells(ActiveCell.Row, "K")).ClearContents 'elimina parziale
End With
'...
______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto) |
| | Post: 88 | Registrato il: 03/04/2021
| Età: 24 | Utente Junior | 2019 | | OFFLINE |
|
19/10/2021 13:08 | |
rollis13, 19/10/2021 09:06:
Cambia questa parte della macro e vedi se ho capito bene la tua richiesta, così: '...
With MiDato
'ActiveCell.EntireRow.Delete 'elimina riga intera
Range(Cells(ActiveCell.Row, "B"), Cells(ActiveCell.Row, "K")).ClearContents 'elimina parziale
End With
'...
Questa è la parte finale della macro vero? Se non mi sbaglio da ignorante in materia gli hai detto di cancellare solo le celle aperte.....e penso che funzioni...stasera la provo e ti dico...ora ti volevo fare un altra domanda è possibile che quando premo la macro cancella mi cancelli tutti i piumoni con lo stesso numero?
Se ha visto il file che ho messo quando io cerco il numero del piumone mi dice che c'è ne uno nella fila 1 uno nella fila 10 uno nella fila 12 ecc... perché ora quando gli do cancella se c'è ne sono più di un piumone lui me ne cancella solo uno quindi se c'è ne sono 10 di piumoni gli altri nove mi rimangono in giacenza in tabla de datos...
Spero tu mi abbia capito e grazie mille per aiutarmi |
| | Post: 89 | Registrato il: 03/04/2021
| Età: 24 | Utente Junior | 2019 | | OFFLINE |
|
19/10/2021 20:12 | |
rollis13, 19/10/2021 09:06:
Cambia questa parte della macro e vedi se ho capito bene la tua richiesta, così: '...
With MiDato
'ActiveCell.EntireRow.Delete 'elimina riga intera
Range(Cells(ActiveCell.Row, "B"), Cells(ActiveCell.Row, "K")).ClearContents 'elimina parziale
End With
'...
Ho la metto nel posto sbagliato o non funziona....se vuoi la puoi provare nel file che ho messo poi lo rimetti se funziona così lo scarico [Modificato da Mirko Dinelli 19/10/2021 20:14] |
| | Post: 90 | Registrato il: 03/04/2021
| Età: 24 | Utente Junior | 2019 | | OFFLINE |
|
19/10/2021 20:56 | |
Lho riprovata però così mi cancella tutto in tabla de datos....se vuoi provala sul mio file... |
| | Post: 91 | Registrato il: 03/04/2021
| Età: 24 | Utente Junior | 2019 | | OFFLINE |
|
19/10/2021 21:22 | |
=SUM(AND('Programa Lavanderia'!$B$9='Tabla de Datos'!B4,'Programa Lavanderia'!$C$9='Tabla de Datos'!C4),A3)
E possibile mettere questa formula che è in tabla de datos nelle celle da A4 a A2700 in un altro foglio di lavoro così quando clikko su cancella mi cancella normalmente però non mi cancella più la formula? |
| | Post: 1.155 | Registrato il: 16/08/2015
| Città: CORDENONS | Età: 67 | Utente Veteran | Excel 2016-32bit Win11 | | OFFLINE |
|
19/10/2021 22:44 | |
Vedi che prima di dare suggerimenti ne verifico sempre la funzionalità. Nel file che hai allegato non trovo traccia di quanto ti ho suggerito pertanto non sono in grado di dirti dove sbagli.
In ogni caso, considerato che hai anche chiesto di eliminare tutte le ricorrenze del codice ricercato sostituisci l'intera macro con questa mia versione: Option Explicit
Sub cancellare()
'
'FGS-COMPUTACION
'
Dim MiDato As Range
Dim ur As Long
Dim cella As Range
Application.ScreenUpdating = False
Set MiDato = Range("B9")
With Sheets("Tabla de Datos")
ur = .Range("B" & .Rows.Count).End(xlUp).Row
Do
Set cella = .Range("B4:B" & ur).Find(What:=MiDato, LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
If Not cella Is Nothing Then
.Range("B" & cella.Row & ":K" & cella.Row).ClearContents
End If
Loop Until cella Is Nothing
End With
Range("B9").Select
Application.ScreenUpdating = True
End Sub
______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto) |
| | Post: 92 | Registrato il: 03/04/2021
| Età: 24 | Utente Junior | 2019 | | OFFLINE |
|
19/10/2021 22:55 | |
rollis13, 19/10/2021 22:44:
Vedi che prima di dare suggerimenti ne verifico sempre la funzionalità. Nel file che hai allegato non trovo traccia di quanto ti ho suggerito pertanto non sono in grado di dirti dove sbagli.
In ogni caso, considerato che hai anche chiesto di eliminare tutte le ricorrenze del codice ricercato sostituisci l'intera macro con questa mia versione: Option Explicit
Sub cancellare()
'
'FGS-COMPUTACION
'
Dim MiDato As Range
Dim ur As Long
Dim cella As Range
Application.ScreenUpdating = False
Set MiDato = Range("B9")
With Sheets("Tabla de Datos")
ur = .Range("B" & .Rows.Count).End(xlUp).Row
Do
Set cella = .Range("B4:B" & ur).Find(What:=MiDato, LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
If Not cella Is Nothing Then
.Range("B" & cella.Row & ":K" & cella.Row).ClearContents
End If
Loop Until cella Is Nothing
End With
Range("B9").Select
Application.ScreenUpdating = True
End Sub
Mi da quel messaggio li errore di sintassi poi mi evidenzia quella riga li |
| | Post: 93 | Registrato il: 03/04/2021
| Età: 24 | Utente Junior | 2019 | | OFFLINE |
|
19/10/2021 22:58 | |
Mirko Dinelli (g_112844723855731154506), 19/10/2021 22:55:
Mi da quel messaggio li errore di sintassi poi mi evidenzia quella riga li
|
| | Post: 94 | Registrato il: 03/04/2021
| Età: 24 | Utente Junior | 2019 | | OFFLINE |
|
19/10/2021 23:01 | |
Potresti allegarmi il file magari nel copia incolla mi sbaglia qualcosa bho...non so che dirti....scusa per prima ma non volevo darti alternative ne consigli anche perché ci capisco ben poco....però mi affascina excel |
| | Post: 1.156 | Registrato il: 16/08/2015
| Città: CORDENONS | Età: 67 | Utente Veteran | Excel 2016-32bit Win11 | | OFFLINE |
|
19/10/2021 23:35 | |
L'errore è generato dal copia/incolla dal Forum. Ti basta eliminare tutti i caratteri (invisibili) aggiunti; solitamente li trovi all'inizio della seconda riga, quella segnalata in rosso. Cancella tutto il vuoto davanti alle due righe per andare (quasi) sul sicuro. [Modificato da rollis13 19/10/2021 23:36]
______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto) |
| | Post: 95 | Registrato il: 03/04/2021
| Età: 24 | Utente Junior | 2019 | | OFFLINE |
|
20/10/2021 00:15 | |
rollis13, 19/10/2021 23:35:
L'errore è generato dal copia/incolla dal Forum. Ti basta eliminare tutti i caratteri (invisibili) aggiunti; solitamente li trovi all'inizio della seconda riga, quella segnalata in rosso. Cancella tutto il vuoto davanti alle due righe per andare (quasi) sul sicuro.
Ci provo però in alternativa c'è la faresti a mettermi il file qui così lo scarico |
| | Post: 1.157 | Registrato il: 16/08/2015
| Città: CORDENONS | Età: 67 | Utente Veteran | Excel 2016-32bit Win11 | | OFFLINE |
|
20/10/2021 08:14 | |
No, mi dispiace, ma ho una vecchia linea internet a consumo e caricare file mi costa una 'botta'.
______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto) |
| | Post: 96 | Registrato il: 03/04/2021
| Età: 24 | Utente Junior | 2019 | | OFFLINE |
|
21/10/2021 17:37 | |
rollis13, 20/10/2021 08:14:
No, mi dispiace, ma ho una vecchia linea internet a consumo e caricare file mi costa una 'botta'.
Lho ripulita e ora funziona grazie mille
Ora volevo chiederti un altra cosa....
Quando gli do cancella....in tabla de datos le celle sono vuote dove c'era il numero del piumone e il numero della fila....ed era quello che ti ho chiesto...
Ora E possibile che quelle celle si eliminano invece che rimanere vuote? [Modificato da Mirko Dinelli 21/10/2021 18:33] |
| | Post: 1.158 | Registrato il: 16/08/2015
| Città: CORDENONS | Età: 67 | Utente Veteran | Excel 2016-32bit Win11 | | OFFLINE |
|
21/10/2021 19:28 | |
Vediamo se con queste modifiche alle macro si ottiene il risultato che hai chiesto: Option Explicit
Sub cancellare()
'
'FGS-COMPUTACION
'
Dim MiDato As Range
Dim ur As Long
Dim riga As Long
Dim cella As Range
Application.ScreenUpdating = False
Set MiDato = Range("B9")
If MiDato = "" Then
MsgBox "Devi indicare un PIUMONE Nº"
Exit Sub
End If
With Sheets("Tabla de Datos")
ur = .Range("B" & .Rows.Count).End(xlUp).Row
riga = 4
Do
Set cella = .Range("B4:B" & ur).Find(What:=MiDato, LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
If Not cella Is Nothing Then
.Range("B" & cella.Row & ":K" & cella.Row).ClearContents
End If
riga = riga + 1
Loop Until (cella Is Nothing And riga > ur)
ur = .Range("A" & .Rows.Count).End(xlUp).Row
.Sort.SortFields.Clear
.Sort.SortFields.Add2 Key:=.Range("B4:B" & ur), SortOn:=xlSortOnValues, Order:=xlAscending
.Sort.SortFields.Add2 Key:=.Range("C4:C" & ur), SortOn:=xlSortOnValues, Order:=xlDescending
With .Sort
.SetRange Range("B4:K" & ur)
.Header = xlGuess
.Apply
End With
End With
Range("B9").Select
Application.ScreenUpdating = True
MsgBox "Fatto, cancellato PIUMONE Nº " & MiDato
End Sub [Modificato da rollis13 21/10/2021 19:41]
______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto) |
| | Post: 97 | Registrato il: 03/04/2021
| Età: 24 | Utente Junior | 2019 | | OFFLINE |
|
21/10/2021 20:12 | |
rollis13, 21/10/2021 19:28:
Vediamo se con queste modifiche alle macro si ottiene il risultato che hai chiesto: Option Explicit
Sub cancellare()
'
'FGS-COMPUTACION
'
Dim MiDato As Range
Dim ur As Long
Dim riga As Long
Dim cella As Range
Application.ScreenUpdating = False
Set MiDato = Range("B9")
If MiDato = "" Then
MsgBox "Devi indicare un PIUMONE Nº"
Exit Sub
End If
With Sheets("Tabla de Datos")
ur = .Range("B" & .Rows.Count).End(xlUp).Row
riga = 4
Do
Set cella = .Range("B4:B" & ur).Find(What:=MiDato, LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
If Not cella Is Nothing Then
.Range("B" & cella.Row & ":K" & cella.Row).ClearContents
End If
riga = riga + 1
Loop Until (cella Is Nothing And riga > ur)
ur = .Range("A" & .Rows.Count).End(xlUp).Row
.Sort.SortFields.Clear
.Sort.SortFields.Add2 Key:=.Range("B4:B" & ur), SortOn:=xlSortOnValues, Order:=xlAscending
.Sort.SortFields.Add2 Key:=.Range("C4:C" & ur), SortOn:=xlSortOnValues, Order:=xlDescending
With .Sort
.SetRange Range("B4:K" & ur)
.Header = xlGuess
.Apply
End With
End With
Range("B9").Select
Application.ScreenUpdating = True
MsgBox "Fatto, cancellato PIUMONE Nº " & MiDato
End Sub
Dove hai scritto questo (Devi indicare un PIUMONE Nº) ci devo mettere io un piumone a caso?
Anche qui (Fatto, cancellato PIUMONE Nº)
Ci devo scrivere un piumone a caso?
Fammi capire |
| | Post: 1.159 | Registrato il: 16/08/2015
| Città: CORDENONS | Età: 67 | Utente Veteran | Excel 2016-32bit Win11 | | OFFLINE |
|
21/10/2021 21:49 | |
Quello che vedi nella macro è la diagnostica a video che comparirà in caso di errore e/o alla fine della cancellazione; nella macro non devi fare niente, al massimo puoi cambiare il testo tra le doppie-virgolette nel caso non ti piaccia quanto ho proposto come testo.
______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto) |
| | Post: 98 | Registrato il: 03/04/2021
| Età: 24 | Utente Junior | 2019 | | OFFLINE |
|
21/10/2021 22:43 | |
rollis13, 21/10/2021 21:49:
Quello che vedi nella macro è la diagnostica a video che comparirà in caso di errore e/o alla fine della cancellazione; nella macro non devi fare niente, al massimo puoi cambiare il testo tra le doppie-virgolette nel caso non ti piaccia quanto ho proposto come testo.
Sei un genio grazie mille davvero...come mi piacerebbe vedere un video dove fanno queste macro così.....tu lhai registrata questa macro...se conosci qualche video dove spiegano come farle mi piacerebbe vederle |
| | Post: 1.160 | Registrato il: 16/08/2015
| Città: CORDENONS | Età: 67 | Utente Veteran | Excel 2016-32bit Win11 | | OFFLINE |
|
21/10/2021 22:52 | |
Veramente ho scritto il codice parola per parola aggiungendo o adattando quanto avevi già proposto.
Per i video non saprei, sicuramente in rete ci sono, personalmente ho iniziato tanti anni fa leggendo e facendo pratica su libri spessi 3 dita e facendo le ore piccole fino a quando non ho imparato la sinstassi e l'uso delle funzioni; magari sono stato anche facilitato essendomi fatto il mazzo a scuola per imparare bene l'inglese.
______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto) |
| | Post: 99 | Registrato il: 03/04/2021
| Età: 24 | Utente Junior | 2019 | | OFFLINE |
|
22/10/2021 14:23 | |
rollis13, 21/10/2021 22:52:
Veramente ho scritto il codice parola per parola aggiungendo o adattando quanto avevi già proposto.
Per i video non saprei, sicuramente in rete ci sono, personalmente ho iniziato tanti anni fa leggendo e facendo pratica su libri spessi 3 dita e facendo le ore piccole fino a quando non ho imparato la sinstassi e l'uso delle funzioni; magari sono stato anche facilitato essendomi fatto il mazzo a scuola per imparare bene l'inglese.
Come mai avvolte da questo messaggio? |
| | Post: 1.161 | Registrato il: 16/08/2015
| Città: CORDENONS | Età: 67 | Utente Veteran | Excel 2016-32bit Win11 | | OFFLINE |
|
22/10/2021 15:07 | |
L'immagine del messaggio di errore non serve a niente, serve si il codice del messaggio ma più ancora sapere in quale riga del codice si è fermata la macro, ovvero, basta cliccare Debug e verificare quale riga è evidenziata in giallo e sarebbe molto utile anche il valore delle variabili attive in quella riga (basta passarci sopra il mouse).
______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto) |
|
|