|
|
|
|
| ****************************************
| | 2018/10/31 | 《一对一,vba输入查询》 |
|
思路: 1.重新做查询,完善改变功能,简化操作。 2.查询老师(老师用名字区分)课时。 3.查询各科(现方案)。 4.请假部分统计(分全部的,个人的,老师的)
|
|
|
|
|
|
|
|
|
|
| ****************************************
| | 2018/10/31 | 《思路构思vba输入》 |
|
输入以后,光标停留在,输入的单元格内或者在,屏幕内显示单元格 Cells(i, j).Select '读取(单元格显示到屏幕中央)
|
|
|
|
|
|
|
|
|
|
| ****************************************
| | 2018/10/30 | 《关于Xldown和Xlup的用法(Excel VBA)》 |
Xldown和xlup是一对组合,用于寻找某个区间中的非空单元格。 首先我们在单元格的前7行填入如下数据: A1单元格: A2单元格:2 A3单元格:3 A4单元格:4 A5单元格: A6单元格:6 A7单元格:7 A8单元格: A9单元格: A10单元格: A1,A5,A8,A9,A10留空。 代码一: Worksheets("Sheet1").Range("A1").Select Selection.End(xlDown).Select ——最终被选中的单元格是A2 代码二: Worksheets("Sheet1").Range("A2").Select Selection.End(xlDown).Select ——最终被选中的单元格是A4 代码三: Worksheets("Sheet1").Range("A10").Select Selection.End(xlUp).Select ——最终被选中的单元格是A7 通过这三个例子,我们可以更好地理解xlDown和xlUp的用法。 xlDown:从被选中的单元格向下寻找,如果被选中单元格为空,则一直向下走到第一个非空单元格;如果被选中单元格为非空,则向下走到最后一个非空单元格。 xlUp:只需要将 xlDown的规则倒过来,就是xlUp的规则
|
|
|
|
|
|
|
|
|
|
| ****************************************
| | 2018/10/30 | 《Range("B65535")逐行循环到B列最底行》 |
Myr = Range("B65535").End(3).Row For i = 2 To Myr 该循环语句中,从A(B)列第2行开始逐行循环到B列最底行
For i = 9 To [a65536].End(3).Row 该循环语句中,从A列第9行开始逐行循环到A列最底行
是否可写成: For i = 9 To Range("a65536").End(3).Row
End 属性适用于Range 对象描述返回 Range 对象,该对象代表包含源区域的区域结尾处的单元格。等同于按键 END+上箭头键、END+下箭头键、END+左箭头键或 END+右箭头键。只读。句法expression.End(Direction)expression必选。该表达式返回 Range 对象。DirectionLong 类型,必选。移动的方向。可为下列 XlDirection 常量之一: xlToLeft,xlToRight,xlUp或xlDown。 所以,3 就是 xlUp。
Range对象有一个End属性,也许你在阅读别人的例子里经常会看到如“[A65536].End(xlUp).Row”这样的语句,这就是End属性的利用。 End属性应用于Range对象,同样也返回一个Range对象。该对象代表包含源区域的区域结尾处的单元格。如果你还是不明白,那请你在工作表里试一试,分别按Ctrl+上、下、左、右方向键,看看得到的是什么?End属性返回的单元格就相当于在源单元格按住Ctrl键+上(或下、左、右)方向键所得到的单元格。它的语句格式简单写为: 源区域.End(移动方向) 移动方向可以是: xlToLeft :向左移动,相当于在源区域按Ctrl+左方向键。 xlToRight:向右移动,相当于在源区域按Ctrl+右方向键。 xlUp:向上移动,相当于在源区域按Ctrl+上方向键。 xlDown:向下移动,相当于在源区域按Ctrl+下方向键。 所以在程序设计的过程中,很多人喜欢用“[A65536].End(xlUp).Row”语句来返回A列的最后一个非空单元格的行号。 如果当前活动工作表的A列填写的是学生的姓名,现在我们想在表中A列最后一个学生的后面增加一个叫“张三”的学生,则代码为: ActiveSheet.Cells([A65536].End(xlUp).Row + 1, 1).Value = "张三" 语句 [A65536].End(xlUp).Row + 1中,行号加1的目的是在最后一个非空单元格的下一个单元格里输入数据。需要注意的是:如果你的A列全为空的话,“[A65536].End(xlUp).Row”这个语句返回的是1。
|
|
|
|
|
|
|
|
|
|
| ****************************************
| | 2018/10/30 | 《关于Set Sht1 = Sheet5》 |
|
关于Set Sht1 = Sheet5 当需要读取 Sheet6, Sheet7, Sheet(i)等,怎么办,有没有能通用的方法?
'6 、字典去重复值法 Dim Myr&, i& Dim brr, d, k Set d = CreateObject("Scripting.Dictionary") Set Sht1 = Sheet5 Myr = Sht1.[d65536].End(xlUp).Row brr = Sht1.Range("b2:b" & Myr) For i = 1 To UBound(brr) If brr(i, 1) <> "" Then '加上这一句防止中间有空值 d(brr(i, 1)) = "" End If Next k = d.keys ComboBox1.List = k Set d = Nothing
|
|
|
|
|
|
|
|
|
|
| ****************************************
| | 2018/10/30 | 《vba写入数据时已有数据,报警提示》 |
|
vba,课时输入,写入数据时,检查,如所选单元格已有数据,报警提示
�ֹ����� If Len(Cells(i, j)) > 0 Then MsgBox ("已经有数据"): GoTo XX . . . XX:
|
|
|
|
|
|
|
|
|
|
| ****************************************
| | 2018/10/29 | 《EXcel vba :运行时错误‘13’,类型不匹配 》 |
|
EXcel vba :运行时错误‘13’,类型不匹配 课时输入程序,删除部分sheet后,出错,经查:有一个代码中有sheet5,修改页面为sheet5,ok
|
|
|
|
|
|
|
|
|
|
| ****************************************
| | 2018/10/29 | 《西安住房保障和房屋管理》 |
|
西安住房保障和房屋管理 商品房网上备案平台 合同登记号:Y14014196 网址:http://fgj.xa.gov.cn/fw/cx/search.aspx?type=clqht
|
|
|
|
|
|
|
|
|
|
| ****************************************
| | 2018/10/28 | 《物理介绍人》 |
|
15:00-17:00的物理,何明惠给夏老师介绍的,不认识
|
|
|
|
|
|
|