Risultati da 1 a 23 di 23

Discussione: Macro cerca valore in un file e copia riga (excel 2010)



  1. #1
    L'avatar di SALVO_88
    Clicca e Apri
    Data Registrazione
    Jul 2016
    LocalitÓ
    SAVIGLIANO
    EtÓ
    29
    Messaggi
    11
    Versione Office
    EXCEL 2010
    Likes ricevuti
    0
    Likes dati
    0

    Macro cerca valore in un file e copia riga (excel 2010)

    buongiorno
    ho la seguente macro

    Codice: 
    Sub Salvo()
    Dim Rng As Range, C As Range, xC As Range
    Dim Icont As Long
    
    Application.ScreenUpdating = False
    Set Rng = Selection
    Icont = 0
    For Each C In Rng
        
        If Not Intersect(C, Range("D:D")) Is Nothing Then
            Set xC = Sheets("File2").Range("D:D").Find(C, LookIn:=xlValues, lookat:=xlWhole)
                If Not xC Is Nothing Then
                    Worksheets("File2").Range(xC.Offset(, -3), xC.Offset(, 3)).Copy _
                    Destination:=Worksheets("File1").Range("A" & C.Row)
                    Icont = Icont + 1
                End If
        Else
            MsgBox "Attenzione la cella " & C.Address & " non Ŕ nella colonna dei codici"
        End If
    Next C
    Application.ScreenUpdating = True
    MsgBox " Sono stati aggiornati " & Icont & " records della tabella del File1"
    
    End Sub
    vorrei che file 1 e file due non fossero fogli dello stesso file ma due file diversi:
    dove file 1 Ŕ un foglio dove attivo la macro che ha un nome variabile di foglio (pu˛ chiamarsi in qualsiasi modo es pippo o pluto)
    il file 2 un file archivio con un solo foglio archivio
    File Allegati File Allegati

  2. #2

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

    Re: Macro cerca valore in un file e copia riga (excel 2010)

    Non ho capito se vuoi che i due fogli si salvino in file separati dopo l'aggiornamento, oppure inizialmente i file sono giÓ separati e vuoi fare l'aggiornamento.

    P.S. E' gradita una presentazione QUI

  3. #3
    L'avatar di SALVO_88
    Clicca e Apri
    Data Registrazione
    Jul 2016
    LocalitÓ
    SAVIGLIANO
    EtÓ
    29
    Messaggi
    11
    Versione Office
    EXCEL 2010
    Likes ricevuti
    0
    Likes dati
    0

    Re: Macro cerca valore in un file e copia riga (excel 2010)

    vorrei che fossero due file separati e che si aggiorni il file 2 prendendo i dati dal file 2

  4. #4

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

    Re: Macro cerca valore in un file e copia riga (excel 2010)

    Prova con questa modifica:
    Codice: 
    Sub Salvo()
    Dim Rng As Range, C As Range, xC As Range
    Dim Icont As Long
    
    
    Dim myFile As String
    Dim wksOrig As Workbook
    Dim shOrig As Worksheet
    Dim wksDest As Workbook
    Dim shDest As Worksheet
    
    
    ChDir (ThisWorkbook.Path)
    myFile = Application.GetOpenFilename(filefilter:="Cartella di lavoro di Excel,*.xlsm", Title:="Importa i dati dal file ...")
    If myFile = "Falso" Then Exit Sub
    
    
    Application.ScreenUpdating = False
    
    
    Set wksDest = ThisWorkbook
    Set shDest = Sheets(1)
    Set Rng = Selection
    
    
    Set wksOrig = Workbooks.Open(myFile)
    Set shOrig = wksOrig.Sheets(1)
    
    
    Icont = 0
    For Each C In Rng
        If Not Intersect(C, shDest.Range("D:D")) Is Nothing Then
            Set xC = shOrig.Range("D:D").Find(C, LookIn:=xlValues, lookat:=xlWhole)
                If Not xC Is Nothing Then
                    shOrig.Range(xC.Offset(, -3), xC.Offset(, 3)).Copy _
                    Destination:=shDest.Range("A" & C.Row)
                    Icont = Icont + 1
                End If
        Else
            MsgBox "Attenzione la cella " & C.Address & " non Ŕ nella colonna dei codici"
        End If
    Next C
    
    
    Application.ScreenUpdating = True
    
    
    wksOrig.Close SaveChanges:=False
    
    
    Set wksDest = Nothing
    Set shDest = Nothing
    Set Rng = Nothing
    Set wksOrig = Nothing
    Set shOrig = Nothing
    
    
    MsgBox " Sono stati aggiornati " & Icont & " records della tabella del File1"
    
    
    End Sub
    Naturalmente ci sarebbe la Gestione degli errori da testare.

    P.S. Ti ricordo la presentazione
    File Allegati File Allegati

  5. #5
    L'avatar di Cuc¨^_^
    Clicca e Apri
    Data Registrazione
    Jun 2016
    LocalitÓ
    TrentoGallipoliTaranto
    EtÓ
    46
    Messaggi
    315
    Versione Office
    2010
    Likes ricevuti
    57
    Likes dati
    18

    Re: Macro cerca valore in un file e copia riga (excel 2010)

    hem.... mi sembra di riconoscere il codice... probabilmente l'ho scritto io in un altro forum...
    Cuc¨

  6. #6

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

    Re: Macro cerca valore in un file e copia riga (excel 2010)

    Dubito!
    Ho un file che uso in ufficio con un codice simile scritto da me nel 2005!

    Inviato dal mio GT-I9301I utilizzando Tapatalk

  7. #7
    L'avatar di Cuc¨^_^
    Clicca e Apri
    Data Registrazione
    Jun 2016
    LocalitÓ
    TrentoGallipoliTaranto
    EtÓ
    46
    Messaggi
    315
    Versione Office
    2010
    Likes ricevuti
    57
    Likes dati
    18

    Re: Macro cerca valore in un file e copia riga (excel 2010)

    Intendo il codice postato da Salvo

  8. #8

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

    Re: Macro cerca valore in un file e copia riga (excel 2010)

    Citazione Originariamente Scritto da Cuc¨^_^ Visualizza Messaggio
    Intendo il codice postato da Salvo
    Potevi usare il tasto"Rispondi Citando" altrimenti sembra che ce l'hai con me

  9. #9
    L'avatar di Cuc¨^_^
    Clicca e Apri
    Data Registrazione
    Jun 2016
    LocalitÓ
    TrentoGallipoliTaranto
    EtÓ
    46
    Messaggi
    315
    Versione Office
    2010
    Likes ricevuti
    57
    Likes dati
    18

    Re: Macro cerca valore in un file e copia riga (excel 2010)

    Giusto potevo essere facilmente mal interpretato, parlando di codice davo per scontato il codice madre e non le tue modifiche.

  10. #10
    L'avatar di SALVO_88
    Clicca e Apri
    Data Registrazione
    Jul 2016
    LocalitÓ
    SAVIGLIANO
    EtÓ
    29
    Messaggi
    11
    Versione Office
    EXCEL 2010
    Likes ricevuti
    0
    Likes dati
    0

    Re: Macro cerca valore in un file e copia riga (excel 2010)

    Ciao
    innanzitutto grazie (di nuovo anche a cuc¨ per la base )
    avrei bisogno che prima di eseguire quella macro mi concateni la colonna "E" e "D" in questo ordine senza perdere la selezione
    ho questa macro
    Codice: 
    Dim cel As Range 
    For Each cel In Selection
        cel.Value = cel.Offset(0, 1).Value & cel.Value
    Next cel
    ma non so dove inserirla in pi¨ avrei bisogno che mi esegua il controllo che non ci sia selezionata un intera colonna e che le celle selezionate siano nella colonna "D"
    possibilmente dando un msgbox unico di errore
    se Ŕ presente l'errore la macro non deve eseguire alcuna operazione

  11. #11

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

    Re: Macro cerca valore in un file e copia riga (excel 2010)

    Ho fatto modificato la routine:
    Codice: 
    Sub Salvo()
    Dim Rng As Range, C As Range, xC As Range
    Dim Icont As Long
    
    
    Dim myFile As String
    Dim wksOrig As Workbook
    Dim shOrig As Worksheet
    Dim wksDest As Workbook
    Dim shDest As Worksheet
    
    
    ChDir (ThisWorkbook.Path)
    myFile = Application.GetOpenFilename(filefilter:="Cartella di lavoro di Excel,*.xlsm", Title:="Importa i dati dal file ...")
    If myFile = "Falso" Then Exit Sub
    
    
    Application.ScreenUpdating = False
    
    
    Set wksDest = ThisWorkbook
    Set shDest = Sheets(1)
    Set Rng = Selection
    
    
    Set wksOrig = Workbooks.Open(myFile)
    Set shOrig = wksOrig.Sheets(1)
    
    
    Icont = 0
    For Each C In Rng
        If Not Intersect(C, shDest.Range("D:D")) Is Nothing Then
            Set xC = shOrig.Range("D:D").Find(C, LookIn:=xlValues, lookat:=xlWhole)
                If Not xC Is Nothing Then
                    shOrig.Range(xC.Offset(, -3), xC.Offset(, 3)).Copy _
                    Destination:=shDest.Range("A" & C.Row)
                    Icont = Icont + 1
                End If
        Else
            MsgBox "Attenzione la cella " & C.Address & " non Ŕ nella colonna dei codici"
            GoTo Fine
        End If
    Next C
    
    
    Dim cel As Range
    For Each cel In Rng
        cel.Value = cel.Offset(0, 1).Value & cel.Value
    Next cel
    
    
    Fine:
    
    
    Application.ScreenUpdating = True
    
    
    wksOrig.Close SaveChanges:=False
    
    
    Set wksDest = Nothing
    Set shDest = Nothing
    Set Rng = Nothing
    Set wksOrig = Nothing
    Set shOrig = Nothing
    
    
    MsgBox " Sono stati aggiornati " & Icont & " records della tabella del File1"
    
    
    End Sub
    Fammi sapere se va bene

  12. I seguenti utenti hanno dato un "Like"


  13. #12
    L'avatar di SALVO_88
    Clicca e Apri
    Data Registrazione
    Jul 2016
    LocalitÓ
    SAVIGLIANO
    EtÓ
    29
    Messaggi
    11
    Versione Office
    EXCEL 2010
    Likes ricevuti
    0
    Likes dati
    0

    Re: Macro cerca valore in un file e copia riga (excel 2010)

    ciao
    per il goto fine va bene
    per il concatena invece ho bisogno che lo esegue subito appena lancio la macro prima che inizi a cercare i valori nell'altro file
    quindi penso prima di
    Codice: 
    ChDir (ThisWorkbook.Path)
    myFile = Application.GetOpenFilename(filefilter:="Cartella di lavoro di Excel,*.xlsm", Title:="Importa i dati dal file ...")
    If myFile = "Falso" Then Exit Sub
    sempre controllando che sia nella colonna d


    avrei anche bisogno che se non trova i valori nel file archivio sul file di partenza queste celle vengano colorate di rosso(se possibile)

  14. #13

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

    Re: Macro cerca valore in un file e copia riga (excel 2010)

    Citazione Originariamente Scritto da SALVO_88 Visualizza Messaggio
    [...]
    per il concatena invece ho bisogno che lo esegue subito appena lancio la macro prima che inizi a cercare i valori nell'altro file
    [...]
    Se viene fatto prima, il metodo .Find non va bene altrimenti non troverÓ mai il valore della cella (che sarÓ il risultato di due celle concatenate).
    Bisognerebbe cambiare tutta la routine con una serie di cicli.
    P.S. Non capisco a cosa ti serve prima del metodo .Find?

    Citazione Originariamente Scritto da SALVO_88 Visualizza Messaggio
    [...]
    avrei anche bisogno che se non trova i valori nel file archivio sul file di partenza queste celle vengano colorate di rosso(se possibile)
    [...][/QUOTE]
    modifica questa riga:
    Codice: 
                If Not xC Is Nothing Then
                    shOrig.Range(xC.Offset(, -3), xC.Offset(, 3)).Copy _
                    Destination:=shDest.Range("A" & C.Row)
                    Icont = Icont + 1
                Else
                    C.Interior.Color = vbRed
                End If

  15. #14
    L'avatar di SALVO_88
    Clicca e Apri
    Data Registrazione
    Jul 2016
    LocalitÓ
    SAVIGLIANO
    EtÓ
    29
    Messaggi
    11
    Versione Office
    EXCEL 2010
    Likes ricevuti
    0
    Likes dati
    0

    Re: Macro cerca valore in un file e copia riga (excel 2010)

    i codici dei materiali sono univoci per ogni fornitore ma avendo un foglio unico con tutti i fornitori possono, anzi ci sono codici che non sono pi¨ univoci
    quindi pensavo di concatenare fornitore e codice del materiale in modo da rendere i valori univoci nell'archivio ... per questo voglio cercare i valori concatenati

    l'alternativa Ŕ fare un foglio per ogni fornitore e nominare il foglio nel archivio col nome del fornitore... per˛ poi la macro deve prima cercare il nome del fornitore e poi il codice del materiale. ma non so se cambia qualcosa con la funzione find Ŕ soprattutto con i tempi di ricerca che sono giÓ abbastanza lunghi.
    sono aperto a nuove soluzioni :D

  16. #15

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

    Re: Macro cerca valore in un file e copia riga (excel 2010)

    prova questa routine:
    Codice: 
    Sub Salvo()
    Dim Rng As Range, C As Range
    Dim Icont As Long
    Dim myFile As String
    Dim wksOrig As Workbook
    Dim shOrig As Worksheet
    Dim wksDest As Workbook
    Dim shDest As Worksheet
    Dim uRiga As Long
    Dim iRow As Long
    Dim iCol As Integer
    
    
    ChDir (ThisWorkbook.Path)
    myFile = Application.GetOpenFilename(filefilter:="Cartella di lavoro di Excel,*.xlsm", Title:="Importa i dati dal file ...")
    If myFile = "Falso" Then Exit Sub
    
    
    Application.ScreenUpdating = False
    
    
    Set wksDest = ThisWorkbook
    Set shDest = Sheets(1)
    Set Rng = Selection
    
    
    Set wksOrig = Workbooks.Open(myFile)
    Set shOrig = wksOrig.Sheets(1)
    
    
    uRiga = shOrig.Cells(Rows.Count, 4).End(xlUp).Row
    
    
    Icont = 0
    For Each C In Rng
        If C.Column = 4 Then
            For iRow = 2 To uRiga
                If C.Value & C.Offset(0, 1).Value = shOrig.Cells(iRow, 4) & shOrig.Cells(iRow, 5) Then
                    For iCol = 1 To 7
                        shDest.Cells(iRow, iCol) = shOrig.Cells(C.Row, iCol)
                    Next
                    Icont = Icont + 1
                    GoTo Successivo
                End If
            Next
            C.Interior.Color = vbRed
        Else
            MsgBox "Attenzione la cella " & C.Address & " non Ŕ nella colonna dei codici"
            GoTo Esci
        End If
    Successivo:
    Next C
    
    
    Esci:
    
    
    Application.ScreenUpdating = True
    
    
    wksOrig.Close SaveChanges:=False
    
    
    Set wksDest = Nothing
    Set shDest = Nothing
    Set Rng = Nothing
    Set wksOrig = Nothing
    Set shOrig = Nothing
    
    
    MsgBox " Sono stati aggiornati " & Icont & " records della tabella del File1"
    
    
    End Sub

  17. #16
    L'avatar di Cuc¨^_^
    Clicca e Apri
    Data Registrazione
    Jun 2016
    LocalitÓ
    TrentoGallipoliTaranto
    EtÓ
    46
    Messaggi
    315
    Versione Office
    2010
    Likes ricevuti
    57
    Likes dati
    18

    Re: Macro cerca valore in un file e copia riga (excel 2010)

    @ Rubik
    Ammazza 2 goto e 3 cicli for in cosý poche righe di codice non li ritieni un p˛ troppi?

  18. #17
    L'avatar di SALVO_88
    Clicca e Apri
    Data Registrazione
    Jul 2016
    LocalitÓ
    SAVIGLIANO
    EtÓ
    29
    Messaggi
    11
    Versione Office
    EXCEL 2010
    Likes ricevuti
    0
    Likes dati
    0

    Re: Macro cerca valore in un file e copia riga (excel 2010)

    ti chiedo scusa ma non riesco a farla funzionare mi dice che agiorna invece non fa nulla al contrario se non trova i codici me li evidenzia correttamente.

    premetto che la tua di base l'ho modificata cosý
    aggiungendo altri due copia dal file archivio
    cosa devo fare? le colonne esatte sono segnate nel codice che ti riporto sotto
    Codice: 
    Sub AGGIORNA_PREZZI_E_DESCRIZIONI()
    Dim Rng As Range, C As Range, xC As Range
    Dim Icont As Long
    
    
    Dim myFile As String
    Dim wksOrig As Workbook
    Dim shOrig As Worksheet
    Dim wksDest As Workbook
    Dim shDest As Worksheet
    
    
    ChDir (ThisWorkbook.Path)
    myFile = Application.GetOpenFilename(filefilter:="C:\Documents and Settings\Utente\Documenti\Download\,*.xlsx", Title:="Importa i dati dal file ...")
    If myFile = "Falso" Then Exit Sub
    
    
    Application.ScreenUpdating = False
    
    
    Set wksDest = ThisWorkbook
    Set shDest = Sheets(1)
    Set Rng = Selection
    
    
    Set wksOrig = Workbooks.Open(myFile)
    Set shOrig = wksOrig.Sheets(1)
    
    
    Icont = 0
    For Each C In Rng
        If Not Intersect(C, shDest.Range("D:D")) Is Nothing Then
            Set xC = shOrig.Range("E:E").Find(C, LookIn:=xlValues, lookat:=xlWhole)
                If Not xC Is Nothing Then
                    shOrig.Range(xC.Offset(, -4), xC.Offset(, -4)).Copy _
                    Destination:=shDest.Range("B" & C.Row)
                    shOrig.Range(xC.Offset(, -3), xC.Offset(, -2)).Copy _
                    Destination:=shDest.Range("D" & C.Row)
                    shOrig.Range(xC.Offset(, -1), xC.Offset(, -1)).Copy _
                    Destination:=shDest.Range("H" & C.Row)
                    Icont = Icont + 1
                End If
        Else
            MsgBox "Attenzione la cella " & C.Address & " non e nella colonna dei codici"
        End If
    Next C
    
    
    Application.ScreenUpdating = True
    
    
    wksOrig.Close SaveChanges:=False
    
    
    Set wksDest = Nothing
    Set shDest = Nothing
    Set Rng = Nothing
    Set wksOrig = Nothing
    Set shOrig = Nothing
    
    
    MsgBox " Sono stati aggiornati " & Icont & " records della tabella del File1"
    
    
    End Sub

  19. #18

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

    Re: Macro cerca valore in un file e copia riga (excel 2010)

    Prima chiedi una modifica alla routine e poi usi quella vecchia.
    No hai tenuto conto della modifica nel post #15 che ricerca i dati concatenati in "Codice" e "Costruttore".

  20. #19
    L'avatar di SALVO_88
    Clicca e Apri
    Data Registrazione
    Jul 2016
    LocalitÓ
    SAVIGLIANO
    EtÓ
    29
    Messaggi
    11
    Versione Office
    EXCEL 2010
    Likes ricevuti
    0
    Likes dati
    0

    Re: Macro cerca valore in un file e copia riga (excel 2010)

    buongiorno e grazie per la pazienza
    l'ho messa l'ultima routine ma non riesco a farla funzionare mi dice che aggiorna ma non lo fa lo fa solo sul primo codice che carico
    ti ho caricato quella vecchia per farti vedere che mi serve che copia anche la colonna con i prezzi che Ŕ la colonna "g" (non mi sono spiegato scusa)
    ti carico i due file con la tua ultima rotine che non riesco a far funzionare .
    File Allegati File Allegati

  21. #20

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

    Re: Macro cerca valore in un file e copia riga (excel 2010)

    Piccola modifica alla routine:
    Codice: 
    Sub Salvo3()
    Dim Rng As Range, C As Range
    Dim Icont As Long
    Dim myFile As String
    Dim wksOrig As Workbook
    Dim shOrig As Worksheet
    Dim wksDest As Workbook
    Dim shDest As Worksheet
    Dim uRiga As Long
    Dim iRow As Long
    Dim iCol As Integer
    
    
    ChDir (ThisWorkbook.Path)
    myFile = Application.GetOpenFilename(filefilter:="Cartella di lavoro di Excel,*.xlsx", Title:="Importa i dati dal file ...")
    If myFile = "Falso" Then Exit Sub
    
    
    Application.ScreenUpdating = False
    
    
    Set wksDest = ThisWorkbook
    Set shDest = Sheets(1)
    Set Rng = Selection
    
    
    Set wksOrig = Workbooks.Open(myFile)
    Set shOrig = wksOrig.Sheets(1)
    
    
    uRiga = shOrig.Cells(Rows.Count, 4).End(xlUp).Row
    
    
    Icont = 0
    For Each C In Rng
        If C.Column = 4 Then
            For iRow = 1 To uRiga 'file inizia da riga 1 senza intestazione
                If C.Value & C.Offset(0, 1).Value = shOrig.Cells(iRow, 4) & shOrig.Cells(iRow, 5) Then
                    For iCol = 1 To 8
                        shDest.Cells(C.Row, iCol) = shOrig.Cells(iRow, iCol) 'avevo invertito le variabili
                    Next
                    Icont = Icont + 1
                    GoTo Successivo
                End If
            Next
            C.Interior.Color = vbRed
        Else
            MsgBox "Attenzione la cella " & C.Address & " non e nella colonna dei codici"
            GoTo Esci
        End If
    Successivo:
    Next C
    
    
    Esci:
    
    
    Application.ScreenUpdating = True
    
    
    wksOrig.Close SaveChanges:=False
    
    
    Set wksDest = Nothing
    Set shDest = Nothing
    Set Rng = Nothing
    Set wksOrig = Nothing
    Set shOrig = Nothing
    
    
    MsgBox " Sono stati aggiornati " & Icont & " records della tabella del File1"
    
    
    End Sub

  22. #21
    L'avatar di SALVO_88
    Clicca e Apri
    Data Registrazione
    Jul 2016
    LocalitÓ
    SAVIGLIANO
    EtÓ
    29
    Messaggi
    11
    Versione Office
    EXCEL 2010
    Likes ricevuti
    0
    Likes dati
    0

    Re: Macro cerca valore in un file e copia riga (excel 2010)

    ciao
    ci siamo quasi ho solo il problema che mi aggiorna anche le colonne F & G che sono valori variabili che imposto io a mano
    quindi non vanno aggiornate
    a me serve che si aggiornino solo le colonne B,C & H

  23. #22
    L'avatar di SALVO_88
    Clicca e Apri
    Data Registrazione
    Jul 2016
    LocalitÓ
    SAVIGLIANO
    EtÓ
    29
    Messaggi
    11
    Versione Office
    EXCEL 2010
    Likes ricevuti
    0
    Likes dati
    0

    Re: Macro cerca valore in un file e copia riga (excel 2010)

    buongiorno
    data questa runtime

    Codice: 
    Sub Salvo3()Dim Rng As Range, C As Range
    Dim Icont As Long
    Dim myFile As String
    Dim wksOrig As Workbook
    Dim shOrig As Worksheet
    Dim wksDest As Workbook
    Dim shDest As Worksheet
    Dim uRiga As Long
    Dim iRow As Long
    Dim iCol As Integer
    
    
    ChDir (ThisWorkbook.Path)
    myFile = Application.GetOpenFilename(filefilter:="Cartella di lavoro di Excel,*.xlsx", Title:="Importa i dati dal file ...")
    If myFile = "Falso" Then Exit Sub
    
    
    Application.ScreenUpdating = False
    
    
    Set wksDest = ThisWorkbook
    Set shDest = Sheets(1)
    Set Rng = Selection
    
    
    Set wksOrig = Workbooks.Open(myFile)
    Set shOrig = wksOrig.Sheets(1)
    
    
    uRiga = shOrig.Cells(Rows.Count, 4).End(xlUp).Row
    
    
    Icont = 0
    For Each C In Rng
        If C.Column = 4 Then
            For iRow = 1 To uRiga 'file inizia da riga 1 senza intestazione
                If C.Value & C.Offset(0, 1).Value = shOrig.Cells(iRow, 4) & shOrig.Cells(iRow, 5) Then
                    For iCol = 1 To 8
                        shDest.Cells(C.Row, iCol) = shOrig.Cells(iRow, iCol) 'avevo invertito le variabili
                    Next
                    Icont = Icont + 1
                    GoTo Successivo
                End If
            Next
            C.Interior.Color = vbRed
        Else
            MsgBox "Attenzione la cella " & C.Address & " non e nella colonna dei codici"
            GoTo Esci
        End If
    Successivo:
    Next C
    
    
    Esci:
    
    
    Application.ScreenUpdating = True
    
    
    wksOrig.Close SaveChanges:=False
    
    
    Set wksDest = Nothing
    Set shDest = Nothing
    Set Rng = Nothing
    Set wksOrig = Nothing
    Set shOrig = Nothing
    
    
    MsgBox " Sono stati aggiornati " & Icont & " records della tabella del File1"
    
     End Sub
    vorrei che la parte
    Codice: 
    sub salvo3()
    ChDir (ThisWorkbook.Path)
    myFile = Application.GetOpenFilename(filefilter:="Cartella di lavoro di Excel,*.xlsx", Title:="Importa i dati dal file ...") 
    If myFile = "Falso" Then Exit Sub
    vorrei che la macro aprisse un determinato file
    con nella directory T:\MATERIALI\ARCHIVIO.XLSB
    Grazie

  24. #23

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

    Re: Macro cerca valore in un file e copia riga (excel 2010)

    se ho capito bene, sostituisci queste righe:
    Codice: 
    'sostituisci
    myFile = Application.GetOpenFilename(filefilter:="Cartella di lavoro di Excel,*.xlsx", Title:="Importa i dati dal file ...")
    'con
    myFile = "T:\MATERIALI\ARCHIVIO.XLSB"

Discussioni Simili

  1. [Excel 2010] Macro non pi¨ funzionante
    Di Daniele.Caso nel forum Domande su Excel VBA e MACRO
    Risposte: 9
    Ultimo Messaggio: 14/03/17, 17:20
  2. [Risolto] Macro che copia una riga in un determinato foglio
    Di andreac81_ nel forum Domande su Excel VBA e MACRO
    Risposte: 7
    Ultimo Messaggio: 24/02/17, 18:24
  3. Macro cerca righe con data e ora e copia e incolla
    Di streber nel forum Domande su Excel VBA e MACRO
    Risposte: 11
    Ultimo Messaggio: 17/01/17, 14:50
  4. [Risolto] Macro copia e accoda un valore in una cella con pi¨ addendi.
    Di rioma nel forum Domande su Excel VBA e MACRO
    Risposte: 24
    Ultimo Messaggio: 06/10/16, 15:39
  5. Macro copia cerca incolla
    Di binfrancos83 nel forum Domande su Excel VBA e MACRO
    Risposte: 11
    Ultimo Messaggio: 08/03/16, 19:54

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
  •