VBA自學應用(17) TreeView控制項

2021-10-03 10:30:43 字數 2118 閱讀 9444

資料圖如所示

首先找到我們的treeview控制項插入

然後鍵入如下**

private

sub userform_initialize(

)dim i as

integer

dim j as

integer

dim arr

arr = sheet3.range(

"b3"

).currentregion

with

me.treeview1

.style

= tvwtreelinesplusminuspicturetext

.linestyle = tvwrootlines

.checkboxes =

false

with .nodes

.clear

.add key

:="科目", text:="科目名稱"

for i =1to

ubound

(arr,2)

for j =2to

ubound

(arr,1)

-1ifnot isempty(arr(j, i)

)then

if i =

1then

.add relative

:="科目", _

relationship:

=tvwchild, _

key:=arr(j, i)

, _ text

:=arr(j, i)

elseif

not isempty(arr(j, i -1)

)then

.add relative

:=arr(j, i -1)

, _ relationship:

=tvwchild, _

key:=arr(j, i)

, _ text

:=arr(j, i)

else

.add relative:=

cstr

(sheet3.cells(j +

2, i).end

(xlup)

), _

relationship:

=tvwchild, _

key:=arr(j, i)

, _ text

:=arr(j, i)

endif

endif

next

next

endwith

endwith

endsub

最後效果如圖所示

再加上乙個雙擊可以將所選末級科目輸入單元格的事件

private

sub treeview1_dblclick(

)dim lsr as

long

with sheet3

lsr = .cells(rows.count,

"g").end(3

).row +1if

me.treeview1.selecteditem.children =

0then

.cells(lsr,

"g")

=me.treeview1.selecteditem.text

else

msgbox "你選擇的不是末級科目!"

endifend

with

endsub

VBA自學應用(14) 使用DTP控制項輸入日期

首先我們找到開發工具欄下的activex控制項 其他控制項,如圖所示。然後找到我們需要的控制項 最後用 控制dtp控制項的位置和輸入。private sub worksheet selectionchange byval target as range with me.dtpicker1 if ta...

VBA應用例項

在這裡我記錄了常用的技巧。1 常用引用excel物件的方法 不完整,不斷新增 sheets 指定 名 activesheet 當前焦點的 activeworkbook 當前焦點的工作簿,即excel檔案 下面兩行用於引用指定 dim ws as excel.worksheet set ws shee...

VBA應用EXCEL公式

七個使用公式的例子 1 行標是變數的例子 2 列標用一維陣列輸入字串做列標,行標是變數 3 用rc做相對引用 4 rc和變數混合 5 整列使用rc引用,避免使用迴圈 6 整個區域rc引用 相對引用 迴圈 7 整個區域rc應用 相對引用 不用迴圈 sub數例 a1 1a a2 d2 a3 cd a4 ...