IALweb Homepage
Forum Home Forum Home > MS Office > Microsoft Office > Microsoft Excel
  New Posts New Posts RSS Feed - [RISOLTO] Aiuto VBA per copia e incolla
  FAQ FAQ  Forum Search   Events   Register Register  Login Login

REGISTRATEVI su IALWeb forum! E' facile e veloce! Potrete consultare tutte le sezioni del forum senza restrizioni e scrivere per dare o richiedere aiuto.
Votaci in Net-Parade

[RISOLTO] Aiuto VBA per copia e incolla

 Post Reply Post Reply
Author
Message
monitral View Drop Down
Utente Senior
Utente Senior
Avatar

Joined: 30/Giu/2015
Location: Napoli
Status: Offline
Points: 155
Post Options Post Options   Thanks (0) Thanks(0)   Quote monitral Quote  Post ReplyReply Direct Link To This Post Topic: [RISOLTO] Aiuto VBA per copia e incolla
    Posted: 20/Ago/2017 at 13:02
Salve amici e buona domenica a tutti.
Chiedo un aiuto per la corretta compilazione di un codice VBA per copia e incolla.

Premetto che il foglio non è da mia produzione ma è stato modificato da un utente di un forum che frequento.

Ho un foglio "Sheet2" con dei dati da copiare da alcune celle per poi incollarli in un altro foglio "Risultati".

Sto provando a farlo con un codice ma ho diversi problemi:
Il primo è che vorrei copiare le celle interessate che hanno un valore di riferimento (in percentuale) più alto in un range di celle. Per esempio:

H4 uguale 1
I4 uguale X
J4 uguale 2

Sotto ad ognuna di queste celle quindi in H5, I5 e J5 c'è una percentuale. Io vorrei quindi che nel range H4:J4 venga preso il segno che reca nel range H5:J5 la percentuale più alta.
Questo segno dovra essere poi copiato nel foglio "Risultati", nella sua cella di riferimento. a partire dalla colonna I fino alla colonna N

Allego il foglio per farmi comprendere meglio e parte di codice che ho creato (senza i range, ma solo con una cella perchè non saprei quale codice scrivere e vale  solo per due esiti).

I segni estratti dovranno incollarsi nel foglio "Rislutati" nella prima riga libera



Public Sub CopiaEdIncolla()
   ' Dichiarazioni delle variabili
   Dim Esito As Range       'area di cella da copiare
   Dim Copiaesito As Range  'cella dove incollare quello che è stato copiato
   Dim Ht As Range          'idem come Esito
   Dim CopiaHt As Range     'idem come Copiaesito
  
   ' Assegnazione dei valori che servono alle variabli create senza range ma come cella fissa
   Set Esito = Sheet2.Range("A4")
   Set Copiaesito = Foglio1.Range("I6")
  
   Set Ht = Sheet2.Range("L3")
   Set CopiaHt = Foglio1.Range("J6")
  
  
   If Not Copiaesito.Value = "" Then
        Do
            If Copiaesito.Offset(0, 1) = "" Then
                Exit Do
            End If
            Set Copiaesito = Copiaesito.End(xltoDown).Offset(0, 1)
        Loop
    End If
  
 
   Esito.Copy  ' copia dell' area che mi interessa copiare
 
   Copiaesito.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                                       :=False, Transpose:=False    ' incolla dell area copiata
  
   Application.CutCopyMode = False  ' Cancellazione della selezione tratteggiata nell area copiata
  
  
  
   'questa routine non mi restituisce quello sperato
  
   If Not CopiaHt.Value = "" Then
        Do
            If CopiaHt.Offset(0, 1) = "" Then
                Exit Do
            End If
            Set CopiaHt = CopiaHt.End(xltoDown).Offset(0, 1)
        Loop
    End If
   Application.CutCopyMode = False

  
  
   ' Cancellazione delle variabili oggettto
   Set Esito = Nothing
   Set Copiaesito = Nothing
   Set Ht = Nothing
   Set CopiaHt = Nothing
End Sub



https://www.dropbox.com/s/gujfcgjzt8t9avz/Prono.zip?dl=0



Edited by monitral - 29/Ago/2017 at 12:41
Office 2010 Mac
Back to Top
dodo47 View Drop Down
Moderatore
Moderatore
Avatar

