例一、用cells(行,列)定位
Private Sub CommandButton1_Click() Cells(12, 6) = IIf(Cells(1, 2) > 80, '優(yōu)秀', '不優(yōu)秀') 'cells(2,3)表示第12行第6列位置顯示后面的判斷內(nèi)容結(jié)果
Cells(13, 6) = IIf(Cells(1, 11) <> '', '第一行第1列的內(nèi)容是:' & Cells(1, 11), '空白') '在13行第6列顯示等號(hào)后面的結(jié)果:如果單元格第1行1列不為空白,則顯示,第一行第1列的內(nèi)容是:+第1行第11列的內(nèi)容,否則顯示“空白” End Sub
例二、用Sheet1.Range('a1:a10') 定位
'方法:實(shí)際上就是對(duì)對(duì)象的操作,它是一種動(dòng)作,一種行為。
Sub 選擇方法() Range('a1:a10').Select '注:如果單元格區(qū)域前沒(méi)有寫(xiě)工作表名,則默認(rèn)為活動(dòng)工作表 End Sub
Sub 復(fù)制方法() Sheet1.Range('a1:a10') = 1 '將1寫(xiě)入表一的a1:a10區(qū)域 Sheet1.Range('a1:a10').Copy Sheet2.Range('a1') '將表一的a1:a10區(qū)域的值復(fù)制到表2的a1 End Sub
Sub 刪除方法() Sheets(3).Delete '將一個(gè)叫3的表格刪除掉,刪除時(shí)會(huì)彈出確認(rèn)警告 '工作表如果是數(shù)字()中不用引號(hào),如果是漢字要加引號(hào),否則提示錯(cuò)誤9“下標(biāo)越界”
Sheets('成績(jī)').Delete '將一個(gè)表名為“成績(jī)”的工作表刪除,會(huì)彈出確認(rèn)窗口
End Sub
例三:EXCEL VBA 怎樣刪除某一列符合某個(gè)條件的行
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行,可以用語(yǔ)句: rows(3).delete
同時(shí)刪除第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
清空單元格中的數(shù)據(jù)或公式
代碼: Columns('E:E').ClearContents 作用:清除E列的內(nèi)容 如果要清除所有(公式,條件...)將代碼改為 Columns('E:E').Clear 如果要?jiǎng)h除zhi其他列,直接將括弧內(nèi)的E:E改為需dao要的列即可。
例四:求第一列的有數(shù)據(jù)的單元格最大行號(hào)、列號(hào)
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) '用戶活動(dòng)單元格的最后一行,哪怕不同列的行長(zhǎng)短不一樣
Cells(14, 5) = m ' 在此單元格顯示最后一行的文字內(nèi)容
End Sub
Private Sub CommandButton2_Click() With UsedRange.SpecialCells(xlCellTypeLastCell) MsgBox '總共有' & .Row & '行,有' & .Column & '列' End With MsgBox 'A列最后1行的行號(hào)是: 第' & Range('A1048576').End(xlUp).Row & '行' MsgBox '第1行最后1列的列號(hào)是: 第' & Range('XFD1').End(xlToLeft).Column & '列' End Sub
2003版最大行數(shù)是65536行,最大列數(shù)是256列。Excel2007及以后的版本最大行數(shù)是1048576行,最大列數(shù)是16384列。
獲取當(dāng)前位置的行號(hào)和列號(hào)
=COLUMN()
=row()
|