ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 兰色幻想

带你入门VBA系列之:不懂的代码快点贴过来

[复制链接]

TA的精华主题

TA的得分主题

发表于 2006-12-22 13:59 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

Private Sub Workbook_BeforePrint(Cancel As Boolean)
rw = Sheet2.[a65536].End(xlUp).Row
Sheet2.Cells(rw + 1, 1) = Sheet2.Cells(rw, 1) + 1
Sheet2.Cells(rw + 1, 2) = Sheet1.[b3]
Sheet2.Cells(rw + 1, 3) = Sheet1.[b6]
End Sub

不懂啊,老师解释一下。谢谢了

TA的精华主题

TA的得分主题

发表于 2006-12-22 17:29 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
QUOTE:
以下是引用jackxie315在2006-12-8 9:31:01的发言:

Private Sub CommandButton1_Click()
    Dim i%, irow%, m% 定义数据类型,%表示整型,简化处理,如$表示string,!表示Long等

    irow = [d65536].End(xlUp).Row d列的最后一个非空单元格
    For i = 4 To irow 
        m = m + 1 记录次数,记录total之前有多少个数据需要放在sum里
        If LCase(Cells(i, 4)) = "total" Then
            Cells(i, 6).Resize(1, 2) = "=sum(r[-1]c:r[-" & m - 1 & "]c)" 这是一个RC格式的写法,Resize是重置单元格大小,即等于range(cells(i,6),cells(i,7)),R1C1表示$A$1,R为行C为列,有[]表示是相对引用,建议搜索RC表示方式的例子看看
            m = 0
        End If
    Next
End Sub

cells.resize 是什么意思啊

sum公式看不懂

dim 1% 为什么加%

在VBA帮助中,要查cells.resize是什么意思,在VBA帮助的“收索中”输入什么啊

问题多了点,谢谢老师解答:)

呵呵,好像是我写的,大致解释一下

TA的精华主题

TA的得分主题

发表于 2006-12-22 17:33 | 显示全部楼层
QUOTE:
以下是引用谶纬在2006-12-10 21:16:11的发言:

Private Sub CommandButton1_Click()
    Application.DisplayAlerts = False
    Set mainwbk = ThisWorkbook
    Set newbk = Workbooks.Add
    mainwbk.Sheets(Array("日报表5", "日报表", "表二星期四")).Copy after:=newbk.Sheets(newbk.Sheets.Count)
    newbk.Sheets(Array("sheet1", "sheet2", "sheet3")).Delete
    newbk.SaveAs "C:\Documents and Settings\Administrator\My Documents\" & "市局报表" & Format(Now(), "yyyy年MM月DD日") & ".xls"
    newbk.Close
    Application.DisplayAlerts = True
End Sub

论坛中找的,我想问下,另存到如“市局报表2006年12月10日”后,原来的公式也复制过来了,我只想要数值和表格,不要公式,应该怎么办。谢谢!

这是新增一个工作薄,然后复制了3个工作表过来,并删除了新增工作薄里默认的3个工作表

如果不要公式,可以在保存前增加点代码(全部单元格的值=全部单元格的值),或录制一个复制》选择性粘贴值的代码

dim sht as worksheet

for each sht in newbk.Sheets(Array("日报表5", "日报表", "表二星期四"))

sht.cells.value = sht.cells.value

next

TA的精华主题

TA的得分主题

发表于 2006-12-22 17:37 | 显示全部楼层
QUOTE:
以下是引用ixus在2006-12-11 15:25:23的发言:

同一段代码:      Sheets(1).Visible = True
      Sheets(1).Select
      Range("A1").Select
      ActiveCell.FormulaR1C1 = Sheets(2).Range("J1").Value
      Selection.AutoFill Destination:=Range("A1:T1"), Type:=xlFillDefault
      Range("A1:T1").Select
      Selection.AutoFill Destination:=Range("A1:T200")
      Sheets(1).Visible = False
 放在Private Sub Workbook_Open()
         End Sub

里面可以运行,为什么放到

Private Sub CommandButton1_Click()
 End Sub

里就提示range的select方法无效呢?请高手解答,或者实现相同的功能,如何简化以上代码,不胜感激!

你的CommandButton1可能在某一个工作表下面,如你的工作表为sheet10,而你这样选择时

      Sheets(1).Select
      Range("A1").Select

第一个工作表选择了,下面这一句就出现问题,你的本意是sheets(1)下面的a1选择,而由于代码在工作表下,range表示的当前工作表的单元格,即sheet10的a1,由于sheet10未选择,故a1选择不了,可以修改

      Sheets(1).Select
      sheets(1).Range("A1").Select 其他类似修改,每个单元格前面都得加上sheets(1)

或者把上面的代码放在模块里,只要不要特定的工作表里即可!

TA的精华主题

TA的得分主题

发表于 2006-12-22 17:39 | 显示全部楼层
QUOTE:
以下是引用陇头梅在2006-12-14 15:19:10的发言:

大家好,有一个问题要请教大家,

我想达到以下目的,假如在第一个工作表1里A列是我的三个客户(从A1单元格往后依次...),公司1,公司2,公司3,公司3,公司1,公司2,公司3,公司3,B2单元格里是不同的日期对应不同的客户,我想在工作表2(属于公司1的)里的B列中自动调用工作表1里的日期,填在工作表2的B列中的日期栏里,

我试着用公式,可惜调用里,若哪一行若数据不是公司1的,表2里的整行就是空行,有什么办法能让表2里的数据依次填写,不出现空行呢,谢谢各位了,有什么好办法请帮忙发到信息箱里:)再次谢谢

建议朋友另起新贴求助,上传自己的附件,在附件里详细说明要求

提问的朋友,建议不要在此跟贴,谢谢!

TA的精华主题

TA的得分主题

发表于 2006-12-23 21:04 | 显示全部楼层

老师你好

我做了一个密码才能打开的程序

可是输入的时候是明码

恳请能不能变成******啊!!!

TA的精华主题

TA的得分主题

发表于 2006-12-24 17:27 | 显示全部楼层

请问:输入密码时怎么变成******啊!!!

急急!!

TA的精华主题

TA的得分主题

发表于 2006-12-24 22:23 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

ActiveSheet.Shapes("图表 4").IncrementLeft 230.25
    ActiveSheet.Shapes("图表 4").IncrementTop -153#

上述语句中的图表名可以自定义吗,,

他的名字时自动往后编号的,,用在程序中间段老是出错

有办法解决吗?

TA的精华主题

TA的得分主题

发表于 2006-12-25 12:25 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

zhichi

带你入门VBA系列之:不懂的代码快点贴过来

带你入门VBA系列之:不懂的代码快点贴过来

TA的精华主题

TA的得分主题

发表于 2006-12-25 14:33 | 显示全部楼层
QUOTE:
以下是引用huwei853在2006-12-23 21:04:48的发言:

老师你好

我做了一个密码才能打开的程序

可是输入的时候是明码

恳请能不能变成******啊!!!

用文本框控件可以做到,设置里面的Passwordchar为*,即可

如果为Inputbox是不可以的,不过可以搜索原先Emily版主的做的星号显示的Inputbox类

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

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-20 00:32 , Processed in 0.040284 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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