Joined: 29/Dic/2008
Location: Italy
Status: Offline
Points: 9354
Post Options Post Options   Thanks (0) Thanks(0)   Quote dodo47 Quote  Post ReplyReply Direct Link To This Post Posted: 20/Ago/2017 at 19:08

Ciao

Originally posted by monitral monitral wrote:

... Io vorrei quindi che nel range H4:J4 venga preso il segno che reca nel range H5:J5 la percentuale più alta.
Questo segno dovra essere poi copiato nel foglio "Risultati", nella sua cella di riferimento. a partire dalla colonna I fino alla colonna N....

I segni estratti dovranno incollarsi nel foglio "Rislutati" nella prima riga libera...

Accantoniamo momentaneamente la tua routine che, vista la domanda, non capisco perché sia così complessa.

Fai un po' di confusione con i riferimenti H5, I5 e J5 che non sono corretti, quindi spiega bene. Credo siano K,L,M in quanto A4 di Predictie (che tu usi nella macro) fa riferimento a E14 di Principal che trae i suoi dati appunto dalle colonne K,L,M.


Comunque  non capisco il copiare la "X"  a partire dalla colonna I fino alla colonna N

cioè:

esegui la macro la prima volta e copia "X" da I6 a N6

esegui la macro la seconda volta e copia il segno del valore più alto, es "1" da I7 a N7

ecc..ecc

è così ????

Inoltre non capisco perché nella tua sub vai a prendere il "segno" da copiare nel foglio PREDICTIE, che punta a E14 di PRINCIPAL che, comunque,  non calcola il segno maggiore di quelle colonne.

saluti



Edited by dodo47 - 20/Ago/2017 at 19:41
domenico
win 10- office 2010
Back to Top
monitral View Drop Down
Utente Senior
Utente Senior
Avatar

Joined: 30/Giu/2015
Location: Napoli
Status: Offline
Points: 155
Post Options Post Options   Thanks (0) Thanks(0)   Quote monitral Quote  Post ReplyReply Direct Link To This Post Posted: 29/Ago/2017 at 12:38
Ti ringrazio per la risposta, ma hanno risolto i guru del gruppo che frequento.
Il mio era solo un tentativo per cercare una soluzione che sicuramente non avrei trovato date le mie scarse conoscenze del VBA.
Fino ad ora tutte quelle che sono le mie conoscenze di excel le devo la maggior parte a Voi e vi ringrazio.

Giusto per completezza di post lascio il codice con il quale è stato risolto il problema che, molto probabimente, non ho saputo nemmeno esporre.

< ="text/"> p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo} p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #008f00} p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; min-height: 13.0px} p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #011993} span.s1 {color: #011993} span.s2 {color: #000000}

Sub Macro1()


Dim start As Double, fine As Double, tempo As Double

start = Timer


Sheets("pronostici").Select

Range("a3:BR500").ClearContents

 Sheets("PAL").Select

m = Range("ce" & Rows.Count).End(xlUp).Row

m = m - 1

For a = 2 To m

    Sheets("PAL").Select

    Range("CK" & a).Select

    Selection.Copy

    Sheets("PREDICTIE").Select

    Range("A1:H1").Select

    ActiveSheet.Paste

    'Application.Wait Now + TimeValue("00:00:02")

    Update

    Next a

    a = m + 1

    Sheets("PAL").Select

    Range("CK" & a).Select

    Selection.Copy

    Sheets("PREDICTIE").Select

    Range("A1:H1").Select

    ActiveSheet.Paste

    'Application.Wait Now + TimeValue("00:00:02")

    Update

    fine = Timer

tempo = fine - start

MsgBox "COMPLETATO, sono stati elaborati " & m & "  incontri"

Sheets("risultati").Select

    End Sub

Office 2010 Mac
Back to Top
aetio View Drop Down
Utente Avanzato
Utente Avanzato
Avatar

Joined: 08/Giu/2013
Status: Offline
Points: 985
Post Options Post Options   Thanks (0) Thanks(0)   Quote aetio Quote  Post ReplyReply Direct Link To This Post Posted: 08/Set/2017 at 09:40
Originally posted by monitral monitral wrote:

Ti ringrazio per la risposta, ma hanno risolto i guru del gruppo che frequento.

...

Fino ad ora tutte quelle che sono le mie conoscenze di excel le devo la maggior parte a Voi e vi ringrazio.

...


