Mon exigence est chaque fois qu'il y a une mise à jour de la cellule "A1" de mon classeur principal (main.xlsm) feuille1, je dois copier cette ligne entière de données dans un Excel différent (par exemple working.xlsm). La feuille principale a des colonnes de A à M et la capture de données devrait se produire dépend du changement de données de cellule A1. Toutes les données sont conservées dans le second Excel et toutes les nouvelles données seront ajoutées à la ligne suivante.copier la colonne entière d'un Excel à un autre dépend du changement dans une valeur de cellule
J'ai ajouté le code ci-dessous à mon deuxième classeur (working.xlsm), où j'ai besoin de sauvegarder toutes les données, mais cela ne fonctionne pas. Je ne sais pas comment utiliser une gamme avec with
fonction
Private Sub Worksheet_Calculate()
With Sheet1
With .Cells(.Rows.Count, "B").End(xlUp)
If .Value <> Workbooks("main.xlsm").Worksheets("Sheet1").Range("A1").Value Then
.Offset(1).Value = Sheet1.Range("A:M").Value
End If
End With
End With
End Sub
ayant imbriqué avec des instructions est inutile. utilisez simplement 'Avec Sheet1.Cells (Sheet1.Row.Count," B "). End (xlUp)'. Vous ne définissez pas non plus Sheet1 – sourceCode
Vous devez également avoir le classeur "main.xlsm" ouvert pour le référencer comme cela – sourceCode
Si vous observez des changements se produisant dans le classeur principal, vous devriez mettre ce code à l'intérieur. –