乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 请教 <em>Excel</em> VBA Range.offset 的用法 ...-excel

请教 <em>Excel</em> VBA Range.offset 的用法 ...-excel

作者:乔山办公网日期:

返回目录:excel表格制作


这是截断误差的问题。
可以将数据改成整型以避免这种情况的发生。
所谓截断误差,就像你看到的。你以为得到的正确数字与实际得到的数字在小数点的后面几位有差别。
在你以为得到的正确数字2的时候,它实际的数字可能比2大一点点这时候循环终止。step换成0.01之后为什么运行结果是2——就是这种情况。

Range.Offset
属性
返回 Range 对象,它代表位于指定单元格区域的一定的偏移e799bee5baa6e79fa5e98193e58685e5aeb9364量位置上的区域。
语法
表达式.Offset(RowOffset,
ColumnOffset)
表达式 一个代表 Range 对象的变量。
参数

名称
必选/可选
数据类型
描述

RowOffset 可选 Variant 区域偏移的行数(正数、负数或 0(零))。正数表示向下偏移,负数表示向上偏移。默认值是 0。
ColumnOffset 可选 Variant 区域偏移的列数(正数、负数或 0(零))。正数表示向右偏移,负数表示向左偏移。默认值是
0。
示例

此示例激活 Sheet1 上活动单元格向右偏移三列、向下偏移三行处的单元格。

Visual Basic for Applications

Worksheets("Sheet1").Activate
ActiveCell.Offset(rowOffset:=3, columnOffset:=3).Activate

此示例假设 Sheet1 中包含一个具有标题行的表格。此示例先选定该表格,但并不选择行首。运行此示例之前,活动单元格必须位于表格中。

Visual Basic for Applications

Set tbl = ActiveCell.CurrentRegion
tbl.Offset(1, 0).Resize(tbl.Rows.Count - 1, _
tbl.Columns.Count).Select
dim str_E as string
str_E=range("E1")
range.("V3").autofilter field:=22, criterial:=(str_E), operator:=xlfiltervalues

也可zd直接
range.("V3").autofilter field:=22, criterial:=(range("E1").value), operator:=xlfiltervalues

试试行行:
Option Explicit
Sub 序号()
Dim rng As Range, i%, k%, r%, st As String
k = 1
For Each rng In Selection
r = rng.Row
If Rows(r & ":" & r).Hidden = False Then
st = st & rng.Offset(, -1) & "/" & k
k = k + 1
End If
Next
With CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
.SetText st
.PutInClipboard
End With
End Sub

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网