作者:乔山办公网日期:
返回目录: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