tft每日頭條

 > 生活

 > vba編程從入門到進階教程第14講

vba編程從入門到進階教程第14講

生活 更新时间:2024-11-29 23:22:47

第一章 入門篇

1.22 union與intersect

union與intersect就是單元格區域的并集與交集。

有時候我們需要處理的單元格,都在不同的區域,但我們需要對它們進行相同的操作,這個時候可以用Union把它們連接起來成為一個區域,從而實現對多個非連續區域一起進行操作。它的語法是這樣的:

union(區域1,區域2,區域3......)

union語句最多可以對30個區域進行連接。

intersect則返回單元格區域的交集,它的語法是這樣的:

intersect(區域1,區域2,區域3......)

例句:

union(Cells(2, 1), Cells(4, 1), Cells(6, 1), Cells(8, 1))

'把Cells(2, 1)、Cells(4, 1)、 Cells(6, 1)和Cells(8, 1)四個單元格合并成一個區域,也就是下圖中藍色的部分。

vba編程從入門到進階教程第14講(學習VBA報表做到飛)1

intersect(Range("d4:j12"), Range("f1:h16"))

'獲得Range("d4:j12")和Range("f1:h16")兩個區域的交集,也就是下圖中塗綠色的部分。

vba編程從入門到進階教程第14講(學習VBA報表做到飛)2

小程序:

把下表中資産名稱為"音響設備"的整行信息連同表頭,拷貝到[k1]開頭的單元格區域,填充顔色變為紅色,并統計它們的原值合計數和平均值:

卡片号

資産名稱

建卡

原值

淨值

00007933

空調

2007-12-31

498720.00

14961.60

00007934

台式電腦

2007-12-31

35670.00

1070.10

00012189

音響設備

2007-12-31

12420.00

372.60

00014439

音響設備

2008-06-11

6800.00

204.00

00014437

音響設備

2008-06-11

6800.00

204.00

00014436

音響設備

2008-06-11

6800.00

204.00

00032579

台式微機

2010-12-29

6100.00

183.00

00032578

台式微機

2010-12-29

6100.00

183.00

00034441

電視機

2011-07-07

15600.00

468.00

00047157

空調

2012-09-11

5700.00

171.00

00047156

空調

2012-09-11

5700.00

171.00

00049661

監控設備

2012-12-05

8000.00

240.00

00049664

金庫門

2012-12-05

76000.00

2280.00

00059257

筆記本式微機

2012-12-30

5700.00

171.00

00060654

監控設備

2012-12-30

24250.00

727.50

Sub union與intersect()

Dim ss As Range, i%, a&, b&

Set ss = [b1].offset(0, -1).resize(1, 5)

'先把表頭賦值給ss變量

For i = 2 To 16

If Cells(i, 2).Value = "音響設備" Then

Set ss = union(ss, Cells(i, 2).offset(0, -1).resize(1, 5))

'把每一個符合條件的單元格,先左移一列,然後擴展到整行,再用union語句把ss變量與新行連接成一個區域。

End If

Next

ss.Copy [k1]

ss.Interior.ColorIndex = 3

' 對區域執行拷貝和塗紅操作。

a = Application.Sum(intersect(ss, Range("d:d")))

b = Application.Average(intersect(ss, Range("d:d")))

'對區域和原值列(d列)的交集執行求和與求平均值操作。

MsgBox "選中設備的原值合計為" & a & "元"

MsgBox "選中設備的原值平均值為" & b & "元"

End Sub

往期精彩回顧:

學習VBA,報表做到飛 第一章 入門篇 1.21 specialcells語句

學習VBA,報表做到飛 第一章 入門篇 1.20 Replace語句

學習VBA,報表做到飛 第一章 入門篇 1.19 FindNext語句

我是雲飛揚,職場财會人員,願與大家分享表格制作和數據統計分析的技巧與方法,希望大家的工作更便捷,更輕松!

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved