Condividi:        

[EXCEL] Macro per eliminazione righe

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

[EXCEL] Macro per eliminazione righe

Postdi Dylan666 » 16/03/12 15:27

Salve a tutti e grazie per l'auto che mi darete!
Devo "normalizzare" un report che esce da un software eliminando alcune celle che sono utili per l' "impaginazione grafica" dei fogli ma mi creano problemi nell'uso di formule ecc.

Per questo mi servirebbe 2 macro che, una volta selezionata un'area di celle, cancellino:

1) tutte le righe che hanno una determinata altezza

2) tutte le righe che abbiano nella colonna 1 una certa parola (es. "pippo")

Le due macro devono essere divise e indipendenti, poi su alcuni fogli le userò tutte e due e su altri una sola.

Grazie ancora e se non sono stato chiaro chiedete pure! :D
Avatar utente
Dylan666
Moderatore
 
Post: 39988
Iscritto il: 18/11/03 16:46

Sponsor
 

Re: [EXCEL] Macro per eliminazione righe

Postdi Flash30005 » 16/03/12 15:54

Con il caro-benzina non so se ringrazierai coloro che ti daranno ciò che chiedi...
Dylan666 ha scritto:grazie per l'auto che mi darete
:D

Comunque è opportuno che pubblichi il file excel con lo schema dei dati input e come vorresti ottenere in output

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] Macro per eliminazione righe

Postdi Dylan666 » 16/03/12 16:11

Gli errori di battitura sono sempre stati il mio tallone d'Achille :lol:

Diciamo che tutte le righe che voglio eliminare son "alte" 3,00 e già una macro che mi faccia questa pulizia sarebbe ottima.

La seconda pulizia è sulle righe che hanno nella colonna B la dicitura "Utente" che è ripetuta varie volte in modo che se si stampa il report sia come intestazione di ogni foglio A4, ma è un valore inutile per fari calcoli ecc.

Per l'upload mi è complicato per vari motivi ma se è necessario cerco di replicare il folgio togliendo dati sensibili ecc.

PS: ci sono andato vicino?

Codice: Seleziona tutto
' The following code deletes blank rows from the active worksheet.

Dim Counter
Dim i As Integer

Sub DelRow()

' Input box to determine the total number of rows in the worksheet.
Counter = InputBox("Enter the total number of rows to process")
ActiveCell.Select
' Loops through the desired number of rows.
For i = 1 To Counter
    ' Checks to see if the active cell is blank.
    If Rows(i).RowHeight = 3 Then
        Selection.EntireRow.Delete

        ' Decrements count each time a row is deleted. This ensures
        ' that the macro will not run past the last row.
        Counter = Counter - 1
    Else
        ' Selects the next cell.
        ActiveCell.Offset(1, 0).Select
    End If

Next i

End Sub
Avatar utente
Dylan666
Moderatore
 
Post: 39988
Iscritto il: 18/11/03 16:46

Re: [EXCEL] Macro per eliminazione righe

Postdi Dylan666 » 16/03/12 16:33

Ok errorino corretto: devo usare Rows(i).Delete invece di Selection.EntireRow.Delete

Codice: Seleziona tutto
' The following code deletes blank rows from the active worksheet.

Dim Counter
Dim i As Integer

Sub DelRow()

' Input box to determine the total number of rows in the worksheet.
Counter = InputBox("Enter the total number of rows to process")
ActiveCell.Select
' Loops through the desired number of rows.
For i = 1 To Counter
    ' Checks to see if the active cell is blank.
    If Rows(i).RowHeight = 3 Then
      Rows(i).Delete

        ' Decrements count each time a row is deleted. This ensures
        ' that the macro will not run past the last row.
        Counter = Counter - 1
    Else
        ' Selects the next cell.
        ActiveCell.Offset(1, 0).Select
    End If

Next i

End Sub


Il codice originario, che ho poi riadattato, è preso da qui:
http://support.microsoft.com/kb/110759/it

Ora provo col contenuto cella ma ogni volta mi sbaglio con gli offset :P :lol:
Avatar utente
Dylan666
Moderatore
 
Post: 39988
Iscritto il: 18/11/03 16:46

Re: [EXCEL] Macro per eliminazione righe

Postdi Dylan666 » 16/03/12 17:23

Mi dite se la seconda macro (quella che toglie le righe che hanno nella seconda colonna "Utente" come testo parziale) va bene?

Codice: Seleziona tutto
' The following code deletes blank rows from the active worksheet.

Dim Counter
Dim i2 As Integer

Sub DelUtente()

' Input box to determine the total number of rows in the worksheet.
Counter = InputBox("Enter the total number of rows to process")
ActiveCell.Select
' Loops through the desired number of rows.
For i2 = 1 To Counter
    ' Checks to see if the active cell is blank.
    If InStr(ActiveCell.Text, "Utente") Then
    Selection.EntireRow.Delete
      'Rows(i2).Delete

        ' Decrements count each time a row is deleted. This ensures
        ' that the macro will not run past the last row.
        Counter = Counter - 1
    Else
        ' Selects the next cell.
        ActiveCell.Offset(1, 0).Select
    End If
Next i2

End Sub
Avatar utente
Dylan666
Moderatore
 
Post: 39988
Iscritto il: 18/11/03 16:46

Re: [EXCEL] Macro per eliminazione righe

Postdi ricky53 » 16/03/12 17:39

Ciao,
prova con
Codice: Seleziona tutto
Sub Elimina_Righe_Non_Buone()
    Dim UR As Long, R As Long
    UR = Range("B" & Rows.Count).End(xlUp).Row
    For R = UR To 2 Step -1
        If InStr(UCase(Cells(R, 2).Text), "UTENTE") Then
            Rows(R).EntireRow.Delete
        End If
    Next
End Sub


Ho ipotizzato che i dati inizino dalla riga "2" della colonna "B" e arrivino fino alla riga n-esima che viene calcolata con la variabile "UR"
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia


Torna a Applicazioni Office Windows


Topic correlati a "[EXCEL] Macro per eliminazione righe":


Chi c’è in linea

Visitano il forum: systemcrack e 34 ospiti