例一、用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列顯示等號后面的結(jié)果:如果單元格第1行1列不為空白,則顯示,第一行第1列的內(nèi)容是:+第1行第11列的內(nèi)容,否則顯示“空白” End Sub
例二、用Sheet1.Range('a1:a10') 定位
'方法:實際上就是對對象的操作,它是一種動作,一種行為。
Sub 選擇方法() Range('a1:a10').Select '注:如果單元格區(qū)域前沒有寫工作表名,則默認(rèn)為活動工作表 End Sub
Sub 復(fù)制方法() Sheet1.Range('a1:a10') = 1 '將1寫入表一的a1:a10區(qū)域 Sheet1.Range('a1:a10').Copy Sheet2.Range('a1') '將表一的a1:a10區(qū)域的值復(fù)制到表2的a1 End Sub
Sub 刪除方法() Sheets(3).Delete '將一個叫3的表格刪除掉,刪除時會彈出確認(rèn)警告 '工作表如果是數(shù)字()中不用引號,如果是漢字要加引號,否則提示錯誤9“下標(biāo)越界”
Sheets('成績').Delete '將一個表名為“成績”的工作表刪除,會彈出確認(rèn)窗口
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
清空單元格中的數(shù)據(jù)或公式
代碼: Columns('E:E').ClearContents 作用:清除E列的內(nèi)容 如果要清除所有(公式,條件...)將代碼改為 Columns('E:E').Clear 如果要刪除zhi其他列,直接將括弧內(nèi)的E:E改為需dao要的列即可。
例四:求第一列的有數(shù)據(jù)的單元格最大行號、列號
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 ' 在此單元格顯示最后一行的文字內(nèi)容
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版最大行數(shù)是65536行,最大列數(shù)是256列。Excel2007及以后的版本最大行數(shù)是1048576行,最大列數(shù)是16384列。
獲取當(dāng)前位置的行號和列號
=COLUMN()
=row()
|