|
wangkaiwei 发表于 2012-4-14 08:03
工作忙,没有及时回复,不好意思~
上述代码在编程的模块3中,附件已上传
这个小程序是自己研究的,全部 ...
该代码为 8 楼附件中模块3的代码优化!
代码取消K11的状态提示输入,在代码中使用了 Exit Sub,强制退出过程
使用了Range.End 方法来判断不固定的列,end 的 () 中有4个方向,
关于该方法的使用详解:
http://www.excelpx.com/thread-224527-1-1.html 5楼详解
- Sub Fw()
- Dim Lx As Byte, Hx As Long
- With Sheet1
- Lx = .Range("F4").End(xlToRight).Column '以F4 单元格为基点,往右找到最后一个非空单元格所在的列
- If Application.CountA(.Range(.Cells(5, "F"), .Cells(5, Lx - 1))) <> Lx - 6 Then
- '使用 CountA 统计 F5 到上面找到的列之前的非空单元格的个数,
- '如果统计出来的个数 <> lx-6 说明信息输入不完整
-
- MsgBox "请输入完整的信息后在点确定!", , "信息输入不完整" '给出提示框
- Exit Sub '退出过程
- End If
- Hx = Sheet2.Range("A65536").End(xlUp).Row + 1 '在Sheet2表中以A65536为基点往上查找最后一个非空单元格所在的行 +1 行,就是我们要写入数据的行
- Sheet2.Range("A" & Hx).Resize(, Lx - 5) = .Range("F5").Resize(, Lx - 5).Value '使用 Resize来扩展区域,使数据一次写入
- .Range(.Cells(5, "F"), .Cells(5, Lx)).ClearContents '写入完成后清除第5行中的内容
- End With
- End Sub
复制代码
|
|