╃苍狼山庄╃╃苍狼山庄╃

Clang出品,
必属精品!

Excel VBA实现日期自动填充

要求:在C列输入数值,A列和B列自动填充当前系统日期和时间。

步骤:首先定义A列和B列中的内容格式,A列定义为日期,B列定义为时间,
然后使用快捷键ALT+F11调出VBA编辑器,
双击要使用自动填充的Sheet,本例中为Sheet1,在右侧输入下列代码:

Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Column = 3 Then
    Target.Offset(0, -2) = Date
    Target.Offset(0, -1) = Time
  End If
End Sub

代码中的Target.Column = 3为C列,如果是E列则为Target.Column = 5
Target.Offset(0, -2)为偏移量,本例中为C列向左2列,也就是A列,
如果想在C列填充数值,在E列自动填充日期则把Target.Offset(0, -2) = Date修改为Target.Offset(0, 2) = Date即可。

保存后回到excel表中,在C列中输入数值,A列和B列自动就填充日期和时间了。(注:本excel需要启用宏

示例Excel:点击下载此文件

excel中offset函数如何使用
语法:OFFSET(基点单元格,移动的行数,移动的列数,所要引用的高度,所要引用的宽度)
例:
=OFFSET(A3,2,3,1,1)
A3是基点单元格,
2是正数,为向下移动2 行,负为向上移动2 行
3是正数,为向右移动3列,负为向左移动3列
1是引用 1 个单元格的高度
1 是引用 1 个单元格的宽度
它的结果是引用了D5中数值。

作用:
以指定的引用为参照系,通过给定偏移量得到新的引用。返回的引用可以为一个单元格或单元格区域。并可以指定返回的行数或列数。
语法:
OFFSET(reference,rows,cols,height,width)
Reference 作为偏移量参照系的引用区域。Reference 必须为对单元格或相连单元格区域的引用;否则,函数 OFFSET 返回错误值 #VALUE!。
Rows 相对于偏移量参照系的左上角单元格,上(下)偏移的行数。如果使用 5 作为参数 Rows,则说明目标引用区域的左上角单元格比 reference 低 5 行。行数可为正数(代表在起始引用的下方)或负数(代表在起始引用的上方)。
Cols 相对于偏移量参照系的左上角单元格,左(右)偏移的列数。如果使用 5 作为参数 Cols,则说明目标引用区域的左上角的单元格比 reference 靠右 5 列。列数可为正数(代表在起始引用的右边)或负数(代表在起始引用的左边)。
Height 高度,即所要返回的引用区域的行数。Height 必须为正数。
Width 宽度,即所要返回的引用区域的列数。Width 必须为正数。
说明:
如果行数和列数偏移量超出工作表边缘,函数 OFFSET 返回错误值 #REF!。
如果省略 height 或 width,则假设其高度或宽度与 reference 相同。
函数 OFFSET 实际上并不移动任何单元格或更改选定区域,它只是返回一个引用。函数 OFFSET 可用于任何需要将引用作为参数的函数。例如,公式 SUM(OFFSET(C2,1,2,3,1)) 将计算比单元格 C2 靠下 1 行并靠右 2 列的 3 行 1 列的区域的总值。
示例:
如果您将示例复制到空白工作表中,可能会更易于理解该示例。
公式 说明(结果)
=OFFSET(C3,2,3,1,1) 显示单元格 F5 中的值 (0)
=SUM(OFFSET(C3:E5,-1,0,3,3)) 对数据区域 C2:E4 求和 (0)
=OFFSET(C3:E5,0,-3,3,3) 返回错误值 #REF!,因为引用区域不在工作表中
点击下载理解OFFSET函数.xls

本原创文章未经允许不得转载 | 当前页面:╃苍狼山庄╃ » Excel VBA实现日期自动填充

评论

文章评论已关闭!