Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    E' possibile aggiornare un foglio excel con contenuti dinamici giornalieri..?

    Es.

    premendo un bottone è possibile aggiungere ad un foglio excel una riga in modo dinamico? es. presa dal web o da un file txt esterno...

    del tipo...

    ho queste righe nel foglio..

    A,B,C,D,E,F

    premo un bottone e dal web (o dal file txt) mi si aggiunge la riga

    G,H,I,L,M,N


    Ovviamente le lettere sono solo per rappresentare vari tipi di dati recuperabili dal web (o dal file txt) in modo dinamico.

    In php e mysql è possibile. Mi chiedevo se lo fosse (e se si come...) anche con excel, che solo ultimamente ho scoperto essere estremamente programmabile...

    GRAZIE agli/alle esperti/e di questo sw.


  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    codice:
    Sub copiatxt()
    
    'recupero il valore dell'ultima riga contenente qualcosa nella colonna A
    ultima = ActiveSheet.Cells(ActiveSheet.Rows.Count, "A").End(xlUp).Row
    Set fso = CreateObject("Scripting.FileSystemObject")
    'passo il percorso del mio file di testo
    Set file = fso.OpenTextFile("C:\Documents and Settings\....\tuofile.txt", 1, -2)
    
    i = ultima + 1 'setto l'indice della riga da cui iniziare a scrivere, pari al numero dell'ultima riga già occupata + 1
    Do While Not file.AtEndOfStream 'ciclo il mio file di testo
      riga = file.ReadLine 'recupero il contenuto di ciascuna riga
      ActiveSheet.Cells(i, 1).Value = riga 'lo assegno alla cella di excel
      i = i + 1 '.. e incremento il contatore
    Loop
    
    file.Close
    
    'libero le risorse
    Set file = Nothing
    Set fso = Nothing
    End Sub

  3. #3
    Utente di HTML.it L'avatar di patel
    Registrato dal
    Jan 2008
    Messaggi
    1,995
    Nicola sei una fucina di macro VB, dilettante o professionista ?

  4. #4
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    grazie mille nicola75ss

    Adesso sono riuscito ad inserire il contenuto della prima riga del file prova.txt nell'ultima
    riga del foglio excel...

    rimarrebbe per adesso.. solo da...

    poter inserire nella stessa riga ma in 5 celle ben distinte altrettanti valori distinti presenti nel foglio txt e magari separati da una virgola...

    es.

    ho un file prove.txt contenente:

    1,2,3,4,5

    premo il bottone

    e per adesso... excel mi visualizza 1,2,3,4,5 nell'ultima riga (ma tutto sulla prima cella della stessa) mentre a me servirebbe che mi separasse i 5 valori mettendo sempre nella prima riga il tutto ma con l'1 nella cella colonna 1, il 2 nella cella colonna 2 e così via...

    GRAZIE infinite





    ps:Sai mica anche dirmi dove poter trovare un utile guida online di programmazione per excel per principianti? Non mi riesce trovarla..

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Vedi se con questo codice ottieni il risultato sperato.
    Per quanto riguarda le guide online non saprei cosa consigliarti. Non conosco nessun sito che meriti più di altri. Man mano che mi si presenta un problema mi aiuto con la generazione automatica delle macro e poi con il fido google.
    Personalmente ho iniziato ad usare il vba relativo ad excel solo da poco perchè costretto da esigenze lavorative e ho acquistato un manualetto dei miti mondadori a pochi euro. Ora sono in ufficio e non ricordo il titolo esatto. Nel caso ti interessi ti dico il titolo stanotte.

    Personalmente trovo molto utile questo forum in inglese

    http://www.vbforums.com/

    nella sezione office development trovi tante discussioni interessanti e gente molto preparata.

    codice:
    Sub copiatxt()
    
    'recupero il valore dell'ultima riga contenente qualcosa nella colonna A
    ultima = ActiveSheet.Cells(ActiveSheet.Rows.Count, "A").End(xlUp).Row
    Set fso = CreateObject("Scripting.FileSystemObject")
    'passo il percorso del mio file di testo
    Set file = fso.OpenTextFile("C:\Documents and Settings\...\tuofile.txt", 1, -2)
    k = 0
    i = ultima + 1 'setto l'indice della riga da cui iniziare a scrivere, pari al numero dell'ultima riga già occupata + 1
    Do While Not file.AtEndOfStream 'ciclo il mio file di testo
      riga = file.ReadLine 'recupero il contenuto di ciascuna riga
      valori = Split(riga, ",")
      For Each valore In valori
        ActiveSheet.Cells(i, 1).Offset(0, k).Value = valore
        k = k + 1
      Next valore
    k = 0
    i = i + 1 '.. e incremento il contatore
    Loop
    
    file.Close
    
    'libero le risorse
    Set file = Nothing
    Set fso = Nothing
    End Sub
    @patel: troppo buono ma grazie lo stesso. Ah, comunque dilettante.

  6. #6
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    grazie mille per la tua mirabile disponibilità

    Ho provato a sostituire il nuovo cod alla vecchia macro... ma...

    Purtroppo l'ultimo cod non mi funzia... :rollo:

    dove fagiano... secondo te ???

    THANKS!

  7. #7
    Utente di HTML.it L'avatar di freetom
    Registrato dal
    Nov 2001
    Messaggi
    3,725

    già risolto ;)

    Il codice era correttissimo
    era solo il mio neurone ad essere stanchissimo...!

    THANKS

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.