Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
楼主: 兰色幻想

[习题] 带你入门VBA(2004第一期)整理贴,6月26整理完成

[复制链接]
 楼主| 发表于 2006-6-21 11:00 | 显示全部楼层

<p>会员:</p><p>Sub 矩形2_单击()<br/>Dim i As Integer<br/>Dim YYY As Integer<br/>For i = 1 To 20<br/>Sheets("sheet1").Cells(i, 1) = i<br/>Next<br/>YYY = Application.WorksheetFunction.CountA(Columns("A"))<br/>Cells(YYY + 1, 1) = Application.WorksheetFunction.Sum(<font color="#de1010">Range(Cells(1, 1), Cells(YYY, 1)))<br/></font>End Sub<br/>在此Sub中,每次点击一下矩形框,都要在最后一行求和,包括上次Sub运算的结果。</p><p>呵呵!要的就是这样的效果</p><p>但是,我也想知道,如果真的出现了空格怎么办怎么写这个程序呢?</p>
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
回复

使用道具 举报

 楼主| 发表于 2006-6-21 11:01 | 显示全部楼层

<p>如果那样,就用RANGE(A65536).END(XLUP).ROW 来判断最后一行的行号</p>
回复

使用道具 举报

 楼主| 发表于 2006-6-21 11:02 | 显示全部楼层

<p><font color="#1a1ae6">会员:</font></p><p><b><font color="#990000">兰色幻想兄:</font><font color="#000000">我用宏调用“记录单”,怎么样改代码才能使我每次打开的记录单都是新建的,而不需要再用鼠标点击“新建”?以下是我的代码!</font></b></p><p>Sub Macro1()<br/>[a65536].End(xlUp).Offset(1, 0).Select<br/>ActiveSheet.ShowDataForm<br/>End Sub</p>
回复

使用道具 举报

 楼主| 发表于 2006-6-21 11:02 | 显示全部楼层

<p>记录单只能控制它打开,关闭,具体功能应该控制不了,其实平时我很少用它,因为它不太灵活。需要时要可以自已做一个,很简单的代码就可以实现,且很灵活。</p><br/>
[此贴子已经被作者于2006-6-21 11:03:25编辑过]
回复

使用道具 举报

 楼主| 发表于 2006-6-21 11:04 | 显示全部楼层

<p><font color="#3f3fe2">会员:</font></p><p>多谢<b><font color="#990000">兰色幻想兄</font><font color="#000000">,能不能解释一下以下几段代码的意思?还有一个问题:输入数字怎么都变成了文本格式?</font></b></p><p>Option Explicit</p><p>rivate Sub TextBox4_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) If KeyCode = 13 Then</p><p>TextBox1.SetFocus</p>
[此贴子已经被作者于2006-6-26 9:22:17编辑过]
回复

使用道具 举报

 楼主| 发表于 2006-6-26 09:22 | 显示全部楼层

<p>在TextBox1后加.Value输入的就是数字格式了 </p><p>Cells(a, 1) = TextBox1.Value Cells(a, 2) = TextBox2.Value Cells(a, 3) = TextBox3.Value Cells(a, 4) = TextBox4.Value </p><p>TextBox4_KeyDown 是文本框的一个事件,当有按键按下时运行程序中的代码,KeyCode = 13 其中13是ENTER键的代码,所以这句的意思是:如果按下的是回车键就运行。。。。</p>
回复

使用道具 举报

 楼主| 发表于 2006-6-26 09:23 | 显示全部楼层

按键代码可以通过对象浏览器进行查询:<br/><img title="dvubb" alt="图片点击可在新窗口打开查看" src="http://club.excelhome.net/skins/default/filetype/bmp.gif" border="0"/>此主题相关图片如下:<br/><a href="http://club.excelhome.net/UploadFile/2004-10/20041027145418996.bmp" target="_blank"><img title="dvubb" alt="图片点击可在新窗口打开查看" src="http://club.excelhome.net/UploadFile/2004-10/20041027145418996.bmp" border="0" style="ZOOM: 110%;"/></a>
回复

使用道具 举报

 楼主| 发表于 2006-6-26 09:23 | 显示全部楼层

<p><font color="#415ecf">会员:</font></p><p>a列中输入原始数据, 我在d1中建一个按钮, 实现在a列中最后一行自动求和, 并且同时在d2单元格中显示a列自动求和的值, 也就是要自动引用a列自动求和的值, 我的代码如下:</p><p>Sub 按钮1_单击() Dim yyy As Integer yyy = Application.WorksheetFunction.CountA(Columns("a:a")) Cells(yyy + 1, 1) = Application.WorksheetFunction.Sum(Range(Cells(1, 1), Cells(yyy, 1)))</p><p>Range("d2").Value = Cells(yyy + 1).Copy</p><p>End Sub</p><p>但是代码最后一行想实现的功能并没有实现,请问最后一行该如何表示?</p><p>谢谢!</p>
回复

使用道具 举报

 楼主| 发表于 2006-6-26 09:24 | 显示全部楼层

<p>Range("d2").Value = Cells(yyy + 1).Copy应是: </p><p>Range("d2").Value = Cells(yyy + 1,1)</p>
回复

使用道具 举报

 楼主| 发表于 2006-6-26 09:25 | 显示全部楼层

<p><font color="#415ecf">会员:</font></p><p>Sub 椭圆1_单击() Dim x As Integer Dim y As Integer For x = 1 To 9 For y = 1 To 9 Sheets("sheet1").cell(y, x) = x * y Next y Next x End Sub </p><p>请教兰斑竹,上面代码执行会出现“运行时错误“438”,对象不支持该属性或办法”错误,为什么?</p>
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-19 18:01 , Processed in 0.288761 second(s), 6 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表