tft每日頭條

 > 圖文

 > excel中設置累計已納稅額

excel中設置累計已納稅額

圖文 更新时间:2024-07-22 17:17:23

excel中設置累計已納稅額?原創作者: 盧子 轉自:EXCEL不加班,現在小編就來說說關于excel中設置累計已納稅額?下面内容希望能幫助到你,我們來一起看看吧!

excel中設置累計已納稅額(EXCEL多表彙總每個公司的地址)1

excel中設置累計已納稅額

原創作者: 盧子 轉自:EXCEL不加班

早期盧子寫過一篇文章,是用公式做的,現在學VBA了,就得嘗試用VBA來解決函數的問題。

多表查找公司的地址、納稅人識别号和開戶行及賬号

明細表,格式一模一樣,現在要将每個明細表的地址、納稅人識别号和開戶行及賬号提取到彙總表。

彙總表,根據公司名稱查找到相關的信息。

說到查找,很多人的第一反應就是VLOOKUP函數,其實查找家族人才濟濟。在彙總表的B2輸入公式,下拉和右拉。

=INDIRECT($A2&"!"&ADDRESS(COLUMN(B1),4,4))

上面是公式的解決方法,來看VBA怎麼解決的?

思路:

将金石這個表的D2:D4,選擇性粘貼,轉置到彙總的B2。同理,金土、金沙也是這樣處理。

相當于錄制一個轉置的宏,加一個循環語句就搞定。分表的内容有合并單元格,錄制出來會有問題,這裡直接用彙總表這個沒合并單元格的錄制宏。

Step 01 錄制一個選擇性粘貼,轉置的宏。

Step 02 查看剛剛錄制的宏代碼。

PasteSpecial就是選擇性粘貼的意思。

Transpose:=True就是轉置的意思。

中間那些可以暫時不用管,删除掉,這樣代碼看起來就整潔很多。

Range("D2:D4").Select

Selection.Copy

這2句的意思就是先選擇單元格D2:D4,然後對選擇的區域進行複制,可以簡化成Range("D2:D4").Copy。

同理,對下面那2句也進行簡化Range("B7").PasteSpecial Transpose:=True。

最後,嵌套循環語句,還有添加工作表名稱,代碼就完成了。

Sub 彙總()

Dim i As Integer

For i = 2 To Sheets.Count

Sheets(i).Range("D2:D4").Copy

Sheets(1).Range("B" & i).PasteSpecial Transpose:=True

Next

End Sub

運行代碼确認效果。

VBA學起來并沒有想象中那麼難,隻要你跟對人。

就像這個讀者所說的,跟錯人,一開始學習那些亂七八糟的概念,不要說是你,即便是我看着都想睡覺。學VBA要從工作上經常接觸到的表格學起,想着如何将表格變得更智能,更容易操作,要從這個觀點出發才能學好。

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

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

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