问题 I am copying some ranges between sheets and I don't know why it only works when I activate the sheet before I copy or paste them. This works: s.Activate s.Range(Cells(2, 8), Cells(lrow, 8)).Copy d.Activate d.Range(Cells(2, 3), Cells(lrow, 3)).PasteSpecial xlPasteValues This does not: s.Range(Cells(2, 8), Cells(lrow, 8)).Copy d.Range(Cells(2, 3), Cells(lrow, 3)).PasteSpecial xlPasteValues Why does VBA need the sheets to be activated if I've already specified them with the variables "s" and "d"