Salvare contenuto cella



  • Salvare contenuto cella
    di Luca (utente non iscritto) data: 11/05/2010

    Scusate, avrei bisogno di aiuto.
    ho un elenco di circa 90 celle.
    vorrei creare una macro per salvare i valori di ogni singola cella come file di testo, dandogli il nome indicato nella cella a fianco.
    e' possibile, aiutatemi per cortesia.
    grazie



  • di Nic82 data: 11/05/2010

    Mi fai un esempio ratico per favore???



  • di Locate (utente non iscritto) data: 11/05/2010

    Ciao luca
    -------------
    ho un elenco di circa 90 celle.
    vorrei creare una macro per salvare i valori di ogni singola cella come file di testo, dandogli il nome indicato nella cella a fianco.
    e' possibile, aiutatemi per cortesia.
    -----------
    se ho capito tu ai l'elenco di 90 celle e in queste celle ai numeri parole e date e vorresti in unaltra colonna salvare questi valori tutti in formato testo?? giusto.
    ti posto una macro di esempio che se tu in colonna a ai questo la colonna b diventa tutta formato testo e i suoi valori sono tutti testo.
    allego macro che da metter in foglio1
    ciao da locate
    ti metto anche il file di prova

     
    Sub copiaA_B()
    Dim copia
    For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
    copia = Cells(i, 1)
    Cells(i, 2).Select
    Selection.NumberFormat = "@"
    If copia <> "" Then
    If IsDate(copia) = True Then
    Cells(i, 2) = Format(copia, "dd/mm/yyyy")
    ElseIf IsNumeric(copia) = True Then
    Cells(i, 2) = CStr(copia)
    Else
    Cells(i, 2) = copia
    End If
    End If
    Next i
    Range("a1").Select
    End Sub
    


  • Salvare contenuto cella
    di Luca (utente non iscritto) data: 11/05/2010

    Scusate, avrei bisogno di aiuto.
    ho un elenco di circa 90 celle.
    vorrei creare una macro per salvare i valori di ogni singola cella come file di testo, dandogli il nome indicato nella cella a fianco.
    e' possibile, aiutatemi per cortesia.
    grazie



  • di Luca (utente non iscritto) data: 11/05/2010

    Nom mi sono fatto capire bene. cerco di fare un esempio

    nella cella a1 ho il testo "gino"
    nella cella a2 ho il testo "giorgio"
    nella cella a3 ho il testo "paolo"
    e via di seguito;
    nella cella b1 ho il testo "riga 1"
    nella cella b2 ho il testo "riga 2"
    nella cella b3 ho il testo "riga 3"
    e via di seguito.
    la mia domenda è:
    posso con una macro salvare il contenuto di ogni singola cella della colonna a creando un relativo file .txt dandogli come nome il testo presente nella colonna b?
    quindi per la cella a1 creare il file riga 1.txt contenente il testo "gino".
    per la cella a2 creare il file riga 2.txt contenente il testo "giorgio"
    per la cella a3 creare il file riga 1.txt contenente il testo "paolo"
    grazie spero di essermi spiegato.



  • di Big ronnie (utente non iscritto) data: 12/05/2010

    Ciao luca,

    prova la seguente macro se ti va bene.ricorda che ogni volta che fai eseguire la macro il file con lo stesso nome viene sovrascritto senza essere avvertito.

    ciao big
     
    Sub FileTesto()
    FN = FreeFile
    For I = 1 To Range("A65536").End(xlUp).Row
    If Range("A" & I) <> "" Then
    Open ActiveWorkbook.Path & "" & Range("B" & I) & ".txt" For Append As #FN
    Print #FN, Range("A" & I)
    Close #FN
    End If
    Next I
    End Sub



  • di Ricky53 (utente non iscritto) data: 12/05/2010

    Ciao,

    bella soluzione big.

    solo per precisione:
    il file non viene sovrascritto ma vengono accodati (per la presenza di "append" nella open) i dati dell'attuale elaborazione a quelli già esistenti
    purchè il contenuto delle celle delle colonna "b" non cambi altrimenti cambia il nome del file.

    spero di essere stato abbastanza chiaro,
    nel dubbio eseguite due volte la macro senza cambiare nulla e controllate il contenuto dei file "txt".

    ciao da ricky53



  • di Big ronnie (utente non iscritto) data: 12/05/2010

    Ciao ricky,

    hai perfettamente ragione mi sono confuso con l'istruzione for output(che sovrsscrive i dati) invece di for append(che accoda i dati all'ultima riga del file).

    ciao big



  • di Locate (utente non iscritto) data: 13/05/2010

    Ciao
    big mi associo a ricky per la soluzione che ai dato
    mi sono appena collegato e avendo letto la risposa in precedenza data al mio intervento di ieri stavo ripassando su un manuale il vecchio c++ per creare un file txt come era impostata la logica di programmazione non avendo mai fatto in vb questo lavoro, ho letto del tuo intervento alla soluzione data cosi esplicitatamente al contesto.
    ps se mi capitera' un lavoro del genere ne faro' uso
    ciao da locate



  • di Luca (utente non iscritto) data: 13/05/2010

    Ciao a tutti.
    grazie big, era proprio quello di cui avevo bisogno, mi sei stato di grande aiuto.

    grazie anche agli altri commmenti: ho necessità che sovrascriva ogni volta i file e mi ero accorto che efettivamente il comando andava ad accodare non a sostituire.
    alla prossima. buon forum.
    ciao