VBA Enregistrement d'une feuille unique au format CSV (pas tout le classeur)
J'apprécie qu'il y a beaucoup d'entrées comme enregistrer que des feuilles de calcul excel en csv
et Exporter la fiche d'un fichier csv séparé - Mais je veux enregistrer un seule feuille de calcul dans un classeur.
Mon code dans mon fichier xlsm a un params et de la fiche de données. J'ai créer une feuille de calcul copie des données avec collé valeurs et que vous souhaitez enregistrer en tant que fichier csv. Actuellement mon classeur entier change de nom et devient d'un fichier csv.
Comment faire "enregistrer sous format csv" une seule feuille dans un classeur Excel?
Est-il un Worksheet.SaveAs
ou dois-je passer ma fiche de données vers un autre classeur et l'enregistrer de cette façon?
EXEMPLE DE CODE
' [Sample so some DIMs and parameters passed in left out]
Dim s1 as Worksheet
Dim s2 as Worksheet
Set s1 = ThisWorkbook.Sheets(strSourceSheet)
' copy across
s1.Range(s1.Cells(1, 1), s1.Cells(lastrow, lastcol)).Copy
' Create new empty worksheet for holding values
Set s2 = Worksheets.Add
s2.Range("A1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats
' save sheet
s2.Activate
strFullname = strPath & strFilename
' >>> BIT THAT NEEDS FIXIN'
s2.SaveAs Filename:=strFullname, _
FileFormat:=xlCSV, CreateBackup:=True
' Can I do Worksheets.SaveAs?
À l'aide de Windows 10 et Office 365
source d'informationauteur micstr
Vous devez vous connecter pour publier un commentaire.
Ce code fonctionne très bien pour moi.
C'est de faire une copie de l'ensemble de la strSourceSheet feuille, qui ouvre un nouveau classeur, que nous pouvons ensuite les enregistrer en tant que .fichier csv, puis il ferme la nouvellement enregistré .fichier csv, ne pas gâcher nom de fichier de votre fichier d'origine.
Vous avez juste besoin d'enregistrer le classeur en tant que fichier CSV.
Excel ouvre une boîte de dialogue d'avertissement que vous enregistrez une seule feuille, mais vous pouvez supprimer le message d'avertissement avec
Application.DisplayAlerts = False.
N'oubliez pas de le remettre à vrai que.
C'est assez générique