Condividi:        

[Excel] MACRO Taglia Incolla con Criterio

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 Taglia Incolla con Criterio

Postdi paolosanta » 21/05/15 16:00

Buongiorno, sono nuovo del forum anche se ho cercato spesso soluzioni tra i vostri post, Grazie!!!!
Detto questo, la mia richiesta è piuttosto banale, ma essendo io un totale inesperto di macro, non ne vado fuori.

Per facilitarmi il lavoro in ufficio avrei bisogno di una macro che mi Tagli il valore di una cella (es B27) e me lo incollasse al posto della cella con scritto "x" (criterio).
Magari concludendo cancellando le rughe vuote, per "compattare" il foglio e renderlo più leggibile

Allego un file excel per spiegarmi meglio(ho creato il foglio2 solo per far capire il risultato che vorrei ottenere con la macro)

http://www.filedropper.com/macrotagliaeincolla
Grazie infinite ancora!


Paolo
paolosanta
Newbie
 
Post: 6
Iscritto il: 21/05/15 15:40

Sponsor
 

Re: [Excel] MACRO Taglia Incolla con Criterio

Postdi wallace&gromit » 22/05/15 11:06

ciao paolo e benvenuto,
con le macro non ci so fare al punto da risolvere il tuo quesito.
con qualche passaggio si può risolvere con le formule.
Se hai sempre una x dove devi inserire il testo puoi fare così:
dal menu home scegli "trova e sostituisci", scrivi x in "trova" e
Codice: Seleziona tutto
=INDIRETTO(INDIRIZZO(-1;1;4;0);0)
in "sostituisci con"
assicurati che la spunta "Confronto intero contenuto della cella" sia attiva.
clicca su "sostituisci tutto".

Infine fai un filtro per le celle non vuote in colonna A e copi tutto e lo incolli solo i valori nel foglio2
Office2016 + 2019 su win11
Avatar utente
wallace&gromit
Utente Senior
 
Post: 2174
Iscritto il: 16/01/12 14:21

Re: [Excel] MACRO Taglia Incolla con Criterio

Postdi alfrimpa » 22/05/15 11:56

Ciao Paolo ed un caro saluta a Wallace&Gromit.

Giusto per il gusto di partecipare ti propongo una macro che credo faccia quello che hai chiesto.

Tieni presente, però, che è stata scritta per funzionare bene con l'esempio che hai fatto.

Qualora la volessi utilizzare su altri dati strutturalmente diversi andrebbe, ovviamente, rivista.

Codice: Seleziona tutto
Sub PROVA()
Dim miorange As Range
Dim miorange1 As Range
Dim cel As Range
Dim cll As Range
Set miorange = Range("b13:b33")
Set miorange1 = Range("a3:a35")
Application.ScreenUpdating = False
For Each cll In miorange
If Application.WorksheetFunction.IsNumber(cll.Value) Then
    cll.Offset(1, 0).Activate
    Else
    cll.Copy
    cll.Offset(1, -1).PasteSpecial
End If
Next cll
For Each cel In miorange1
    If cel.Value = "" Then
        cel.Rows.EntireRow.Delete
    End If
Next cel
Application.ScreenUpdating = True
End Sub

Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: [Excel] MACRO Taglia Incolla con Criterio

Postdi paolosanta » 22/05/15 13:39

Grazie mille delle risposte (velocissimi!!!)
Sto provando entrambe le soluzioni!!!
Molto intelligente quella di Wallace&Gromit, molto "fica" quella di alfrimpa (sto cercando di modificrla in modo di avere il range piu ampio)!
Vi aggiorno a brevissimo..
Ancora GRAZIE!

Paolo
paolosanta
Newbie
 
Post: 6
Iscritto il: 21/05/15 15:40

Re: [Excel] MACRO Taglia Incolla con Criterio

Postdi paolosanta » 22/05/15 14:22

Eccomi di nuovo, ho deciso di seguire l'idea iniziale di utilizzare un macro, in questo caso quella di alfrimpa;)
Se posso chiedere, visto che funziona tutto benissimo, un'ultima semplice aggiunta:
Fare in modo che alla fine del taglia/incolla/cancella righe vuote, mi elimini tutte le colonne che hanno un numero con la %
Nel mio file allegato di esempio, nel foglio "come vorrei che fosse" Le colonne D e E (NON SON SEMPRE LE ULTIME 2 DEL FOGLIO)

