Copie uniquement les valeurs à nouveau classeur à partir de plusieurs feuilles de calcul
Supposons que j'ai un workbook1.xlsm
avec plusieurs feuilles de calcul et plein de diverses formules. Je veux créer un nouveau workbook2.xlsx
, qui aurait l'air exactement le même que workbook1
, mais dans toutes les cellules de valeurs à la place de formules.
J'ai cette macro pour copier une feuille de workbook1
:
Sub nowe()
Dim Output As Workbook
Dim FileName As String
Set Output = Workbooks.Add
Application.DisplayAlerts = False
ThisWorkbook.Worksheets("Przestoje").Cells.Copy
Selection.PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=True, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats
FileName = ThisWorkbook.Path & "\" & "worksheet2.xlsx"
Output.SaveAs FileName
End Sub
mais le problème est qu'il copie seulement une feuille de calcul et n'a pas de nom comme si c'était dans worksheet1
. Je ne peux pas le comprendre.
Encore un autre problème est que worksheet2
est ouvert par la suite. Je ne veux pas le faire.
Comment puis-je résoudre ces problèmes?
Vous devez vous connecter pour publier un commentaire.
Je voudrais le faire aussi simplement que, éventuellement, sans créer de nouveau classeur et la copie des feuilles d'elle.
Quelques étapes simples:
taking into consideration thisworkbook >> for each worksheet within thisworkbook >> copy+paste values of used range within worksheet >> save as new workbook as xlsx type >> open back base workbook >> and finally close one we created.
Le code est simple et se présente comme suit:
Cela devrait vous permettre de garder la mise en forme, les largeurs de colonne, et seules les valeurs.
Quelque chose de ce genre à parcourir et copie toutes les feuilles après l'ajout du classeur:
Noter que ce n'est pas la poignée de la suppression par défaut feuilles d'obtenir automatiquement créé lorsque le classeur est créé.
Aussi,
worksheet2
est ouvert (mais pas nommé tilSaveAs
) dès que vous appelez ceci:Juste la fermer après l'enregistrement:
Quelque chose de ce genre à parcourir et copie toutes les feuilles après l'ajout du classeur - il s'appuie sur mr.Reband réponse, mais avec un peu de cloches et de sifflets. Entre autres choses, il ne fonctionnera que si c'est dans un troisième classeur (ou un add-in, etc), il supprime le défaut ou les feuilles qui ont été créés, il assure l'ordre des feuilles est le même que l'original, etc: