Pagina 1 di 2 12 UltimaUltima
Risultati da 1 a 30 di 35

Discussione: Importazione dati con condizione



  1. #1
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Importazione dati con condizione

    Ciao a tutti,
    ho necessità che il foglio di lavoro "Analisi" si compili secondo le condizioni di mese, date e ore impostate.
    Il "settore ricerca" è stato creato con vari menu a tendina, sperando che per l'utilizzo VBA sia giusto.

    Preciso che:
    1) I fogli Foglio1" e "prova" sono due files diversi e collocati su NAS aziendale per questo motivo ho ipotizzato la possibilità di far leggere il percorso alla macro (D12 e D13).
    2) Successivamente le colonne da S in poi saranno popolate da calcoli post-importazione.

    https://www.dropbox.com/s/l8cqbyjy7a...orum.xlsm?dl=0

    Grazie in anticipo ai maghi VBA.

    Gene

  2. #2

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7147
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2063
    Likes dati
    1300

    Re: Importazione dati con condizione

    Ciao Gene,
    se ho capito bene avresti bisogno di questa routine:

    Codice: 
    Sub inserisci()
        Dim wks1 As Worksheet, wks2 As Worksheet
        Set wks1 = Worksheets("Analisi")
        Set wks2 = Worksheets("prova")
        uRiga = wks2.Range("F" & Rows.Count).End(xlUp).Row
        Application.ScreenUpdating = False
        wks1.Range("K2:RR1048576").ClearContents
        For y = 2 To uRiga
            If wks2.Range("F" & y) >= wks1.Range("D5") And wks2.Range("G" & y) <= wks1.Range("G5") _
            And wks2.Range("D" & y) >= wks1.Range("D6") And wks2.Range("E" & y) <= wks1.Range("G6") Then
            wks1.Range("K" & y) = wks2.Range("I" & y)
            wks1.Range("L" & y) = wks2.Range("H" & y)
            wks1.Range("M" & y) = wks2.Range("K" & y)
            wks1.Range("N" & y) = wks2.Range("F" & y)
            wks1.Range("O" & y) = wks2.Range("D" & y)
            wks1.Range("P" & y) = wks2.Range("G" & y)
            wks1.Range("Q" & y) = wks2.Range("E" & y)
            wks1.Range("R" & y) = wks2.Range("J" & y)
        End If
    Next
    wks1.Range("K2:R1048576").SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
    wks1.Range("A1").Select
    Set wks1 = Nothing
    Set wks2 = Nothing
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
    End Sub
    File Allegati File Allegati
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  3. I seguenti 2 utenti hanno dato un "Like" a ges per questo post:


  4. #3
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Importazione dati con condizione

    Ciao Ges,
    hai capito benissimo :97:.
    Mi restano due domande per poter agire domattina:
    1) In che parte del codice devo andare a correggere l'indirizzo per "personalizzare" il percorso verso i files esterni?
    2) Come fargli compilare la cella D15 per rendere trasparente da quale database sono stati importati i dati.

    Grazie
    Gene

  5. #4

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7147
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2063
    Likes dati
    1300

    Re: Importazione dati con condizione

    Per metter il nome del foglio nella cella D15 basta che aggiungi la riga in rosso nella parte finale del codice, non ho capito invece cosa intendi per file esterno.

    Codice: 
    Next
    wks1.Range("K2:R1048576").SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
    
    wks1.Range("D15") = wks2.Name
    
    wks1.Range("A1").Select
    Set wks1 = Nothing
    Set wks2 = Nothing
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
    End Sub
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  6. #5
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Importazione dati con condizione

    Ciao,
    come scrivevo nel post #1 " I fogli Foglio1" e "prova" sono due files diversi e collocati su NAS aziendale per questo motivo ho ipotizzato la possibilità di far leggere il percorso alla macro (D12 e D13 del foglio Analisi) ".
    Infatti essendo completamente a digiuno di VBA speravo che si potesse scrivere in una cella il percorso per arrivare al nas aziendale e la macro facesse il resto.

    Gene

  7. #6

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7147
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2063
    Likes dati
    1300

    Re: Importazione dati con condizione

    Mi sembra di capire che devi copiare i dati da un altro file.
    Mettiamo che devi copiare i dati da un altro file nel foglio "prova" potresti usare questa sub.
    Il nome della cartella in rosso devi cambiarlo con il nome del file esterno così come il nome del foglio sempre in rosso.
    Questa sub funziona solo se entrambi i files sono aperti e che i dati siano nel range A1:H (fino a 10000 righe).

    Codice: 
    Sub inserisci()
        Dim wks1 As Worksheet, wks2 As Worksheet, wks3 As Worksheet, wkb1 As Workbook, wkb2 As Workbook
        Set wkb1 = ThisWorkbook
        Set wkb2 = Workbooks("NOME DELLA CARTELLA.xls")
        
        Set wks1 = wkb1.Worksheets("Analisi")
        Set wks2 = wksb1.Worksheets("prova")
        Set wks3 = wkb2.Worksheets("NOME DEL FOGLIO")
           
        wks3.Range("A1:H10000").Copy Destination:=wks2.Range("A2")
        
        uRiga = wks2.Range("F" & Rows.Count).End(xlUp).Row
        Application.ScreenUpdating = False
        wks1.Range("K2:RR1048576").ClearContents
        For y = 2 To uRiga
            If wks2.Range("F" & y) >= wks1.Range("D5") And wks2.Range("G" & y) <= wks1.Range("G5") _
            And wks2.Range("D" & y) >= wks1.Range("D6") And wks2.Range("E" & y) <= wks1.Range("G6") Then
            wks1.Range("K" & y) = wks2.Range("I" & y)
            wks1.Range("L" & y) = wks2.Range("H" & y)
            wks1.Range("M" & y) = wks2.Range("K" & y)
            wks1.Range("N" & y) = wks2.Range("F" & y)
            wks1.Range("O" & y) = wks2.Range("D" & y)
            wks1.Range("P" & y) = wks2.Range("G" & y)
            wks1.Range("Q" & y) = wks2.Range("E" & y)
            wks1.Range("R" & y) = wks2.Range("J" & y)
        End If
    Next
    wks1.Range("K2:R1048576").SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
    wks1.Range("D15") = wks2.Name
    wks1.Range("A1").Select
    
    
    Set wks1 = Nothing
    Set wks2 = Nothing
    Set wks3 = Nothing
    
    
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
    End Sub
    Questa invece dovrebbe funzionare con il file esterno chiuso.

    Codice: 
    ub inserisci()
        Dim wks1 As Worksheet, wks2 As Worksheet, wks3 As Worksheet, wkb1 As Workbook, wkb2 As Workbook
        Set wkb1 = ThisWorkbook
        Set wkb2 = Workbooks("NOME DELLA CARTELLA.xls")
        
        Set wks1 = wkb1.Worksheets("Analisi")
        Set wks2 = wksb1.Worksheets("prova")
        Set wks3 = Workbooks.Open(wk1.Path & "/" & "NOME DEL FOGLIO.xls")
           
        wks3.Range("A1:H1000").Copy
        wks2.Range("A2").PasteSpecial Paste:=xlPasteValues
        
        uRiga = wks2.Range("F" & Rows.Count).End(xlUp).Row
        Application.ScreenUpdating = False
        wks1.Range("K2:RR1048576").ClearContents
        For y = 2 To uRiga
            If wks2.Range("F" & y) >= wks1.Range("D5") And wks2.Range("G" & y) <= wks1.Range("G5") _
            And wks2.Range("D" & y) >= wks1.Range("D6") And wks2.Range("E" & y) <= wks1.Range("G6") Then
            wks1.Range("K" & y) = wks2.Range("I" & y)
            wks1.Range("L" & y) = wks2.Range("H" & y)
            wks1.Range("M" & y) = wks2.Range("K" & y)
            wks1.Range("N" & y) = wks2.Range("F" & y)
            wks1.Range("O" & y) = wks2.Range("D" & y)
            wks1.Range("P" & y) = wks2.Range("G" & y)
            wks1.Range("Q" & y) = wks2.Range("E" & y)
            wks1.Range("R" & y) = wks2.Range("J" & y)
        End If
    Next
    wks1.Range("K2:R1048576").SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
    wks1.Range("D15") = wks2.Name
    wks1.Range("A1").Select
    
    
    Set wks1 = Nothing
    Set wks2 = Nothing
    Set wks3 = Nothing
    
    
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
    End Sub
    Comunque si potrebbe pensare anche una sub autonoma che fa solo quello, cioè importa i dati da un foglio esterno:

    Codice: 
    Sub importa()
        Dim wkb1 As Workbook, wkb2 As Workbook
        Dim wks1 As Worksheet,wks2 As Worksheet
        Set wkb1 = ThisWorkbook
        Set wkb2 = Workbooks.Open(wk1.Path & "/" & "NOME-FILE-ESTERNO-CHIUSO.xls")
        Set wks1 = wkb1.Worksheets("Foglio1")
        Set wks2 = wkb2.Worksheets("Foglio1")
        wks1.Range("A1:H1000").Copy
        wks2.Range("A1").PasteSpecial xlPasteValues
        Set wks1 = Nothing
        Set wks2 = Nothing
        Set wkb1 = Nothing
        Set wkb2 = Nothing
     End Sub
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  8. I seguenti utenti hanno dato un "Like"


  9. #7
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Importazione dati con condizione

    Ciao Ges,
    scusa il ritardo nel restituirti un feedback ma ho testato per alcuni giorni il tuo file del post #2 e ho notato un comportamento anomalo se imposto come orario di fine le ore 06:00 . Infatti importa solo una parte delle righe.


    Questa stranezza non viene replicata al variare dell'orario infatti copia correttamente il tutto:


    Francamente ho cercato di venirne a capo da solo ma rien a faire. Mi aiuti a capire?:92:

    Grazie
    Gene

  10. #8

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7147
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2063
    Likes dati
    1300

    Re: Importazione dati con condizione

    Ciao Gene,
    da quel che mi dici deduco possa essere qualche formattazione riguardo l'orario.
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  11. #9
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Importazione dati con condizione

    Ciao Ges,
    anche io avevo pensato a questo ma se guardi la seconda immagine del post #7 noterai che nelle prime righe ci sono i fermi che iniziano alle ore 6.00 del 01/03/16 quindi ha "lavorato bene" rispetto alla data e orario d'inizio. Mentre se lascio immutati 3 parametri su 4 (data inizio, orario inizio e data fine) e modifico solo l'orario di fine ottengo quello che vedi nel'immagine 1 dello stesso post.

    Gene

  12. #10
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3218
    Versione Office
    Excel2010
    Likes ricevuti
    625
    Likes dati
    155

    Re: Importazione dati con condizione

    Salve a tutti
    Ritengo che la manca estrazione dei dati relativi al turno 22.00 - 06.00 dipenda dalle condizioni di reperimento dei dati. La porzione di codice entro il ciclo For ... Next deve essere, a mio avviso, la seguente:
    Codice: 
    If wks2.Range("F" & y) >= wks1.Range("D5") And wks2.Range("G" & y) <= wks1.Range("G5") _       And wks2.Range("D" & y) >= wks1.Range("D6") And wks2.Range("E" & y) <= wks1.Range("G6") _
           Or ((wks2.Range("D" & y) >= 0.9166 And wks2.Range("D" & y) <= 1 And wks1.Range("D6") >= 0.9166            And wks1.Range("D6") <= 1) _
           Or (wks2.Range("E" & y) >= 0 And wks2.Range("E" & y) <= 0.25 And wks1.Range("G6") >= 0 And wks1.Range("G6") <= 0.25)) Then
    Gene, prova e fai sapere.
    Ciao,
    Mario

  13. #11
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Importazione dati con condizione

    Ciao Mario,
    mi da errore di sintassi quindi penso di averlo copiato al posto sbagliato:235::

    Codice: 
    Sub inserisci()
        Dim wks1 As Worksheet, wks2 As Worksheet
        Set wks1 = Worksheets("Analisi")
        Set wks2 = Worksheets("prova")
        uRiga = wks2.Range("F" & Rows.Count).End(xlUp).Row
        Application.ScreenUpdating = False
        wks1.Range("K2:RR1048576").ClearContents
        For y = 2 To uRiga
            If wks2.Range("F" & y) >= wks1.Range("D5") And wks2.Range("G" & y) <= wks1.Range("G5") _
            And wks2.Range("D" & y) >= wks1.Range("D6") And wks2.Range("E" & y) <= wks1.Range("G6") Then
            wks1.Range("K" & y) = wks2.Range("I" & y)
            wks1.Range("L" & y) = wks2.Range("H" & y)
            wks1.Range("M" & y) = wks2.Range("K" & y)
            wks1.Range("N" & y) = wks2.Range("F" & y)
            wks1.Range("O" & y) = wks2.Range("D" & y)
            wks1.Range("P" & y) = wks2.Range("G" & y)
            wks1.Range("Q" & y) = wks2.Range("E" & y)
            wks1.Range("R" & y) = wks2.Range("J" & y)
        End If
    Next
    If wks2.Range("F" & y) >= wks1.Range("D5") And wks2.Range("G" & y) <= wks1.Range("G5") _       And wks2.Range("D" & y) >= wks1.Range("D6") And wks2.Range("E" & y) <= wks1.Range("G6") _
           Or ((wks2.Range("D" & y) >= 0.9166 And wks2.Range("D" & y) <= 1 And wks1.Range("D6") >= 0.9166            And wks1.Range("D6") <= 1) _
           Or (wks2.Range("E" & y) >= 0 And wks2.Range("E" & y) <= 0.25 And wks1.Range("G6") >= 0 And wks1.Range("G6") <= 0.25)) Then
           
    End Sub
    Gene

  14. #12
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3218
    Versione Office
    Excel2010
    Likes ricevuti
    625
    Likes dati
    155

    Re: Importazione dati con condizione

    Ciao Gene
    questa parte di codice
    Codice: 
    For y = 2 To uRiga
            If wks2.Range("F" & y) >= wks1.Range("D5") And wks2.Range("G" & y) <= wks1.Range("G5") _
                And wks2.Range("D" & y) >= wks1.Range("D6") And wks2.Range("E" & y) <= wks1.Range("G6") Then
    va sostituita con questa
    Codice: 
    For y = 2 To uRiga
            If wks2.Range("F" & y) >= wks1.Range("D5") And wks2.Range("G" & y) <= wks1.Range("G5") _
                And wks2.Range("D" & y) >= wks1.Range("D6") And wks2.Range("E" & y) <= wks1.Range("G6") _
                Or ((wks2.Range("D" & y) >= 0.9166 And wks2.Range("D" & y) <= 1 And wks1.Range("D6") >= 0.9166 And wks1.Range("D6") <= 1) _
                Or (wks2.Range("E" & y) >= 0 And wks2.Range("E" & y) <= 0.25 And wks1.Range("G6") >= 0 And wks1.Range("G6") <= 0.25)) Then
    in cui l'aggiunta delle due Or esegue l'estrazione dei valori il cui orario è compreso fra le 22.00 e le 06.00

    Ciao,
    Mario

  15. #13
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Importazione dati con condizione

    Ciao Mario,
    selezionando fino al 02/03 porta dentro anche il giorno successivo.
    https://www.dropbox.com/s/3zy7j1pg9g...2%29.xlsm?dl=0

    Gene

  16. #14
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3218
    Versione Office
    Excel2010
    Likes ricevuti
    625
    Likes dati
    155

    Re: Importazione dati con condizione

    Ciao Gene
    se ho capito bene la tua richiesta (dalle ore 6.00 dell'1/3 alle ore 6.00 del 2/03) la sub dovrebbe essere:
    Codice: 
    Sub inserisci_due()
        Dim wks1 As Worksheet, wks2 As Worksheet
        Dim dat1 As String, dat2 As String, ele1 As String, ele2 As String
        Set wks1 = Worksheets("Analisi")
        Set wks2 = Worksheets("prova")
        uRiga = wks2.Range("F" & Rows.Count).End(xlUp).Row
        wks1.Range("K2:RR1048576").ClearContents
        Application.ScreenUpdating = False
        dat1 = wks1.Range("D5") + wks1.Range("D6")
        dat2 = wks1.Range("G5") + wks1.Range("G6")
        For y = 2 To uRiga
            If wks2.Range("F" & y) >= wks1.Range("D5") And wks2.Range("G" & y) <= wks1.Range("G5") Then
                ele1 = wks2.Range("F" & y) + wks2.Range("D" & y)
                ele2 = wks2.Range("G" & y) + wks2.Range("E" & y)
                If ele1 >= dat1 And ele2 <= dat2 Then
                    wks1.Range("K" & y) = wks2.Range("I" & y)
                    wks1.Range("L" & y) = wks2.Range("H" & y)
                    wks1.Range("M" & y) = wks2.Range("K" & y)
                    wks1.Range("N" & y) = wks2.Range("F" & y)
                    wks1.Range("O" & y) = wks2.Range("D" & y)
                    wks1.Range("P" & y) = wks2.Range("G" & y)
                    wks1.Range("Q" & y) = wks2.Range("E" & y)
                    wks1.Range("R" & y) = wks2.Range("J" & y)
                End If
            End If
        Next
        wks1.Range("K2:R1048576").SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
        wks1.Range("D15") = wks2.Name
        wks1.Range("A1").Select
        Set wks1 = Nothing
        Set wks2 = Nothing
        Application.CutCopyMode = False
        Application.ScreenUpdating = True
    End Sub
    In altre parole ho "concatenato" le date e gli orari e gli ho fatto fare i confronti.
    Allego il tuo file in cui ho inserito (a sinistra) un pulsante (INSERISCI DUE by Marius) a cui ho associato la macro.
    Fai sapere. Ciao,
    Mario
    File Allegati File Allegati

  17. I seguenti utenti hanno dato un "Like"


  18. #15

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7147
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2063
    Likes dati
    1300

    Re: Importazione dati con condizione

    Ciao Marius,
    ottima idea quella di concatenare le date con gli orari ... penso che così sia risolutiva, stavo infatti provando con altre strade ma c'erano sempre degli errori, questa tua scelta credo sia quella migliore.
    Suggerirei a Gene di organizzare i risultati secondo un ordine, per esempio ho pensato ad un ordine alfabetico per la colonna K, aggiungendo il seguente codice, ma Gene può sceglier anche altre tipologie di ordine se vuole.

    Codice: 
    If wks1.Range("k2") <> "" And wks1.Range("k3") <> "" Then
    wks1.Range("K2:R" & Rows.Count).End(xlDown).Sort Key1:=Range("K2"), _
    Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, _
    MatchCase:=False, Orientation:=xlTopToBottom, _
    DataOption1:=xlSortNormal
    Else
    wks1.Range("A1").Select
    End If
    File Allegati File Allegati
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  19. I seguenti utenti hanno dato un "Like"


  20. #16
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Importazione dati con condizione

    Ciao,
    un grazie immenso ad entrambi :97:.

    Approfondendo lo spunto di Ges (post #15):
    Se volessi ordinarli per macchine ed operatore devo sostituire tutte le K nel codice con le M ossia:
    Codice: 
    Sub inserisci_due()
        Dim wks1 As Worksheet, wks2 As Worksheet
        Dim dat1 As String, dat2 As String, ele1 As String, ele2 As String
        Set wks1 = Worksheets("Analisi")
        Set wks2 = Worksheets("prova")
        uRiga = wks2.Range("F" & Rows.Count).End(xlUp).Row
        wks1.Range("K2:RR1048576").ClearContents
        Application.ScreenUpdating = False
        dat1 = wks1.Range("D5") + wks1.Range("D6")
        dat2 = wks1.Range("G5") + wks1.Range("G6")
        For y = 2 To uRiga
            If wks2.Range("F" & y) >= wks1.Range("D5") And wks2.Range("G" & y) <= wks1.Range("G5") Then
                ele1 = wks2.Range("F" & y) + wks2.Range("D" & y)
                ele2 = wks2.Range("G" & y) + wks2.Range("E" & y)
                If ele1 >= dat1 And ele2 <= dat2 Then
                    wks1.Range("K" & y) = wks2.Range("I" & y)
                    wks1.Range("L" & y) = wks2.Range("H" & y)
                    wks1.Range("M" & y) = wks2.Range("K" & y)
                    wks1.Range("N" & y) = wks2.Range("F" & y)
                    wks1.Range("O" & y) = wks2.Range("D" & y)
                    wks1.Range("P" & y) = wks2.Range("G" & y)
                    wks1.Range("Q" & y) = wks2.Range("E" & y)
                    wks1.Range("R" & y) = wks2.Range("J" & y)
                End If
        Next
        wks1.Range("K2:R1048576").SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
        wks1.Range("D15") = wks2.Name
    If wks1.Range("m2") <> "" And wks1.Range("m3") <> "" Then
    wks1.Range("M2:R" & Rows.Count).End(xlDown).Sort Key1:=Range("M2"), _
    Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, _
    MatchCase:=False, Orientation:=xlTopToBottom, _
    DataOption1:=xlSortNormal
    Else
    wks1.Range("A1").Select
    End If
    If wks1.Range("k2") <> "" And wks1.Range("k3") <> "" Then
    wks1.Range("K2:R" & Rows.Count).End(xlDown).Sort Key1:=Range("K2"), _
    Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, _
    MatchCase:=False, Orientation:=xlTopToBottom, _
    DataOption1:=xlSortNormal
    Else
    wks1.Range("A1").Select
    End If
        wks1.Range("A1").Select
        Set wks1 = Nothing
        Set wks2 = Nothing
        Application.CutCopyMode = False
        Application.ScreenUpdating = True
    End Sub
    E corretta?

    Gene

  21. #17

    L'avatar di ges
    Clicca e Apri
    Data Registrazione
    Jun 2015
    Località
    Como
    Età
    53
    Messaggi
    7147
    Versione Office
    2011MAC 2016WIN
    Likes ricevuti
    2063
    Likes dati
    1300

    Re: Importazione dati con condizione

    Ciao Gene,
    se vuoi l'ordine per una sola colonna si però se invece vuoi che sia ordinato prima per macchine e quindi per operatore (due condizioni susseguenti), devi usare queste modifiche:
    Codice: 
    Sub inserisci_due()
        Dim wks1 As Worksheet, wks2 As Worksheet
        Dim dat1 As String, dat2 As String, ele1 As String, ele2 As String
        Set wks1 = Worksheets("Analisi")
        Set wks2 = Worksheets("prova")
        uRiga = wks2.Range("F" & Rows.Count).End(xlUp).Row
        wks1.Range("K2:RR1048576").ClearContents
        Application.ScreenUpdating = False
        dat1 = wks1.Range("D5") + wks1.Range("D6")
        dat2 = wks1.Range("G5") + wks1.Range("G6")
        For y = 2 To uRiga
            If wks2.Range("F" & y) >= wks1.Range("D5") And wks2.Range("G" & y) <= wks1.Range("G5") Then
                ele1 = wks2.Range("F" & y) + wks2.Range("D" & y)
                ele2 = wks2.Range("G" & y) + wks2.Range("E" & y)
                If ele1 >= dat1 And ele2 <= dat2 Then
                    wks1.Range("K" & y) = wks2.Range("I" & y)
                    wks1.Range("L" & y) = wks2.Range("H" & y)
                    wks1.Range("M" & y) = wks2.Range("K" & y)
                    wks1.Range("N" & y) = wks2.Range("F" & y)
                    wks1.Range("O" & y) = wks2.Range("D" & y)
                    wks1.Range("P" & y) = wks2.Range("G" & y)
                    wks1.Range("Q" & y) = wks2.Range("E" & y)
                    wks1.Range("R" & y) = wks2.Range("J" & y)
                End If
            End If
        Next
        wks1.Range("K2:R1048576").SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
        wks1.Range("D15") = wks2.Name
    If wks1.Range("k2") <> "" And wks1.Range("k3") <> "" Then
    wks1.Range("K1:R" & Rows.Count).End(xlUp).Select
        wks1.Sort.SortFields.Clear
        wks1.Sort.SortFields.Add Key:=Range("M2:M" & Rows.Count).End(xlUp _
            ), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        wks1.Sort.SortFields.Add Key:=Range("K2:K" & Rows.Count).End(xlUp _
            ), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        With wks1.Sort
            .SetRange Range("K1:R219")
            .Header = xlYes
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
    Else
    wks1.Range("A1").Select
    End If
        wks1.Range("A1").Select
        Set wks1 = Nothing
        Set wks2 = Nothing
        Application.CutCopyMode = False
        Application.ScreenUpdating = True
    End Sub
    EDIT: Riallego il file, avevo caricato quello sbagliato
    File Allegati File Allegati
    Quando si scartano tutte le ipotesi possibili, quella che resta, anche se può sembrare improbabile, non può che essere quella giusta!

  22. #18
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3218
    Versione Office
    Excel2010
    Likes ricevuti
    625
    Likes dati
    155

    Re: Importazione dati con condizione

    Buongiorno a tutti
    Grazie per i graditi riscontri. Suggerisco, però, una ulteriore implementazione perchè nel confronto dei dati concatenati potrebbe dare qualche errore.
    Porre le variabili dat1, dat2, ele1 e ele2 come variant. Quindi, dopo il concatenamento, convertire il dato in CDbl, cioè, dat1 = CDbl(dat1) e così per gli altri tre.

    Ciao,
    Mario

  23. #19
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Importazione dati con condizione

    Ciao Mario,
    ormai mi conosci quindi sai che quello che hai scritto è ostrogoto.
    Cosa devo effettivamente fare?

    Gene

  24. #20
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3218
    Versione Office
    Excel2010
    Likes ricevuti
    625
    Likes dati
    155

    Re: Importazione dati con condizione

    Ciao Gene
    la macro Inserisci_due() "corretta" è la seguente (guarda tu stesso le differenze con la precedente)
    Codice: 
    Sub inserisci_due()
        Dim wks1 As Worksheet, wks2 As Worksheet
        Dim dat1, dat2, ele1, ele2
        Set wks1 = Worksheets("Analisi")
        Set wks2 = Worksheets("prova")
        uRiga = wks2.Range("F" & Rows.Count).End(xlUp).Row
        wks1.Range("K2:RR1048576").ClearContents
        Application.ScreenUpdating = False
        dat1 = wks1.Range("D5") + wks1.Range("D6"): dat1 = CDbl(dat1)
        dat2 = wks1.Range("G5") + wks1.Range("G6"): dat2 = CDbl(dat2)
        For y = 2 To uRiga
            If wks2.Range("F" & y) >= wks1.Range("D5") And wks2.Range("G" & y) <= wks1.Range("G5") Then
                ele1 = wks2.Range("F" & y) + wks2.Range("D" & y): ele1 = CDbl(ele1)
                ele2 = wks2.Range("G" & y) + wks2.Range("E" & y): ele2 = CDbl(ele2)
                If ele1 >= dat1 And ele2 <= dat2 Then
                    wks1.Range("K" & y) = wks2.Range("I" & y)
                    wks1.Range("L" & y) = wks2.Range("H" & y)
                    wks1.Range("M" & y) = wks2.Range("K" & y)
                    wks1.Range("N" & y) = wks2.Range("F" & y)
                    wks1.Range("O" & y) = wks2.Range("D" & y)
                    wks1.Range("P" & y) = wks2.Range("G" & y)
                    wks1.Range("Q" & y) = wks2.Range("E" & y)
                    wks1.Range("R" & y) = wks2.Range("J" & y)
                End If
            End If
        Next
        wks1.Range("K2:R1048576").SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
        wks1.Range("D15") = wks2.Name
        wks1.Range("A1").Select
        Set wks1 = Nothing
        Set wks2 = Nothing
        Application.CutCopyMode = False
        Application.ScreenUpdating = True
    End Sub
    Le correzioni sono quelle in rosso. Fai sapere. Ciao,
    Mario

  25. #21
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Importazione dati con condizione

    Ciao Mario e Ges,
    si è deciso finalmente il percorso definitivo dove collocare il file esterno ( M:\DrPI\PCS.xls) quindi devo provare a fondere l'ultima macro di Mario #20 con quella di Ges #6.
    Il foglio di lavoro all'interno di PCS ha mantenuto il nome prova mentre il file master è sempre in M ma in una cartella differente.
    Premesso che,per colpa o su stimolo di entrambi, sto leggendo Excel 2010 Macro e VBA ( ma sono al capitolo 1 :176:).
    Sono arrivato a questo che sicuramente sarà errato ma tentar non nuoce:
    Codice: 
    Sub inserisci_due()
        Dim wks1 As Worksheet, wks2 As Worksheet, wks3 As Worksheet
        Dim dat1, dat2,, dat3, ele1, ele2, ele3
        Set wks1 = Worksheets("Analisi")
        Set wks2 = Worksheets("prova")
        Set wks3 = Worksheets("PCS.xls")
        uRiga = wks2.Range("F" & Rows.Count).End(xlUp).Row
        wks1.Range("K2:RR1048576").ClearContents
        Application.ScreenUpdating = False
        dat1 = wks1.Range("D5") + wks1.Range("D6"): dat1 = CDbl(dat1)
        dat2 = wks1.Range("G5") + wks1.Range("G6"): dat2 = CDbl(dat2)
        For y = 2 To uRiga
            If wks2.Range("F" & y) >= wks1.Range("D5") And wks2.Range("G" & y) <= wks1.Range("G5") Then
                ele1 = wks2.Range("F" & y) + wks2.Range("D" & y): ele1 = CDbl(ele1)
                ele2 = wks2.Range("G" & y) + wks2.Range("E" & y): ele2 = CDbl(ele2)
                If ele1 >= dat1 And ele2 <= dat2 Then
                    wks1.Range("K" & y) = wks2.Range("I" & y)
                    wks1.Range("L" & y) = wks2.Range("H" & y)
                    wks1.Range("M" & y) = wks2.Range("K" & y)
                    wks1.Range("N" & y) = wks2.Range("F" & y)
                    wks1.Range("O" & y) = wks2.Range("D" & y)
                    wks1.Range("P" & y) = wks2.Range("G" & y)
                    wks1.Range("Q" & y) = wks2.Range("E" & y)
                    wks1.Range("R" & y) = wks2.Range("J" & y)
                End If
            End If
        Next
        wks1.Range("K2:R1048576").SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
        wks1.Range("D15") = wks2.Name
        wks1.Range("A1").Select
        Set wks1 = Nothing
        Set wks2 = Nothing
        Application.CutCopyMode = False
        Application.ScreenUpdating = True
    End Sub
    Attendo benestare!!
    Tenete conto che le scritte in rosso non sono corrette. Ho provato a copiare, modificare ed incollare il codice usando word ma quando lo riporto nel forum si posiziona tutto in orizzontale.

    Anche fare il dummies è un lavoro:280:

    Gene

  26. #22

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2809
    Versione Office
    Excel 2013
    Likes ricevuti
    1020
    Likes dati
    979

    Re: Importazione dati con condizione

    Col permesso di @Ges e di @Marius apporto qualche modifica alla routine:
    Codice: 
    Sub inserisci_Unione()
        Dim wks1 As Worksheet, wks2 As Worksheet, wks3 As Worksheet
        Dim dat1, dat2, dat3, ele1, ele2, ele3
        Dim i As Long
        
        Set wks1 = Worksheets("Analisi")
        Set wks2 = Worksheets("prova")
        Set wks3 = Worksheets("PCS.xls")
        uRiga = wks2.Range("F" & Rows.Count).End(xlUp).Row
        wks1.Range("K2").CurrentRegion.Offset(1, 0).ClearContents ':RR1048576").ClearContents '<====== cancellazione resa DINAMICA
        Application.ScreenUpdating = False
        dat1 = CDbl(wks1.Range("D5") + wks1.Range("D6")) ': dat1 = CDbl(dat1)
        dat2 = CDbl(wks1.Range("G5") + wks1.Range("G6")) ': dat2 = CDbl(dat2)
        i = 1 '<================== nuova RIGA
        For y = 2 To uRiga
            If wks2.Range("F" & y) >= wks1.Range("D5") And wks2.Range("G" & y) <= wks1.Range("G5") Then
                ele1 = CDbl(wks2.Range("F" & y) + wks2.Range("D" & y)) ': ele1 = CDbl(ele1)
                ele2 = CDbl(wks2.Range("G" & y) + wks2.Range("E" & y)) ': ele2 = CDbl(ele2)
                If ele1 >= dat1 And ele2 <= dat2 Then
                    i = i + 1 '<================== nuova RIGA
                    wks1.Range("K" & i) = wks2.Range("I" & y)
                    wks1.Range("L" & i) = wks2.Range("H" & y)
                    wks1.Range("M" & i) = wks2.Range("K" & y)
                    wks1.Range("N" & i) = wks2.Range("F" & y)
                    wks1.Range("O" & i) = wks2.Range("D" & y)
                    wks1.Range("P" & i) = wks2.Range("G" & y)
                    wks1.Range("Q" & i) = wks2.Range("E" & y)
                    wks1.Range("R" & i) = wks2.Range("J" & y)
                End If
            End If
        Next
        'wks1.Range("K2:R1048576").SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp '<=============comando SUPERFLUO
        wks1.Range("D15") = wks2.Name
        wks1.Range("A1").Select
        Set wks1 = Nothing
        Set wks2 = Nothing
        Application.CutCopyMode = False
        Application.ScreenUpdating = True
    End Sub

  27. #23
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Importazione dati con condizione

    Ciao a tutti,
    scusate il ritardo nel feedback ma una formula mi ha fatto dannare per alcuni giorni.
    La macro di Rubik mi da un errore anche correggendo il percorso:
    Codice: 
    Sub inserisci_Unione()
        Dim wks1 As Worksheet, wks2 As Worksheet, wks3 As Worksheet
        Dim dat1, dat2, dat3, ele1, ele2, ele3
        Dim i As Long
        
        Set wks1 = Worksheets("Analisi")
        Set wks2 = Worksheets("prova")
        Set wks3 = Worksheets("M:\DrPI\PCS.xls")
        uRiga = wks2.Range("F" & Rows.Count).End(xlUp).Row
        wks1.Range("K2").CurrentRegion.Offset(1, 0).ClearContents ':RR1048576").ClearContents '<====== cancellazione resa DINAMICA
        Application.ScreenUpdating = False
        dat1 = CDbl(wks1.Range("D5") + wks1.Range("D6")) ': dat1 = CDbl(dat1)
        dat2 = CDbl(wks1.Range("G5") + wks1.Range("G6")) ': dat2 = CDbl(dat2)
        i = 1 '<================== nuova RIGA
        For y = 2 To uRiga
            If wks2.Range("F" & y) >= wks1.Range("D5") And wks2.Range("G" & y) <= wks1.Range("G5") Then
                ele1 = CDbl(wks2.Range("F" & y) + wks2.Range("D" & y)) ': ele1 = CDbl(ele1)
                ele2 = CDbl(wks2.Range("G" & y) + wks2.Range("E" & y)) ': ele2 = CDbl(ele2)
                If ele1 >= dat1 And ele2 <= dat2 Then
                    i = i + 1 '<================== nuova RIGA
                    wks1.Range("K" & i) = wks2.Range("I" & y)
                    wks1.Range("L" & i) = wks2.Range("H" & y)
                    wks1.Range("M" & i) = wks2.Range("K" & y)
                    wks1.Range("N" & i) = wks2.Range("F" & y)
                    wks1.Range("O" & i) = wks2.Range("D" & y)
                    wks1.Range("P" & i) = wks2.Range("G" & y)
                    wks1.Range("Q" & i) = wks2.Range("E" & y)
                    wks1.Range("R" & i) = wks2.Range("J" & y)
                End If
            End If
        Next
        'wks1.Range("K2:R1048576").SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp '<=============comando SUPERFLUO
        wks1.Range("D15") = wks2.Name
        wks1.Range("A1").Select
        Set wks1 = Nothing
        Set wks2 = Nothing
        Application.CutCopyMode = False
        Application.ScreenUpdating = True
    End Sub
    l'errore evidenziato in giallo è sempre su Set wks3 = Worksheets
    sia con Set wks3 = Worksheets("PCS.xls") che con Set wks3 = Worksheets("M:\DrPI\PCS.xls")

    Dando per scontato che è risolvibile, mi porto avanti e aggiungo che nella versione definitiva il foglio di lavoro "prova" non sarà nel file ma esterno quindi avrò due file esterni dove attingere, la macro, al netto dell'attuale errore diventerà cosi?:
    Codice: 
    Sub inserisci_Unione()
        Dim wks1 As Worksheet, wks2 As Worksheet, wks3 As Worksheet
        Dim dat1, dat2, dat3, ele1, ele2, ele3
        Dim i As Long
        
        Set wks1 = Worksheets("Analisi")
        Set wks2 = Worksheets("M:\DrPI\ADA.xls")
        Set wks3 = Worksheets("M:\DrPI\PCS.xls")
        uRiga = wks2.Range("F" & Rows.Count).End(xlUp).Row
        wks1.Range("K2").CurrentRegion.Offset(1, 0).ClearContents ':RR1048576").ClearContents '<====== cancellazione resa DINAMICA
        Application.ScreenUpdating = False
        dat1 = CDbl(wks1.Range("D5") + wks1.Range("D6")) ': dat1 = CDbl(dat1)
        dat2 = CDbl(wks1.Range("G5") + wks1.Range("G6")) ': dat2 = CDbl(dat2)
        i = 1 '<================== nuova RIGA
        For y = 2 To uRiga
            If wks2.Range("F" & y) >= wks1.Range("D5") And wks2.Range("G" & y) <= wks1.Range("G5") Then
                ele1 = CDbl(wks2.Range("F" & y) + wks2.Range("D" & y)) ': ele1 = CDbl(ele1)
                ele2 = CDbl(wks2.Range("G" & y) + wks2.Range("E" & y)) ': ele2 = CDbl(ele2)
                If ele1 >= dat1 And ele2 <= dat2 Then
                    i = i + 1 '<================== nuova RIGA
                    wks1.Range("K" & i) = wks2.Range("I" & y)
                    wks1.Range("L" & i) = wks2.Range("H" & y)
                    wks1.Range("M" & i) = wks2.Range("K" & y)
                    wks1.Range("N" & i) = wks2.Range("F" & y)
                    wks1.Range("O" & i) = wks2.Range("D" & y)
                    wks1.Range("P" & i) = wks2.Range("G" & y)
                    wks1.Range("Q" & i) = wks2.Range("E" & y)
                    wks1.Range("R" & i) = wks2.Range("J" & y)
                End If
            End If
        Next
        'wks1.Range("K2:R1048576").SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp '<=============comando SUPERFLUO
        wks1.Range("D15") = wks2.Name
        wks1.Range("A1").Select
        Set wks1 = Nothing
        Set wks2 = Nothing
        Application.CutCopyMode = False
        Application.ScreenUpdating = True
    End Sub
    Ovviamente l'importazione di ADA e PCS andrebbero nello stesso foglio Analisi accodati tra di loro. E altrettanto ovviamente non so come si faccia.:235:


    Grazie ancora
    Gene

  28. #24

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2809
    Versione Office
    Excel 2013
    Likes ricevuti
    1020
    Likes dati
    979

    Re: Importazione dati con condizione

    Prova adesso:
    Codice: 
    Sub inserisci_Unione()
        Dim wks1 As Worksheet, wks2 As Worksheet, wks3 As Worksheet
        Dim dat1, dat2, dat3, ele1, ele2, ele3
        Dim i As Long
        Dim myFile1 As Object, Dim myFile2 As Object
        
        Set wks1 = Worksheets("Analisi")
        
        Set myFile1 = Workbooks.Open(ThisWorkbook.Path & "\M:\DrPI\ADA.xls") '<=== Indicare il percorso esatto
        Set wks2 = myFile1.Worksheets("Foglio1") '<=== indicare il foglio esatto
        
        Set myFile2 = Workbooks.Open(ThisWorkbook.Path & "\M:\DrPI\PCS.xls") '<=== Indicare il percorso esatto
        Set wks3 = myFile2.Worksheets("Foglio1") '<=== indicare il foglio esatto
        
        uRiga = wks2.Range("F" & Rows.Count).End(xlUp).Row
        wks1.Range("K2").CurrentRegion.Offset(1, 0).ClearContents
        Application.ScreenUpdating = False
        dat1 = CDbl(wks1.Range("D5") + wks1.Range("D6"))
        dat2 = CDbl(wks1.Range("G5") + wks1.Range("G6"))
        i = 1
        For y = 2 To uRiga
            If wks2.Range("F" & y) >= wks1.Range("D5") And wks2.Range("G" & y) <= wks1.Range("G5") Then
                ele1 = CDbl(wks2.Range("F" & y) + wks2.Range("D" & y))
                ele2 = CDbl(wks2.Range("G" & y) + wks2.Range("E" & y))
                If ele1 >= dat1 And ele2 <= dat2 Then
                    i = i + 1
                    wks1.Range("K" & i) = wks2.Range("I" & y)
                    wks1.Range("L" & i) = wks2.Range("H" & y)
                    wks1.Range("M" & i) = wks2.Range("K" & y)
                    wks1.Range("N" & i) = wks2.Range("F" & y)
                    wks1.Range("O" & i) = wks2.Range("D" & y)
                    wks1.Range("P" & i) = wks2.Range("G" & y)
                    wks1.Range("Q" & i) = wks2.Range("E" & y)
                    wks1.Range("R" & i) = wks2.Range("J" & y)
                End If
            End If
        Next
        
        wks1.Range("D15") = wks2.Name
        wks1.Range("A1").Select
        Set wks1 = Nothing
        Set wks2 = Nothing
        
        Set myFile1 = Nothing
        Set myFile2 = Nothing
        
        Application.CutCopyMode = False
        Application.ScreenUpdating = True
    End Sub

  29. #25
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Importazione dati con condizione

    Ciao Rubik,
    mi da errore di sintassi:


    Attendo tue.

    Gene

  30. #26
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3218
    Versione Office
    Excel2010
    Likes ricevuti
    625
    Likes dati
    155

    Re: Importazione dati con condizione

    Ciao Gene,
    Rubik (che saluto) è stato abbondante :166:
    Togli il secondo Dim

    Ciao,
    Mario

  31. #27
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3218
    Versione Office
    Excel2010
    Likes ricevuti
    625
    Likes dati
    155

    Re: Importazione dati con condizione

    Ciao Gene
    Rubik (che saluto) è stato abbondante :166:
    Togli il secondo Dim

    Ciao, Mario

  32. #28
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Importazione dati con condizione

    Ciao Mario & Rubik,
    in attesa di testarla al rientro in ufficio, ho notato che in D15 scriviamo prova (wks1.Range("D15") = wks2.Name) ma questo vale se lancio la macro unisci_due, quando lancio la macro di rubik dovrebbe sempre in D15 scrivere "TUTTE".
    Come correggo questo passaggio?

    Gene

  33. #29

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2809
    Versione Office
    Excel 2013
    Likes ricevuti
    1020
    Likes dati
    979

    Re: Importazione dati con condizione

    @Marius44 Grazie Mario :43:

    Citazione Originariamente Scritto da G.Bove Visualizza Messaggio
    [...] ho notato che in D15 scriviamo prova (wks1.Range("D15") = wks2.Name) ma questo vale se lancio la macro unisci_due, quando lancio la macro di rubik dovrebbe sempre in D15 scrivere "TUTTE".
    Come correggo questo passaggio?
    E' una modifica alla tua portata (praticamente l'hai già scritto). Provaci tu, se non ci riesci, faccelo sapere.

  34. #30
    L'avatar di G.Bove
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    Milano
    Età
    51
    Messaggi
    870
    Versione Office
    2010
    Likes ricevuti
    24
    Likes dati
    186

    Re: Importazione dati con condizione

    Propongo::70:
    wks1.Range("D15") = wks2.'Tutte'
    o
    wks1.Range("D15") = 'Tutte'
    ??
    Gene

Discussioni Simili

  1. [Risolto] Problema importazione dati web
    Di FedeRichi nel forum Domande su Excel VBA e MACRO
    Risposte: 12
    Ultimo Messaggio: 03/05/17, 14:03
  2. Importazione dati da web
    Di alfrimpa nel forum Domande su Excel VBA e MACRO
    Risposte: 5
    Ultimo Messaggio: 02/10/16, 14:06
  3. Importazione dati da web (da più link)
    Di cocci nel forum Domande su Excel VBA e MACRO
    Risposte: 43
    Ultimo Messaggio: 18/07/16, 18:09
  4. Importazione dati da web con immagini
    Di ginKa nel forum Domande su Excel in generale
    Risposte: 0
    Ultimo Messaggio: 03/06/16, 14:15
  5. Importazione dati
    Di Andrea_Ra nel forum Domande su Excel VBA e MACRO
    Risposte: 47
    Ultimo Messaggio: 05/11/15, 19:23

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •