调整范围大小以在其位置写入范围

时间:2018-11-02 14:18:09

标签: excel vba resize range cell

我有一行代码在确定存储的范围的大小,然后将范围写入工作表的不同部分。由于某些原因,当我使用Range("MW6")时,它可以工作,但是如果我使用Range(Cells(6,361)),则它不起作用。下面是代码行

Range(Cells(6,361)).Resize(rng.Rows.Count, rng.Columns.Count).Value = rng.Value

我不知道有什么区别,因为MW6和6,361都引用同一个单元格?错误是1004。

2 个答案:

答案 0 :(得分:1)

收到运行时错误的原因是因为Cell()本身就是一个范围对象。

您可能刚刚使用过:

Cells(6,361).Resize(rng.Rows.Count, rng.Columns.Count).Value

或(如您已经表示过的作品):

Range("MW6").Resize(rng.Rows.Count, rng.Columns.Count).Value

同时使用工作表甚至是工作簿对范围对象进行限定总是一个好主意。

Workbooks().Worksheets().Cells()

或者至少:

Worksheets().Cells()

答案 1 :(得分:0)

为感兴趣的人找到了答案。由于某些原因,我不得不放置Range(Cells(6,361),Cells(6,361))。想知道是否有人知道这是为什么。