sarebbe assai interessante se rispondessi ai quesiti posti da dodo....
Saluti.

aetio
Back to Top
monitral View Drop Down
Utente Senior
Utente Senior
Avatar

Joined: 30/Giu/2015
Location: Napoli
Status: Offline
Points: 155
Post Options Post Options   Thanks (0) Thanks(0)   Quote monitral Quote  Post ReplyReply Direct Link To This Post Posted: 09/Set/2017 at 13:36
Originally posted by aetio aetio wrote:

Originally posted by monitral monitral wrote:

Ti ringrazio per la risposta, ma hanno risolto i guru del gruppo che frequento.

...

Fino ad ora tutte quelle che sono le mie conoscenze di excel le devo la maggior parte a Voi e vi ringrazio.

...


sarebbe assai interessante se rispondessi ai quesiti posti da dodo....


Parto dal presupposto che non sono un esperto di excel e se mi trovo quì è per chiedere aiuto dove non ci arrivo.
Il VBA per me è un oggetto misterioso, infatti antepongo che il codice in questione non è mio (non ne sarei capace), ma, volendo imparare, prima di postare qualsiasi domanda faccio le mie dovute prove per vedere se riesco. Non essendoci riuscito, mi sono fiondato sul forum di esperti per cercare una soluzione che io non riesco a trovare. Bene
I quesiti che pone dodo sullla questione, persona meritevole di ogni considerazione, per me non sono molto comprensibili considerato che la struttura del codice non è mia, ma cercavo di adattarla prendendola da un altro codice. Mi è sembrato più opportuno rispondere che il problema era stato risolto piuttosto che fare una magra figura erigendomi a saccente quando non lo sono. Questo è quanto. Quell'assai interessante, scusami, ma non lo comprendo
Saluti
Office 2010 Mac
Back to Top
aetio View Drop Down
Utente Avanzato
Utente Avanzato
Avatar

Joined: 08/Giu/2013
Status: Offline
Points: 985
Post Options Post Options   Thanks (0) Thanks(0)   Quote aetio Quote  Post ReplyReply Direct Link To This Post Posted: 11/Set/2017 at 16:38
Originally posted by monitral monitral wrote:

Originally posted by aetio aetio wrote:

Originally posted by monitral monitral wrote:

Ti ringrazio per la risposta, ma hanno risolto i guru del gruppo che frequento.

...

Fino ad ora tutte quelle che sono le mie conoscenze di excel le devo la maggior parte a Voi e vi ringrazio.

...


sarebbe assai interessante se rispondessi ai quesiti posti da dodo....


Parto dal presupposto che non sono un esperto di excel e se mi trovo quì è per chiedere aiuto dove non ci arrivo.
Il VBA per me è un oggetto misterioso, infatti antepongo che il codice in questione non è mio (non ne sarei capace), ma, volendo imparare, prima di postare qualsiasi domanda faccio le mie dovute prove per vedere se riesco. Non essendoci riuscito, mi sono fiondato sul forum di esperti per cercare una soluzione che io non riesco a trovare. Bene
I quesiti che pone dodo sullla questione, persona meritevole di ogni considerazione, per me non sono molto comprensibili considerato che la struttura del codice non è mia, ma cercavo di adattarla prendendola da un altro codice. Mi è sembrato più opportuno rispondere che il problema era stato risolto piuttosto che fare una magra figura erigendomi a saccente quando non lo sono. Questo è quanto. Quell'assai interessante, scusami, ma non lo comprendo
Saluti


il mio post non era in polemica... ma purtroppo la tendenza dei gg. ns. è di trasformare inconsciamente tutto in polemica.
E' "assai interessante" perché qui tutti impariamo, stiamo imparando gradino dopo gradino. Le magre figure sono indispensabili per crescere davvero. Io ne faccio praticamente ogni volta che chiedo aiuto, e se leggi il forum ti accorgi che c'è un'immensa pazienza nell'aiutarmi.
ciao!

(e non prendertela troppo...nuoce alla salute )

Edited by aetio - 11/Set/2017 at 16:39
Saluti.

aetio
Back to Top
 Post Reply Post Reply
  Share Topic   

Forum Jump Forum Permissions View Drop Down

Forum Software by Web Wiz Forums® version 10.17
Copyright ©2001-2013 Web Wiz Ltd.

This page was generated in 0,063 seconds.