0
votes

Comment coller la valeur dans un autre classeur?

Je travaille sur une fonction qui sera utilisée pour les rapports trimestriels pour les projets.

Je dois mettre à jour un modèle (y compris la modification des dates trimestrielles), mais il y a plus de 100 projets (par conséquent), donc il serait donc Soyez gênant de les changer un par un.

J'essaie de créer une macro lorsque vous entrez la date à laquelle Cellule A1 du modèle principal, toutes les dates de modèle de projet seront à jour et les fichiers seront automatiquement utilisés.

Tous ces fichiers sont dans le même dossier. Les fichiers s'ouvrent lorsque je change de cellule A1, ils enregistrent tout en même temps, mais rien ne change dans les dossiers, sauf dans le modèle maître.

J'ai essayé de nombreuses méthodes, elles renvoient des erreurs ou Continuez à être vide. xxx


1 commentaires

Oh, j'ai enlevé la partie de la feuille de calcul lorsque je l'essais ainsi que cela ne devait pas continuer à changer la cellule pour exécuter la macro, je l'ai ajouté ici pour que je voulais montrer le code complet mais j'ai raté la fin si! Merci de me le rappeler!


3 Réponses :


2
votes

coller: = xlpasteformats ne colle que le format. Donc, la cellule sera vide ...

Essayez xlpastevalues ​​ à la place.


2 commentaires

Il renvoie une erreur de temps d'exécution '1004' - une erreur d'application ou d'objet définie. Est-ce que je fais référencer le fichier nouvellement ouvert à tort?


Pourriez-vous accepter l'une des réponses s'il vous plaît s'ils vous ont aidé?



1
votes

Just Fyi Vous n'avez pas besoin d'utiliser copier , vous pouvez définir des valeurs directement, donc xxx

deviendrait: xxx

C'est un peu plus rapide et peut empêcher les erreurs si les utilisateurs jouent avec l'ordinateur pendant que les macros fonctionnent!


0 commentaires

0
votes

Il s'agit d'un exemple général de copier / coller d'une gamme à une autre. Il est préférable d'éviter activeworkbook code>.

Sub Copy_Paste()
    
    With ThisWorkbook
    
        .Worksheets("Sheet1").Range("A1:A5").Copy
    
        .Worksheets("Sheet2").Range("A1").PasteSpecial Paste:=xlPasteValues
    
        Application.CutCopyMode = False
        
    End With
  
End Sub


0 commentaires