例一、用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()