Grazie mille a tutti!!

Paolo
paolosanta
Newbie
 
Post: 6
Iscritto il: 21/05/15 15:40

Re: [Excel] MACRO Taglia Incolla con Criterio

Postdi alfrimpa » 22/05/15 14:51

Allora Paolo dovresti fare un esempio più concreto di dove possono essere le colonne con le percentuali.

Le colonne con le percentuali sono sempre le ultime due?

Inizialmente avevo pensato che volessi eliminare le colonne D ed E poi rileggendo bene....
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: [Excel] MACRO Taglia Incolla con Criterio

Postdi paolosanta » 22/05/15 15:17

Le colonne con il numero e la % (es 99.23%) purtroppo non posso prevedere dove sono..
Non e' possibile usare come criterio selettivo la "%" stessa?\
Grazie!

Paolo
paolosanta
Newbie
 
Post: 6
Iscritto il: 21/05/15 15:40

Re: [Excel] MACRO Taglia Incolla con Criterio

Postdi alfrimpa » 22/05/15 15:26

Ci provo ma dovresti avere la pazienza di attendere sino a lunedì; sono fuori per il weekend :)
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: [Excel] MACRO Taglia Incolla con Criterio

Postdi paolosanta » 22/05/15 15:40

Certamente, e' weekend per tutti!

Gentilissimo!

Paolo
paolosanta
Newbie
 
Post: 6
Iscritto il: 21/05/15 15:40

Re: [Excel] MACRO Taglia Incolla con Criterio

Postdi alfrimpa » 22/05/15 17:04

Ok grazie

Spero di riuscire nell'intento.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: [Excel] MACRO Taglia Incolla con Criterio

Postdi alfrimpa » 25/05/15 19:09

Ciao Paolo

Come promesso ecco la macro che, oltre a "compattare" i dati, elimina le colonne che son formattate a percentuale.

Codice: Seleziona tutto
Sub PROVA()
Dim miorange As Range
Dim miorange1 As Range
Dim miorange2 As Range
Dim miacella As Range
Dim uc As Long
Dim cel As Range
Dim cll As Range
Dim ultcol As Long
Dim x As Integer
Dim colonne As Range
Dim cella1 As Range
Set miorange = Range("b13:b33")
Set miorange1 = Range("a3:a35")
ultcol = Cells(1, Cells.Columns.Count).End(xlToLeft).Column
Application.ScreenUpdating = False
For Each cll In miorange
If Application.WorksheetFunction.IsNumber(cll.Value) Then
    cll.Offset(1, 0).Activate
    Else
    cll.Copy
    cll.Offset(1, -1).PasteSpecial
End If
Next cll
For Each cel In miorange1
    If cel.Value = "" Then
        cel.Rows.EntireRow.Delete
    End If
Next cel
Set colonne = Range(Cells(4, 1), Cells(4, ultcol))
For x = ultcol To 1 Step -1
    If Cells(4, x).NumberFormat = "0.00%" Then
    Columns(x).Delete
    End If
Next x
Range("a1").Select
Application.ScreenUpdating = True
End Sub


Tengo solo a precisare che, affinché la macro funzioni correttamente, è necessario che la struttura dei dati sia quella esposta nel tuo file di esempio; se la si dovesse cambiare potrebbe non andar bene.

Fai sapere se tutto è Ok.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: [Excel] MACRO Taglia Incolla con Criterio

Postdi paolosanta » 27/05/15 09:25

Grazie infinite, funziona alla grande!!
Gentilissimi tutti, spero di essere anch'io d'aiuto a qualcuno come lo siete stati voi!

Paolo

P.S. Chiedo a voi di chiudere l'argomento e dato per Risolto
paolosanta
Newbie
 
Post: 6
Iscritto il: 21/05/15 15:40


Torna a Applicazioni Office Windows


Topic correlati a "[Excel] MACRO Taglia Incolla con Criterio":


Chi c’è in linea

Visitano il forum: Ricky0185 e 42 ospiti