Excel: macro pour exporter la feuille de calcul en tant que fichier CSV sans quitter ma feuille Excel actuelle
Il y a beaucoup de questions ici afin de créer une macro pour enregistrer une feuille de calcul dans un fichier CSV. Toutes les réponses utilisez le SaveAs, comme cette une de super-Utilisateur. Ils disent en gros que pour créer une fonction VBA comme ceci:
Sub SaveAsCSV()
ActiveWorkbook.SaveAs FileFormat:=clCSV, CreateBackup:=False
End Sub
C'est une grande réponse, mais je veux faire un à l'exportation au lieu de l'Enregistrer Comme. Lorsque le SaveAs est exécuté, il me fait deux problèmes: les
- Mon fichier de travail en cours devient un fichier CSV. J'aimerais continuer à travailler dans mon original .fichier xlsm, mais pour exporter le contenu de la feuille de calcul en cours vers un fichier CSV avec le même nom.
- Une boîte de dialogue s'affiche et vous demande de me confirmer que j'aimerais réécrire le fichier CSV.
Est-il possible de les exporter la feuille de calcul dans un fichier, mais de continuer à travailler dans mon fichier d'origine?
source d'informationauteur neves
Vous devez vous connecter pour publier un commentaire.
@NathanClement était un peu plus rapide. Pourtant, voici le code complet (un peu plus élaboré):
Presque ce que je voulais @Ralph. Votre code a quelques problèmes:
Pour résoudre ces problèmes, et de répondre à toutes mes exigences, j'ai adapté la code à partir d'ici. J'ai nettoyé un peu pour la rendre plus lisible.
Il y a encore quelques petites chose avec le code ci-dessus que vous devriez remarquer:
.Close
etDisplayAlerts=True
devrait être dans une clause finally, mais je ne sais pas comment le faire en VBA- 5
à- 4
lors de la configuration de Monfichier.Edit: mis
Local:=True
pour enregistrer mes paramètres régionaux CSV séparateur.Comme pour mon commentaire sur @neves post, j'ai légèrement amélioré par l'ajout de la xlPasteFormats ainsi que les valeurs de la partie afin de dates d'aller sur les dates - j'ai surtout l'enregistrer comme un fichier CSV pour les relevés bancaires, il est donc nécessaire de dates.
"Sous ExportAsCSV()
End Sub`
Comme je l'ai commenté, il y a quelques endroits sur ce site que d'écrire le contenu d'une feuille de calcul vers un fichier CSV. Cette une et cette une de souligner que deux.
Ci-dessous est ma version
UsedRange
- parce que vous voulez pour obtenir la totalité du contenu de la feuille de calculLe code ...