Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    EXCEL copiare foglio1 da un file ricostruendo l'indirizzo

    Salve, sono a chiedere aiuto in quanto non saprei minimamente come affrontare un problema di questo genere.

    Ho realizzato un cartella di EXCEL con vari fogli attivi; questi fogli vengono ricavati da un foglio principale che però deve essere importato da un file .txt che viene creato giornalmente in un'area FTP, e che se si riesce si usa quello se non si riesce sarà copiato in locale.

    Nella mia cartella ho generato un foglio (dati di base) contenente le celle per la costruzione di:
    1. della posizione del file
    2. del nome-file che cambia giornalmente in quanto parte del nome è composto dalla data


    Codice socio 000018
    tipo documento ddt
    Giorno 11
    Mese 01
    Giorno 2015
    Nome del file da importare 000018_ddt_11-01-2015
    Periferica / Disco interno I:
    cartella contente i dati DITTA1

    Avendo a disposizione questi parametri e volendo importare da quell'archivio il contenuto dell'unico foglio presente (che si chiama esattamente come l'archivio (000018_ddt_11-01-2015) esiste la possibilità di automatizzare l'importazione?

    Grazie anticipatamente
    Un POCPRATIC

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    539
    caro POC PRATIC,
    puoi scrivere su un foglietto le operazioni che faresti per l'importazione, in modo da averle ben chiare e non fare errori,
    poi attivi il comando "registrazione macro" e ripeti le operazioni scritte sul foglietto
    al termine fermi "registrazione macro"
    ora nella lista delle macro ne trovi una (con il nome che le hai assegnato) che contiene tutti i passaggi per rifare in automatico
    l'operazione
    modificando adeguatamente la macro creata, puoi inserire i parametri contenuti nelle celle del foglio ed ottenere il risultato

  3. #3
    Grande Marino aiutaci tu

    Prima di tutto grazie ancora, ho provato a seguire i tuoi consigli e questo è quello che ne è nato:

    Sub CARICADATI()
    Sheets("Dati del Giorno").Select
    ActiveWindow.SmallScroll Down:=-12
    Range("A1:P200").Select
    Selection.ClearContents
    Sheets("DATI DI BASE").Select
    Range("H3").Select
    Sheets("Dati del Giorno").Select
    ActiveSheet.PasteSpecial Format:="Testo Unicode", Link:=False, _
    DisplayAsIcon:=False, NoHTMLFormatting:=True
    Columns("A:A").ColumnWidth = 103
    Columns("A:A").EntireColumn.AutoFit
    Sheets("DATI DI BASE").Select
    End Sub

    Adesso, continuando a seguire il tuo messaggio, io dovrei essere in grado di modificare quelle righe per far fare quello che voglio al foglio di EXCELL? ...., con tutta la mia buona, posso provare a scrivere quello che vuoi ma sempre e solo sotto dettatura, altrimenti ti scrivo la favola di Biancaneve.

    Comunque, scherzi a parte, non conosco il linguaggio e non saprei cosaecome scrivere.
    Come, penso, tu abbia capito, l'archivio cambia ad ogni ricezione in funzione della data e non saprei come modificare quei codici.

    Provando ad eseguire la "macro" succede solo che si apre EXPLORER e si posiziona nella cartella " I:\DITTA1 "
    Altri consigli??

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    539
    ImportaDDT.zip
    ho caricato il file ImportaDDT.zip che contiene ImportaDDT.xlsm
    quando avvii xlsm ricorda di attivare le macro
    la macro la puoi vedere prima di eseguirla, apre il file richiamato alla cella "FileName"
    e si posiziona sul foglio (mi sembra ... voluto)
    poi ... ?

  5. #5
    Saresti da sposare, ... tranquillo ho già dato

    eseguendo, succede questo, si apre una cartella con dentro solo un foglio che si chiama come il nome del file, fatto questo segnala errore "Errore di run-time "9" - Indice non incluso nell'intervallo ".

    Non ho capito/non so se prima di importare è normale aprire il file.

    Può essere un problema il fatto che il file di import sia un ".TXT"?

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    539
    per essere "lavorato", il file è bene sia aperto,
    se il file è un txt, lo si può aprire indicando proprio l'estsnsione txt e poi "incolonnandolo",
    ovviamente nel file txt deve esserci un elemento che permetta di separare le colonne (virgola, punto e virgola, tab ... due punti)
    se potessi postare un esempio, potrei provare a modificare la macro che ti ho inviato per importare il txt

    ps indice non incluso nell'intervallo è in genere il nome del foglio sbagliato, ho desunto dalla tua macro potesse chiamarsi "Dati del Giorno" ma forse non ho capito bene cosa fa la macro che hai postato
    Ultima modifica di marino51; 20-01-2015 a 14:28

  7. #7
    L'archivio è un ".txt" come puoi vedere.

    La cartella dovrebbe lavorare così (almeno l'intenzione era quella)
    foglio "dati di base" esattamente come hai fatto
    foglio "dati del giorno" i dati importati dal file txt
    poi sono presenti altri tre fogli dove vengono elaborati i dati importati per verificare se
    i dati sono corretti
    sono presenti dei valori = a zero
    codici già elaborati o altro

    Fino a oggi i file ".txt" arrivati sono stati al massimo di 450/500 righe (se può interessare)
    File allegati File allegati

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    539
    Ditta1.zip

    lo zip allegato contiene

    _ImportaDDT.xlsm che ha al suo interno la macro da eseguire (tasto blu "OK")
    si inseriscono i parametri del file txt da trattare
    è un file in sola lettura perchè non deve essere distrutto

    _ImportaDDT_Template.xlsx che contiene il foglio "DATIdelGIORNO" (vuoto) e i fogli con i calcoli
    anch'esso è in sola lettura perchè viene sempre riutilizzato

    i nomi dei due files sono precedeti da "_" per farli stare in alto nell'elenco dei file della cartella
    quindi se servono sono subito alla vista

    ho inserito anche l'esempio (txt)

    mettendo tutti e 3 i files nella cartella e cliccando il "blu" nel primo file,
    uscirà il messaggio "il file 000018_ddt_11-01-2015.xlsx e' stato creato"
    ovvero il template con i dati ottenuti dal txt viene salvato con lo stesso nome del txt ma con estensione xlsx

    la macro copia le colonne per non porsi in questo momento problemi di numero di righe
    ma ... se non ci sono righe vuote che interrompono la sequenza, nella macro c'è già una variabile che identifica
    l'ultima riga usata prima della riga vuota (LastRow) che potrebbe essere usata per copiare formule nei fogli con i calcoli

    spero possa essere un buon inizio per eliminare il POC davanti al PRATIC
    Ultima modifica di marino51; 20-01-2015 a 23:10

  9. #9
    O EXCEL, ..EXCEL DEL REAME
    CHI è IL PIU' BRAVO DEL REAME?
    CARO POC CERTO NON SEI TU, ...
    E' MARINO CHE DA LASSU GUARDA, VEDE E PROVVEDE.

    .........................
    Grandissimo, funziona una meraviglia...

    Al momento ti ringrazio moltissimo immaginando di offrirti almeno un caffè al bar sotto casa; per quanto riguarda EXCEL e eventuali sviluppi vedrò di applicarmi ma non garantisco e non prometto nulla, sono vecchio per imparare un linguaggio; sono un contabile non un programmatore.
    E' mio figlio quello che scrive del codice, ma è fuori Italia e rientrerà a marzo.

    In caso ne avrò bisogno, caro il MITO, tornerò sicuramente sul forum.

    Ancora grazie, e al prossimo caffè (meglio non virtuale)

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.