VBA - 偏移清晰度

时间:2018-05-25 19:22:03

标签: vba

无法理解偏移量。

可能是以下两者之间的定义差异:

function dateFromGoofyFormat(str) {
  return new Date(str.replace(/:/g, function(_1, i) {
    return (i <= 7) ? '-' : ':';
  }));
}

dateFromGoofyFormat('2008:05:30 15:56:01');
// => Fri May 30 2008 15:56:01 GMT-0600 (MDT)

wsSheet1.Cells(Rows.Count, 1).End(xlUp).Row

通过即时窗口进行此操作,并得到了一个奇怪的错误。但我得到第一个给我列中的行数,但是偏移量逐个下降一个单元格?

1 个答案:

答案 0 :(得分:1)

  

是否一个接一个地向下移动一个单元格?

它提供了作为参数提供的许多行和/或列;使用完整语法:

[A1].Offset(RowOffset:=1, ColumnOffset:=1).Activate    'Activates B2
[A1].Offset(RowOffset:=2, ColumnOffset:=1).Activate    'Activates B3
[A1].Offset(RowOffset:=2, ColumnOffset:=2).Activate    'Activates C3

[A1].Offset(RowOffset:=0, ColumnOffset:=0).Activate    'Activates A1
[A1].Offset(RowOffset:=-1, ColumnOffset:=0).Activate   'Error 1004 (Row 0 doesn't exist)

您还应该使用wsSheet1完全限定所有范围:

wsSheet1.Cells(wsSheet1.Rows.Count, 1).End(xlUp).Row
wsSheet1.Cells(wsSheet1.Rows.Count, 2).End(xlUp).Offset(1, 0).Row

With wsSheet1
    .Cells(.Rows.Count, 1).End(xlUp).Row
    .Cells(.Rows.Count, 2).End(xlUp).Offset(1, 0).Row
End With

Offset