2017-09-16 1 views
-1

J'ai ce code pour copier d'un cahier de travail à un autre et semble bien fonctionner quand j'utilise quelque chose comme A1: A23 mais j'ai besoin de copier certaines cellules mais j'ai une erreur d'exécution 450 le débogage ça montre ça.vba erreur multi-cellules 450

Workbooks(Dir(Path)).Worksheets("DCR").range("A3", "A9", "A19" "A23" "B38:B44").VALUE = _ 
    Workbooks("book.xlsm").Worksheets("dcr").range("L3", "L9", "L19" "L23" "M38:M44").VALUE 

si je prends tout "sur ce copys juste la valeur de A3 à toutes les cellules toute aide serait grande

+1

ans Vous avez posté une référence de plage invalide – jsotola

Répondre

3

vous ne pouvez pas affecter la valeur ou copier-coller aux cellules disjointes dans un ligne. vous aurez besoin de

séparer chaque groupe dans sa propre ligne. la meilleure méthode est d'utiliser un bloc avec et faire les autres ws une variable, pour limiter la frappe.

Dim ws as Worksheet 
Set ws = Workbooks("book.xlsm").Worksheets("dcr") 
With Workbooks(Dir(Path)).Worksheets("DCR") 
    .range("A3").Value = ws.range("L3").Value 
    .range("A9").Value = ws.range("L9").Value 
    .range("A19").Value = ws.range("L19").Value 
    .range("A23").Value = ws.range("L23").Value 
    .range("B38:B44").Value = ws.range("M38:M44").Value 
End With