Comment copyr les valeurs dans une gamme nommée dynamic?

Je fais un exercice de calcul des déchets au travail, et j'ai plusieurs gammes nommées dynamics dont les cellules contiennent toutes des valeurs obtenues par des formules. J'ai besoin d'un module qui copyra les valeurs dans une gamme nommée dynamic sur une autre feuille sans copyr les formules elles-mêmes, juste les valeurs que contiennent les cellules. J'ai essayé d'utiliser ceci:

Sub Sample() Dim wsI As Worksheet, wsO As Worksheet Set wsI = ThisWorkbook.Sheets("Sheet1") Set wsO = ThisWorkbook.Sheets("Sheet1") wsI.Range("Pct_waste").Copy wsO.Range("B4") End Sub 

Mais cela copy les formules, ce qui ne sert à rien. Et je ne peux pas simplement utiliser des references absolues parce que je dois pouvoir append rapidement de nouveldatatables. En fin de count, j'ai l'intention de créer une macro qui copyra les valeurs dans les plages dynamics nommées dans une nouvelle feuille, puis sortinger ces valeurs numériquement et les tracer sur un diagramme de dispersion. Je dois donc find un moyen de copyr toutes les valeurs de mes gammes dynamics nommées sans avoir à copyr les formules elles-mêmes.

De plus, je suis assez novice quand il s'agit de VBA, allez-y facilement!

Essayez de coller la valeur uniquement:

 Sub Sample() Dim wsI As Worksheet, wsO As Worksheet Set wsI = ThisWorkbook.Sheets("Sheet1") Set wsO = ThisWorkbook.Sheets("Sheet1") wsI.Range("Pct_waste").Copy wsO.Range("B4").PasteSpecial xlPasteValues End Sub 

Utilisez la méthode .Resize() :

 Set wsI = ThisWorkbook.Sheets("Sheet1") Set wsO = ThisWorkbook.Sheets("Sheet1") With wsI.Range("Pct_waste") wsO.Range("B4").Resize(.Rows.Count, .Columns.Count).Value = .Value End With 

ou quelque chose comme ça

 Sub test() Dim r As Excel.Range Dim i As Integer Set r = Range("test_range") For i = 1 To r.Cells.Count Range("x" & i).Value = r.Cells(i, 1).Value Next i End Sub 

ou vous pourriez faire quelque chose comme ceci comme formule statique dans la feuille, = index (nom_de_valles, lignes ($ A $ 1: $ A1), 1) et complété, piéger également les erreurs à l'aide d'IFERRROR, cela sera encore statique.