-2

我正在尝试制作一个excel宏。我怎样才能使行变量?它必须增加为 A6,A7,A8... 我知道使列可变但不能对行进行。以下是代码中的几行。

For profnum = 1 To 100
    Range("A6").Select.Offset(1 + (profnum - 1) * 1, 0).Select

我有超过 100 个图形配置文件。每个配置文件都有 x 和 y 值。我将 124(x 和 y 值的数量)更改为 504,如下所示。但是重复 200 次或 500 次是非常困难的,并且需要很长时间。我怎样才能通过宏来制作它?

=SERİLER("file44.txt";main_excel!$ED$4:$ED$504;main_excel!$EE$4:$EE$504;45)
4

2 回答 2

0

您正在使用该Offset方法返回一个隐含一列宽的范围对象,但您正在按行进行迭代。这是Offset方法中的第一个参数:

object.Offset(row_offset, column_offset)

因此,只需通过交换参数的位置对您的代码进行小修改:

Range("A6").Offset(0, 1 + (profnum - 1) * 1).Select

为了保持行不变,但列变化,下面的循环将选择A6,然后B6,然后C6,然后D6,等等。

For i = 1 to 100
    Range("A6").Offset(0, profnum).Select
Next

为了保持列不变,但行变化,以下循环将选择A6A7A8等:

For i = 1 to 100
    Range("A6").Offset(profnum, 0).Select
Next
于 2013-09-06T16:30:32.147 回答
0

可变行?

你是说动态吗?

Dim LstRw As Long
LstRw = Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
于 2013-09-06T18:17:15.187 回答