Excel VBA 中單元格選取
阿新 • • 發佈:2019-02-13
Option Explicit
'1 表示一個單元格(a1)
Sub s()
Range("a1").Select
Cells(1, 1).Select
Range("A" & 1).Select
Cells(1, "A").Select
Cells(1).Select
[a1].Select
End Sub
'2 表示相鄰單元格區域
Sub d() '選取單元格a1:c5
' Range("a1:c5").Select
' Range("A1", "C5").Select
' Range(Cells(1, 1), Cells(5, 3)).Select
'Range("a1:a10").Offset(0, 1).Select
Range("a1").Resize(5, 3).Select
End Sub
'3 表示不相鄰的單元格區域
Sub d1()
Range("a1,c1:f4,a7").Select
'Union(Range("a1"), Range("c1:f4"), Range("a7")).Select
End Sub
Sub dd() 'union示例
Dim rg As Range, x As Integer
For x = 2 To 10 Step 2
If x = 2 Then Set rg = Cells(x, 1)
Set rg = Union(rg, Cells(x, 1))
Next x
rg.Select
End Sub
'4 表示行
Sub h() 'EntireRow屬性
'Rows(1).Select
'Rows("3:7").Select
'Range("1:2,4:5").Select
Range("c4:f5").EntireRow.Select
End Sub
'5 表示列
Sub L() 'EntireColumn 屬性
' Columns(1).Select
' Columns("A:B").Select
' Range("A:B,D:E").Select
Range("c4:f5").EntireColumn.Select '選取c4:f5所在的行
End Sub
'6 表示正在選取的單元格區域
Sub d2()
Selection.Value = 100
End Sub
例子:選取當前工作表中含有>12的數字所在的行:
方法一:定位
“定位”可以在所選區域中定位大於12的數字所在的單元格,若需要刪除這些單元格所在的行,定位後右鍵——刪除整行即可(具體步驟此文不做詳述)
方法二:如下程式碼:
Public Sub 選取整行()
Dim myrange As Range
Dim currentRange As Range
Set myrange = Range("a1")
Dim myrow As Integer, mycol As Integer
myrow = ActiveSheet.UsedRange.Rows.Count
mycol = ActiveSheet.UsedRange.Columns.Count
For i = 1 To myrow
For j = 1 To mycol
If IsNumeric(Cells(i, j)) And Cells(i, j).Value > 12 Then
Set currentRange = Cells(i, j).EntireRow
Set myrange = Union(myrange, currentRange)
End If
Next j
Next i
myrange.Select
End Sub