2009-10-27 11 views
0

J'ai une feuille de calcul Excel régulière avec seulement 1 colonne. Je veux l'exporter dans un fichier texte avec un séparateur. Je ne suis pas intéressé à séparer les colonnes, puisque j'en ai seulement une. Mon souci est d'exporter avec des séparateurs au lieu des sauts de ligne pour que mon résultat final soit une simple liste comme ceci "item1", "item2", "item3" ... et ainsi de suite. item1, item2 et item3 étaient dans la même colonne, dans différentes lignes de mon fichier Excel. Est-il possible de le faire directement à partir d'Excel? Je peux seulement obtenir le fichier final avec des sauts de ligne. Merci!Export d'Excel vers un fichier texte sans sauts de ligne

Répondre

1

Vous devrez utiliser "VBA" pour faire une boucle sur les cellules de cette colonne et imprimer leur contenu dans un fichier.

0

Si vous ne voulez pas de solution vba et utilisez max. 256 lignes vous pouvez copier vos cellules utilisées et les coller transposées sur une feuille différente dans A1.

Maintenant, toutes les valeurs sont dans une ligne et vous pouvez exporter/enregistrer la feuille en tant que * .csv. Les valeurs des cellules seront séparées par un point-virgule mais ne sera pas cité! Votre texteditor devrait être en mesure de remplacer ; par " ;".

La boucle VBA est la meilleure solution.

0

Vous pouvez utiliser ADO et GetString.

Dim cn As Object 
Dim rs As Object 

strFile = Workbooks(1).FullName 
strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFile _ 
    & ";Extended Properties=""Excel 8.0;HDR=No;IMEX=1"";" 

Set cn = CreateObject("ADODB.Connection") 
Set rs = CreateObject("ADODB.Recordset") 

cn.Open strCon 

strSQL = "SELECT F1 FROM [Sheet1$]" 

rs.Open strSQL, cn 

str = rs.GetString(2,,"|") 

Informations complémentaires: http://www.w3schools.com/ADO/met_rs_getstring.asp

1

Si vous voulez être rapide et inélégante, il suffit d'utiliser les cellules à droite à concaténer avec la séparation (point-virgule, par exemple). En supposant que vos données commence en A2, mettre cela en B2:

=A1 

Et mettre cela en B3 et remplir le bas:

=B2&";"&A3 

Le texte que vous voulez est dans la cellule inférieure de la colonne B.

Questions connexes