| | Post: 33 | Registrato il: 18/03/2020
| Età: 56 | Utente Junior | 2016 | | OFFLINE | |
|
13/10/2020 10:04 | |
Buongiorno a tutti quelli del forum,
in allegato due file che genero con due diversi file excel.
Un file va bene (file txt 2) e lo genero utilizzando la funzione concatena da excel, il secondo (001) lo genero direttamente dalla mcaro scritta in VBA ma che non riesco a far funzionare perchè le scritte constant e constants non sono uguali e nello stesso ordine rispetto al file di testo numero 1. Praticamente dovrei fare in modo che diventi come il file di testo 2.
Il file praticamente esporta il contenuto di una cella dove io inserisco dei dati elaborando il contenuto di due colonne.
Questo funziona prefettamente.
Vi allego anche la Macro che utilizzo.
Potete aiutarmi?
Sono vicino alla soluzione ma non riesco a rendere identici i due file.
Grazie.
|
|
| | Post: 6.095 | Registrato il: 14/11/2004
| Utente Master | Office 2019 | | OFFLINE |
|
13/10/2020 10:25 | |
Ciao con i file txt non risolviamo niente oltre che sono illeggibili.
inserisci il file excel ed i 2 file txt in un file compresso ed allega il file compresso.
Ciao By Sal (8-D
se ti piace la soluzione sostienici con una DONAZIONE a piacere. Grazie clicca qui |
| | Post: 992 | Registrato il: 16/08/2015
| Città: CORDENONS | Età: 67 | Utente Senior | Excel 2016-32bit Win11 | | OFFLINE |
|
13/10/2020 11:17 | |
Un saluto a tutti.
In effetti manca qualcosa nella costruzione, in particolare mancano tutte le chiusure di /Constants (a parte l'ultima) e /Constant oppure non sono correttamente pareggiate le aperture.
Non conoscendo il progetto presumo che dopo una chiusura /Value ci vada una chiusura di /Constants e /Constant a meno non ci debbano essere l'aperture intermedie ma solo quelle di chiusura finale.
Option Explicit
Sub unisci()
Dim Ur, x, Rg, Msg
Ur = Range("A" & Rows.Count).End(xlUp).Row
Columns("D:F").Clear
Rg = 2
For x = 4 To Ur
Cells(Rg, 4) = "": Rg = Rg + 1
Cells(Rg, 4) = "": Rg = Rg + 1
Cells(Rg, 4) = "": Cells(Rg, 5) = Cells(x, 1): Cells(Rg, 6) = "": Rg = Rg + 1
Cells(Rg, 4) = "": Cells(Rg, 5) = Cells(x, 2): Cells(Rg, 6) = "": Rg = Rg + 1
Next
Cells(Rg, 4) = "": Rg = Rg + 1
Cells(Rg, 4) = "": Rg = Rg + 1
Cells(Rg, 4) = "4.12.12": Rg = Rg + 1
Cells(Rg, 4) = "": Rg = Rg + 1
Cells(Rg, 4) = ""
Ur = Range("D" & Rows.Count).End(xlUp).Row
For x = 2 To Ur
Msg = Msg & Cells(x, 4) & Cells(x, 5) & Cells(x, 6)
Next
Cells(1, 4) = Msg
MsgBox "Fatto"
End Sub
[Modificato da rollis13 13/10/2020 11:35]
______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto) |
| | Post: 33 | Registrato il: 18/03/2020
| Età: 56 | Utente Junior | 2016 | | OFFLINE | |
|
13/10/2020 11:25 | |
problema di sintassi per creare file in allegato i file richiesti.
Grazie.
nel file che genera il file di testo funzionante praticamente ricopio il contenuto delle celle l,m,n 4 che concatena i valori delle tabelle di fianco.
Però il file diventa difficile da gestire se aggiungo altri valori a lla tabella.
Nel secondo, creo la tabella dalle due colonne a sinistra ma nel mio codice c'è un errore e compila male il file. Problema con Constant e Constants.
Credo che non sia difficile ma io sono un pò un neofita e quello che ho fatto lo ho fatto grazie all'aiuto delle persone del forum.
Il file cst non è niente altro che il file di testo rinominato in cst.
|
| | Post: 993 | Registrato il: 16/08/2015
| Città: CORDENONS | Età: 67 | Utente Senior | Excel 2016-32bit Win11 | | OFFLINE |
|
13/10/2020 11:44 | |
Così riscritta dovrebbe andar meglio (se non mi si è ingarbugliato il filo): Sub unisci_2()
Dim Ur, x, Rg, Msg
Ur = Range("A" & Rows.Count).End(xlUp).Row
Columns("D:F").Clear
Rg = 2
Cells(Rg, 4) = "": Rg = Rg + 1
For x = 4 To Ur
Cells(Rg, 4) = "": Rg = Rg + 1
Cells(Rg, 4) = "": Cells(Rg, 5) = Cells(x, 1): Cells(Rg, 6) = "": Rg = Rg + 1
Cells(Rg, 4) = "": Cells(Rg, 5) = Cells(x, 2): Cells(Rg, 6) = "": Rg = Rg + 1
Cells(Rg, 4) = "": Rg = Rg + 1
Next
Cells(Rg, 4) = "": Rg = Rg + 1
Cells(Rg, 4) = "4.12.12": Rg = Rg + 1
Cells(Rg, 4) = "": Rg = Rg + 1
Cells(Rg, 4) = ""
Ur = Range("D" & Rows.Count).End(xlUp).Row
For x = 2 To Ur
Msg = Msg & Cells(x, 4) & Cells(x, 5) & Cells(x, 6)
Next
Cells(1, 4) = Msg
MsgBox "Fatto"
End Sub
______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto) |
|
13/10/2020 12:37 | |
https://www.freeforumzone.com/d/11716875/-/discussione.aspx
Ciao a tutti
Se dici l'errore che riscontri?
L'unica cosa che NON sono presenti i due codici, quando salvi, scegli il percorso e digita un nome ex "aaaa" (ci pensa il vba a mettere .cst)
Ho cancelato Private Sub CommandButton1_Click() e riabilitato Sub WINTAX_EXPORT()
Ps. Sul Mio pc NON devo premere AVVISO di sicurezza AGGIORNAMENTO AUTOMATICO perchè s'impalla (Non riesco interromperlo) |
| | Post: 994 | Registrato il: 16/08/2015
| Città: CORDENONS | Età: 67 | Utente Senior | Excel 2016-32bit Win11 | | OFFLINE |
|
13/10/2020 14:28 | |
Chissà per quale motivo è stata creata una nuova discussione 😲.
______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto) |
| | Post: 34 | Registrato il: 18/03/2020
| Età: 56 | Utente Junior | 2016 | | OFFLINE | |
|
13/10/2020 14:35 | |
Il codice scritto da entrambi andava bene. Sto usando quello che allego a seguire.
Il problema era anche dovuto al fatto che il file che generavo non accetta nella prima colonna nomi e o caratteri spaziati.
Quindi sistemate le maiuscole e riscritto i valori senza spazio, tutto si è risolto per il meglio.
Siete stati di grande aiuto.
Ora come dicevo il codice a seguire è perfetto.
Vi faccio una domanda ulteriore.
Mi piacerebbe fare il processo che ora faccio usando prima il comando tabella e successivamente il comando Constant export, senza riscrivere la tabella ma esposrtarlo direttamente.
E' possibile?
Intanto grazie a entrambi.
|
| | Post: 995 | Registrato il: 16/08/2015
| Città: CORDENONS | Età: 67 | Utente Senior | Excel 2016-32bit Win11 | | OFFLINE |
|
13/10/2020 14:48 | |
Subito dopo la riga:
MsgBox "Fatto"
della prima macro aggiungi un rimando all'altra macro.
PS. anzi, ancora meglio, al posto della riga:
MsgBox "Fatto"
metti il rimando. [Modificato da rollis13 13/10/2020 14:51]
______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto) |
| | Post: 35 | Registrato il: 18/03/2020
| Età: 56 | Utente Junior | 2016 | | OFFLINE | |
|
13/10/2020 14:55 | |
Buongiorno Rollis per lei è molto semplice per me il messaggio rimando non saprei esattamente come inserirlo. |
| | Post: 996 | Registrato il: 16/08/2015
| Città: CORDENONS | Età: 67 | Utente Senior | Excel 2016-32bit Win11 | | OFFLINE |
|
13/10/2020 16:42 | |
Puoi scrivere solamente il NomeDellaMacro oppure scrivere Call NomeDellaMacro .
Un semplice Cerca in questo stesso Forum o in Rete ti avrebbe fornito moltissimi suggerimenti utili.
______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto) |
|
13/10/2020 17:31 | |
|
| | Post: 997 | Registrato il: 16/08/2015
| Città: CORDENONS | Età: 67 | Utente Senior | Excel 2016-32bit Win11 | | OFFLINE |
|
13/10/2020 17:47 | |
Il miei tools anti-malware sono 'migliori' dei tuoi ... NON mi hanno segnalato niente di strano.
______________________________________________________________
C'è chi fa le COSE a CASO e chi fa CASO alle COSE (Ignoto) |
| | Post: 36 | Registrato il: 18/03/2020
| Età: 56 | Utente Junior | 2016 | | OFFLINE | |
|
13/10/2020 17:48 | |
Grazie Sig Rollis.
Si farò come ha detto lei e cercherò di ricercare più assiduamente tutte le differenti voci e discussioni del forum per migliorare le mie capacità. O incapacità direi.
Grazie ancora e per quanto mi riguarda il topic è chiuso.
Grazie infinitamente. [Modificato da Stefano Alx 13/10/2020 21:08] |
|
|