vba:單元格的選擇,查找,合并,批注,SpecialCells,圖形插入 | 您所在的位置:網(wǎng)站首頁 › 屬蛇女和屬雞女合財嗎 › vba:單元格的選擇,查找,合并,批注,SpecialCells,圖形插入 |
一:? '活動單元格:activecell,工作表中活動單元格只有一個 Sub activecells() a = activecell.Address ?'取得活動單元格地址 Cells(2, 3).Activate ? ?'激活指定單元格 End Sub 'selection光標(biāo)所選區(qū)域 Sub 光標(biāo)所選區(qū)域() ? ? Selection = 1 End Sub Sub 在selection中的改變活單元格() For i = 1 To Selection.Count ? ? Selection(i).Activate Next End Sub Sub 運用() Dim i As Range For Each i In Selection ? ? If i = "" Or i = "缺勤" Then ? ? ? ? i = "×" ? ? End If Next i End Sub '小結(jié):selection的好處在于,可以很自由靈活選擇你想要處理的單元格區(qū)域 ?'Range.Offset 屬性'返回 Range 對象,它代表位于指定單元格區(qū)域的一定的偏移量位置上的區(qū)域。 '表達(dá)式.Offset(偏移行, 偏移列) '表達(dá)式 ? 一個代表 Range 對象的變量。 '偏移行列的數(shù)字可以是:正數(shù),負(fù)數(shù),零值 Sub test() [a1].Offset(1, 2).Select ? ?'行列都偏移 [a1].Offset(2).Select ? ? ? '只偏移行 [a1].Offset(, 2).Select ? ? '只偏移列 '如果offset前面的range對象是一個區(qū)域,則偏移后也結(jié)果尺寸不變 [a1:d1].Offset(1, 2).Select [a1:d1].Offset(2).Select [a1:d1].Offset(, 2).Select End Sub Sub offset應(yīng)用1() Dim i% For i = 2 To 8 Step 2 ? ? [a1:e1].Copy [a1:e1].Offset(i) Next i End Sub Sub offset應(yīng)用2() Dim i% For i = 2 To 8 Step 2 ? ? [a1:e1].Offset(i) = "" Next i End Sub 'Range.Resize 屬性 '調(diào)整指定區(qū)域的大小。返回 Range 對象,該對象代表調(diào)整后的區(qū)域。 '語法 '表達(dá)式.Resize(行數(shù), 列數(shù)) '表達(dá)式 ? 一個返回 Range 對象的表達(dá)式。 Sub test() [a1].Resize(2, 3).Select [a1].Resize(2).Select [a1].Resize(, 3).Select End Sub 案例Sub 保存() Dim i%, j%, k% i = [a1].CurrentRegion.Rows.Count - 1 j = [a1].CurrentRegion.Columns.Count k = Application.CountA(Sheet2.Columns(1)) [a2].Resize(i, j).Copy Sheet2.[a1].Offset(k) End Sub 'usedrange與currentregion '如果表中只有一個區(qū)域,兩者最后的結(jié)果是一樣的 '只是表達(dá)方式不一樣 Sub u與c() Sheet3.UsedRange.Select [a1].CurrentRegion.Select End Sub 'Range.EntireRow 屬性 '返回一個 Range 對象,該對象表示包含指定區(qū)域的整行(或多行)。 '語法 '表達(dá)式.EntireRow '表達(dá)式 ? 一個代表 Range 對象的變量。 'Range.EntireColumn 屬性 '返回一個 Range 對象,該對象表示包含指定區(qū)域的整列(或多列) '語法 '表達(dá)式.EntireColumn '表達(dá)式 ? 一個代表 Range 對象的變量。 Sub test() [a1].EntireRow.Select [a1].EntireColumn.Select [a1:a4].EntireRow.Select [a1:d1].EntireColumn.Select End Sub 案例Sub test1() '刪除空行 Dim rng As Range, ads As String For Each rng In [a1:a10] ? ? If rng = "" Then ad = ad & rng.Address & "," Next ads = Left(ad, Len(ad) - 1) Range(ads).EntireRow.Delete End Sub ? 'Range.SpecialCells 方法 '返回一個 Range 對象,該對象代表與指定類型和值匹配的所有單元格。 '語法 '表達(dá)式.SpecialCells(Type, Value) '表達(dá)式 ? 一個代表 Range 對象的變量。 Sub 批注匯總() MsgBox Application.Sum(Selection.SpecialCells(-4144)) End Sub Sub 刪除空行() On Error GoTo 100 Selection.SpecialCells(xlCellTypeBlanks).Select Selection.EntireRow.Delete Exit Sub 100: MsgBox "沒有空行" End Sub XlCellType 常量注釋值xlCellTypeAllFormatConditions任意格式單元格-4172xlCellTypeAllValidation含有驗證條件的單元格-4174xlCellTypeBlanks空單元格4xlCellTypeComments含有注釋的單元格-4144xlCellTypeConstants含有常量的單元格2xlCellTypeFormulas含有公式的單元格-4123xlCellTypeLastCell已用區(qū)域中的最后一個單元格11xlCellTypeSameFormatConditions含有相同格式的單元格-4173xlCellTypeSameValidation含有相同驗證條件的單元格-4175xlCellTypeVisible所有可見單元格12XlSpecialCellsValue 常量注釋值xlNumbers數(shù)字1xlTextValues文本2xlLogical邏輯值4xlErrors錯誤16 |
CopyRight 2018-2019 實驗室設(shè)備網(wǎng) 版權(quán)所有 |