Excel e gli applicativi Microsoft Office Sostituire valore con incognita

Login Registrati
Stai vedendo 5 articoli - dal 1 a 5 (di 5 totali)
  • Autore
    Articoli
  • #4327 Score: 0 | Risposta

    thunder
    Partecipante
      Ciao,
       
      di seguito il mio quesito.
       
      Devo sostituire, all'interno di un file di testo, un valore con il contenuto di una cella di un file excel. Il valore che devo sostituire è così composto  5:x
       
      La x rappresenta una variabile che varia di volta in volta a seconda del file.
       
      Ad esempio
       
      Nel file di testo ho il valore 5:3000.
      Nella cella B2 del file excel ho il valore "divisione"
      Riaprendo il file di testo avrò quindi divisione al posto di 5:3000
       
      Grazie in anticipo
      #4339 Score: 0 | Risposta

      patel
      Moderatore
        51 pts
        non è molto chiaro per me, allega file di esempio xlsx e txt con dati ed anche risultato desiderato
        #4340 Score: 0 | Risposta

        thunder
        Partecipante
          in allegato i file
           
          -master.xlsm nella cella A2 il valore da cercare e  sostituire con il contenuto della cella B2. La x rappresenta la mia incognita (nell'esempio è 4000 ma può variare di volta in volta)
           
          test_1.txt è il file di partenza.
           
          test_1(output).txt è il file finale (non mi serve creare un nuovo file, la dicitura output è solo per distinguere il risultato).
           
           
           
          Allegati:
          You must be logged in to view attached files.
          #4347 Score: 0 | Risposta

          patel
          Moderatore
            51 pts
            prova questa
            Sub textchange()
            Dim Text As String, Filename  As String
            Set FSO = CreateObject("Scripting.FileSystemObject")
            Filename = "F:\Download\test_1.txt" ' < << percorso da cambiare
            Set Stream = FSO.opentextfile(Filename)
            Text = Stream.readall
            Stream.Close
            Kill Filename
            Text1 = Split(Text, vbCrLf)
            For i = 0 To UBound(Text1)
              If Left(Text1(i), 2) = Left(Range("A2"), 2) Then Text1(i) = Range("B2")
            Next
            Open Filename For Append As #1
            For i = 0 To UBound(Text1)
              Print #1, Text1(i)
            Next
            Close #1
            Set Stream = Nothing
            Set FSO = Nothing
            End Sub
            #4348 Score: 0 | Risposta

            thunder
            Partecipante
              Funziona e anche molto!
               
              Grazie Patel
               
              Un saluto
            Login Registrati
            Stai vedendo 5 articoli - dal 1 a 5 (di 5 totali)
            Rispondi a: Sostituire valore con incognita
            Gli allegati sono permessi solo ad utenti REGISTRATI
            Le tue informazioni: