Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2654|回复: 8

[VBA学习资料] 每周二培训笔记分享【第13讲】单元格操作_续--2012年03月27日

[复制链接]
发表于 2012-3-28 22:13 | 显示全部楼层 |阅读模式
感谢兰版的精彩教学,受益匪浅,万分感激!
以下所有笔记均为兰版每周二晚培训课程的本人做的笔记--完整版

【第13讲】单元格操作_续--2012年03月27日
主要内容:
1、单元格_特殊单元格选取_续6
2、单元格插入与隐藏_续7
3、单元格输入与输出_续8
4、单元格删除_续9
5、类模块测试_调用类模块方法_续10

-----------------------------------------------------------------------------
1、单元格_特殊单元格选取_续6
Sub 单元格交集()   '结果为cells(3, 2).select
    Application.Intersect(Rows(3), Columns(2)).Select
End Sub
'产品名称,型号,单价,数量,金额
Sub 顶点单元格()  '每新增1条数据需要在下一行接着输入,以此往下
    Range("a65536").End(xlUp).Select          'end(xlUp) 相当于键盘“CTRL + 上箭头”,找到第1个非空单元格
    mr = Range("a65536").End(xlUp).Row + 1     'mr为最后1条数据后面的第1行
    'mr = Range("a65536").End(xlUp).Row + 3    'mr为最后1条数据后面的第3行
    'end(xlDown)     --相当于键盘“CTRL + 下箭头”找到第1个非空单元格
    'end(xlToRight)  --相当于键盘“CTRL + 右箭头”找到第1个非空单元格
    'end(xlToLeft)   --相当于键盘“CTRL + 左箭头”找到第1个非空单元格
End Sub

Sub 顶点单元格2()
Dim k As Integer
    k = Range("c5000").End(xlUp).Row
    MsgBox k & "行"
End Sub

Sub 删除数量为空白的行()
    Range("D:D").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
    'SpecialCells 相当于 菜单栏上的 [编辑]-[定位] ...
    'Range("2:2")specialCells(xlCellTypeBlanks).EntireColumn   --返回列entireColumn
End Sub
-----------------------------------------------------------------------------
2、单元格插入与隐藏_续7
Sub 隐藏行和列()     '只能隐藏行,不能隐藏单元格
    Rows("3:5").Hidden = True
    Columns("b:c").Hidden = True
End Sub
Sub 取消隐藏行和列()
    Rows("3:5").Hidden = False
    Columns("b:c").Hidden = False
End Sub

Sub B列为空白就隐藏此行()  'hidden = true 隐藏  false 取消隐藏
    Range("b:b").SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
End Sub

Sub 隐藏单个单元格所在的行和列()    '关键字:entireRow entireColumn
    Range("b2").EntireRow.Hidden = True
    Range("b2").EntireColumn.Hidden = True
End Sub
Sub 隐藏单元格区域所在的行和列()
    Range("b2:d10").EntireRow.hiiden = True
    Range("b2:d10").EntireColumn.Hidden = True
End Sub

Sub 指定行列前插入()
    Rows(3).Insert   '插入第3行
    Columns(2).Insert    '插入第2列
End Sub
Sub 指定行列前插入多行列()
    Rows("3:5").Insert      '插入第3行至第5行
    Columns("B:C").Insert    '插入第2列至第3列
End Sub
Sub 在单元格上方插入()
    Range("b3:c5").Insert shift:=xlDown
End Sub

Sub 取消1至10行的隐藏()
    Rows("1:10").Hidden = False
End Sub
-----------------------------------------------------------------------------
3、单元格输入与输出_续8
Sub 录制字母()
    Range("a1:a10").Value = "a"
End Sub

Sub 输入数字()  'b1至b10 输入1至10
Dim x As Integer
For i = 1 To 10
    Cells(i, 2) = i
Next i
End Sub
Sub 单元格中输入公式()  '即d2=b2*c2
    Range("d2") = "=b2*c2"
End Sub

Sub 单元格中输入公式2()  '即 d2 = countif(a:a,"b")
    Range("d2") = "=countif(a:a,""b"")"   '注意字符串双引号要加倍
End Sub

Sub 公式变数值()  '自己=自己   --注意:被取的值要加 .value
    'Range("d2") = Range("d2").Value
    [d2:d7] = [d2:d7].Value
End Sub
Sub 区域取值()  '效率性能上比copy要快很多
    [e2:g10] = [a2:c10].Value
End Sub
Sub 取得单元格公式()  '取得公式 Formula
    MsgBox "D2单元格的公式为:" & Range("d2").Formula
End Sub
-----------------------------------------------------------------------------
4、单元格删除_续9
Sub 清除全部()
    Range("a1").Clear
End Sub
Sub 清除格式()
    Range("a1").ClearFormats
End Sub
Sub 清除内容()
    Range("a1").ClearContents
    'range("a1:a100") = ""
End Sub
Sub 清除批注()
    Range("a1").ClearComments
End Sub
Sub 删除后_右侧单元格左移()  'xlToLeft 左移
    Range("b2").Delete shift:=xlToLeft
End Sub
Sub 删除后_下方单元格上移()
    Range("b2").Delete shift:=xlUp  'xlUp 上移
End Sub
Sub 删除单元格所在的行()
    Range("b2").EntireRow.Delete
End Sub
Sub 删除单元格所在的列()
    Range("b2").EntireColumn.Delete
End Sub

-----------------------------------------------------------------------------
5、类模块测试_调用类模块方法_续10
'--------新建类模块 --类模块函数库  封装类方法属性
Function 求和(rg As Range)
    求和 = Application.Sum(rg)
End Function
Function 平均数(rg As Range)
    平均数 = Application.Average(rg)
End Function
Function 最大值()
    最大值 = Application.Max(rg)
End Function

'-------新建模块调用函数库方法
Sub 计算()
    Dim f As New 类模块函数库
    f.平均数
    f.求和
    f.最大值
    '...
End Sub

-----------------------------------------------------------------------------
完!

下节课预备:单元格查找与合并
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2012-3-28 22:56 | 显示全部楼层
回复

使用道具 举报

发表于 2012-3-29 11:29 | 显示全部楼层
辛苦了,谢谢分享。                              
回复

使用道具 举报

发表于 2012-3-29 14:36 | 显示全部楼层
很不错啊,贵在坚持!
回复

使用道具 举报

发表于 2012-3-29 14:45 | 显示全部楼层
好好学习!楼主好样的!
回复

使用道具 举报

发表于 2012-4-1 13:00 | 显示全部楼层
好好学习!楼主好样的!
回复

使用道具 举报

发表于 2012-4-22 23:06 | 显示全部楼层
好好学习!楼主好样的!
回复

使用道具 举报

发表于 2012-4-23 17:38 | 显示全部楼层
好好学习!楼主好样的!
回复

使用道具 举报

发表于 2012-4-23 19:58 | 显示全部楼层
顶一下楼主,好好学习!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-29 01:50 , Processed in 0.570075 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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