vba操作工作表單元格

2021-10-07 17:24:57 字數 2811 閱讀 5493

sub createsheets()

dim i

for i = 1 to 30 step 1

sheets.add(after:=sheets(sheets.count)).name = "4月" & i

next

end sub

sub deletesheets()

dim sht

for each sht in sheets

if sht.name <> "sheet1" then

sht.delete

end if

next

end sub

sub copy()

' 雖然手冊裡說明返回物件,但是實踐中無法獲取,會報執行時錯誤要求物件。需要引用複製後的物件

' typename(activesheet.copy(after:=sheets(sheets.count)))返回boolean

'set sht = activesheet.copy().name="***x"

dim sht

activesheet.copy

set sht = activesheet

sht.name = "***"

end sub

sub test1()

'range選擇

cells.interior.color = vbwhite

dim rng

set rng = range("a1:b2,c4")

rng.interior.color = vbred

union(range("d1"), range("d3")).select

range("f2:f10 d2:g2").select

range("b3:d3,e4:f2").interior.color = vbyellow

'矩形區域

range("b3:d3", "e4:f2").interior.color = vbyellow

'整行整列

range("d6").entirerow.interior.color = vbblue

range("d6").entirecolumn.interior.color = vbyellow

[b3].select

range("1:2").entirerow.interior.color = vbblue

range("e:f").entirecolumn.interior.color = vbyellow

'內容的最後一行

with activesheet.usedrange

msgbox .rows(.rows.count).row

end with

msgbox [b65536].end(xlup).row

'選中單元格同時可啟用其他單元格

'不帶格式複製

[h1:h8].value = [b1:b8].value

end sub

sub test2()

'隔行(內容不同)塗色

dim line,flag

line = 3

flag = false

do while cells(line,1)<>""

if cells(line,1)<>cells(line-1,1) then

flag = not flag

end if

if flag then

cells(line,1).resize(1,48).interior.color = rgb(255,0,0)

end if

line = line +1

loop

end sub

sub test3()

',a,,b,,c

dim arr, arr1() as string, ele, i, j

arr = split([a1].value, ",")

redim arr1(1 to ubound(arr) - lbound(arr) + 1)

j = 1

for i = lbound(arr) to ubound(arr)

arr1(j) = arr(i)

j = j + 1

next

for each ele in arr1

if not ele = "" then debug.print ele

next

end sub

sub test4()

'開始行 截至行

dim startline,endline,used

set used = activesheet.usedrange

startline = used.row

'endline = used.rows(used.rows.count).row

'endline = startline + used.rows.count - 1

endline = range("a" & rows.count).end(xlup).row

'cells(4,columns.count).end(xltoleft)

msgbox startline & " / " & endline

'選擇貼上

range("b4").currentregion.copy

with sheets("sheet4").range("b2")

.pastespecial xlpastecolumnwidths

.pastespecial xlpasteall

end with

end sub

VBA 定位單元格

在excel自帶功能中,即帶有根據特殊格式定位的功能 開始 查詢與選擇 定位條件 可以根據需要定位查詢 標註 常量 公式 空值 可見單元格 等。該函式和下面excel面板功能相通 其使用格式為 expression.specialcells type,value 下表是value可選的引數 選擇有公...

操作工作表 Excel之VBA(3)

示例 1 sheet1 2 sheets 1月 3 sheets 1 注 此處代指第一張表 示例 sheets 1 select 注 選中第一張表 示例 sheets.add after sheet3,count 3 注 在sheet3這個表後面插,插3個表 sheets.add after she...

VBA 06操作單元格物件

使用三種方式表示 range cells microsoft文件 表示乙個單元格 一行 一列 乙個包含單個或若干連續單元格區域的選定單元格範圍,或者乙個三維區域 表示單元格物件 單個單元格 range a1 單元格區域 range a1 b10 一行或多行單元格區域 range 1 5 一列或多列單...