Pagina precedente | 1 | Pagina successiva
Stampa | Notifica email    
Autore

Aiuto formula e macro

Ultimo Aggiornamento: 22/10/2021 15:07
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)
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Cerca nel forum
Tag discussione
Discussioni Simili   [vedi tutte]
aiuto formula (3 messaggi, agg.: 05/11/2019 12:38)
Aiuto Formula (27 messaggi, agg.: 06/01/2021 21:31)
aiuto per formula complessa cerca vert con più condizioni (19 messaggi, agg.: 11/02/2021 11:48)
Chiedo cortesemente aiuto per formula (6 messaggi, agg.: 19/01/2023 21:54)
aiuto x formula (21 messaggi, agg.: 28/02/2017 15:01)
aiuto formula se (6 messaggi, agg.: 28/02/2017 13:42)
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 07:53. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com