Лучше было бы написать, используя With
, чтобы ваши диапазоны по умолчанию не совпадали с другими листами:
With Sheet2.Range("D3:M20")
Set chtObj = .Parent.ChartObjects.Add(.Left, .Top, _
.Width, .Height)
End With
Возможно, вам потребуется настроить ссылку на лист (в зависимости от того, какую именно ошибку вы получаете).