selezione dei fogli



  • selezione dei fogli
    di ilFonta (utente non iscritto) data: 13/09/2013 16:17:03

    Salve:
    sto perdendo un bel po' di tempo dietro a una stupidaggine, ma non riesco a risolvere

    Nella mia macro c'è una prima parte che rinomina i primi due fogli e la seconda parte che invece importa un file .txt e vorrei
    che lo importasse nel foglio chiamato "istogrammi". Ho provato varie formule inutilmente.

    Grazie
     
     Sheets("Foglio1").Select
        Sheets("Foglio1").Name = "istogrammi"
        Sheets("Foglio2").Select
        Sheets("Foglio2").Name = "statistiche"
                
    
        With Sheets("istogrammi").Select _
            .QueryTables.Add(Connection:= _
            "TEXT;" & inputFile, Destination _
            :=Range("$A$1"))
    etc etc etc



  • di Vecchio Frac data: 13/09/2013 21:18:40

    Perchè non lo dici nella QueryTable?
     
    With Sheets("istogrammi").Select _
            .QueryTables.Add(Connection:= "TEXT;" & inputFile, Destination:= Sheets("istogrammi").Range("$A$1"))






  • di ilFonta (utente non iscritto) data: 14/09/2013 15:55:16

    Geniale.
    Grazie Vecchio Frac.

    A presto


  • Sui fogli
    di dejavier data: 30/10/2013 16:35:51

    Ciao, premetto che non sono molto pratico di VBA. Cercando in rete ho montato e modificato alcune macro per copiare i dati contenuti in alcuni file.
    Lo stato dei file è il seguente:
    - file xls contenuti in una cartella;
    - i file contengono alcuni fogli uguali sia nel nome, sia nel format che nei contenuti;
    - i file contengono alcuni fogli in sequenza (1, 1 (2), ... , 1 (n)) ma non tutti i file hanno lo stesso numero di fogli con radice uguale.

    Se imposto la macro per la ricerca dei dati nel foglio "1" (unico foglio contenuto in tutti i file) funziona tutto. Il problema sorge se imposto la ricerca dei dati su un foglio che non è contenuto in tutti i file. Quando la macro apre il primo file che non contiene il foglio specificato si blocca tutto.

    Vorrei quindi un aiuto per dire alla macro che quando non trova all'interno del file il foglio specificato deve continuare.
    Ho provato inserendo If Sheets(A) = "" Then Exit Do ma non funziona.
    Vi riporto l'intera macro.

    Grazie
     
    Sub IMPORTA_da_cartella()
        Dim SourceDir As String, ShName As String, I As Long, A As String
        SourceDir = "C:Documents and SettingsDesktopProva macro" 'cartella da dove copiare tutti i files'
        DestSh = ActiveSheet.Name
        J = 2 ' da quale riga inizia a incollare
        Application.EnableEvents = False
        Application.DisplayAlerts = False ' Disattiva i messaggi di alert'
        Application.AskToUpdateLinks = False ' disattiva il messaggio sui collegamenti ad altri file'
        Application.ScreenUpdating = False 'Dasattiva lo schermo'
        myCFile = Dir(SourceDir & "*.xls*") 'nome files da cui estrarre i dati'
        A = InputBox("Foglio da cercare")
    
        Do
            If myCFile = "" Then Exit Do
            Workbooks.Open Filename:=SourceDir & myCFile
            Sheets("ModATO").Range("C2:C2").Copy
            ThisWorkbook.Sheets(DestSh).Cells(J, 2).End(xlUp).Offset(1, 0) _
            .PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
            Application.CutCopyMode = False
            J = J + 150
       
    
            If Sheets(A) = "" Then Exit Do 'non funziona, aiuto
            Sheets(A).Range("a3:b56").Copy
            ThisWorkbook.Sheets(DestSh).Cells(J, 2).End(xlUp).Offset(1, 0) _
            .PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
            Application.CutCopyMode = False
            J = J + 150
           
    
            'Windows(myCFile).Close savechanges:=False'
            Workbooks(myCFile).Close savechanges:=False
            myCFile = Dir
            DoEvents
            Loop
    
        End Sub