打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
VBA基础五:单元格cell操作例子

例一、用cells(行,列)定位

Private Sub CommandButton1_Click()
Cells(12, 6) = IIf(Cells(1, 2) > 80, '优秀', '不优秀')
'cells(2,3)表示第12行第6列位置显示后面的判断内容结果

Cells(13, 6) = IIf(Cells(1, 11) <> '', '第一行第1列的内容是:' & Cells(1, 11), '空白')
'在13行第6列显示等号后面的结果:如果单元格第1行1列不为空白,则显示,第一行第1列的内容是:+第1行第11列的内容,否则显示“空白”
End Sub

例二、用Sheet1.Range('a1:a10') 定位

'方法:实际上就是对对象的操作,它是一种动作,一种行为。

Sub 选择方法()
Range('a1:a10').Select
'注:如果单元格区域前没有写工作表名,则默认为活动工作表
End Sub

Sub 复制方法()
Sheet1.Range('a1:a10') = 1    '将1写入表一的a1:a10区域
Sheet1.Range('a1:a10').Copy Sheet2.Range('a1')    '将表一的a1:a10区域的值复制到表2的a1
End Sub


Sub 删除方法()
Sheets(3).Delete  '将一个叫3的表格删除掉,删除时会弹出确认警告
'工作表如果是数字()中不用引号,如果是汉字要加引号,否则提示错误9“下标越界”

Sheets('成绩').Delete '将一个表名为“成绩”的工作表删除,会弹出确认窗口

End Sub

例三:EXCEL VBA 怎样删除某一列符合某个条件的行

Private Sub CommandButton1_Click()

Dim c%, i%
c = Cells(Rows.Count, 4).End(3).Row
For i = c To 1 Step -1
If Cells(i, 4) = '' Then Rows(i).Delete  '删除第4列(D列)的所有空白行,如果只指定一行,把i换成具体哪一行就行了
Next

End Sub

如果删除第3行,可以用语句:
rows(3).delete

同时删除第3行和第3列

Sheet1.Rows(3).Delete
Sheet1.Columns(3).Delete

Private Sub CommandButton1_Click()

For c = ActiveSheet.UsedRange.Columns.Count To 1 Step -1
If Application.CountIf(Columns(c), 0) > 10 Then Columns(c).Delete
Next
End Sub

清空单元格中的数据或公式

代码: Columns('E:E').ClearContents
作用:清除E列的内容
如果要清除所有(公式,条件...)将代码改为 Columns('E:E').Clear
如果要删除zhi其他列,直接将括弧内的E:E改为需dao要的列即可。

例四:求第一列的有数据的单元格最大行号、列号

Private Sub CommandButton2_Click()
Dim m, n
m = ActiveSheet.UsedRange.Cells(1, 1).Row + ActiveSheet.UsedRange.Rows.Count - 1
n = ActiveSheet.UsedRange.Cells(1, 1).Column + ActiveSheet.UsedRange.Columns.Count - 1
Cells(14, 5) = m
Cells(15, 5) = n
End Sub

一般用range.end找最后的行、列
你这种情况可以用UsedRange.SpecialCells(xlCellTypeLastCell)

Private Sub CommandButton2_Click()
Dim m
m = UsedRange.SpecialCells(xlCellTypeLastCell)  '用户活动单元格的最后一行,哪怕不同列的行长短不一样

Cells(14, 5) = m  ' 在此单元格显示最后一行的文字内容

End Sub

Private Sub CommandButton2_Click()
With UsedRange.SpecialCells(xlCellTypeLastCell)
MsgBox '总共有' & .Row & '行,有' & .Column & '列'
End With
MsgBox 'A列最后1行的行号是: 第' & Range('A1048576').End(xlUp).Row & '行'
MsgBox '第1行最后1列的列号是: 第' & Range('XFD1').End(xlToLeft).Column & '列'
End Sub

2003版最大行数是65536行,最大列数是256列。Excel2007及以后的版本最大行数是1048576行,最大列数是16384列。

获取当前位置的行号和列号

=COLUMN()

=row()

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
用VBA得到EXCEL表格中的行数和列数 - 远方的日志 - 网易博客
VBA最大行列号2有数据区域
vba操作Excel经典的通用的代码之一
VBA将单元格数据快速录入字典
VBA|合并工作簿内全部工作表
提取分层() '
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服