tft每日頭條

 > 生活

 > vba基礎入門知識

vba基礎入門知識

生活 更新时间:2024-07-24 07:19:41

vba基礎入門知識?第一章 入門篇1.13 offset語句,今天小編就來說說關于vba基礎入門知識?下面更多詳細答案一起來看看吧!

vba基礎入門知識(學習VBA報表做到飛)1

vba基礎入門知識

第一章 入門篇

1.13 offset語句

1、功能

OFFSET語句是以一個單元格為基準,進行偏移,返回的是偏移後的單元格。

2、編寫格式

單元格.offset(偏移幾行,偏移幾列)

偏移幾行:上負,下正

偏移幾列:左負,右正

例如:Range("d8").offset(0, -3),以"d8"單元格為基準單元格,偏移0行-3列,也就是向左偏移3列,偏移後的單元格是“a8”單元格。

3、小程序

把下表中的資産名稱為"音響設備"的資産,以卡片号為名字,新增一個工作表。

卡片号

資産名稱

建卡日期

原值

淨值

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

00014439

音響設備

2008-06-11

6800.00

204.00

00014439

音響設備

2008-06-11

6800.00

204.00

00072375

監控設備

2013-12-28

16986.00

509.58

00072448

空調

2013-12-28

6405.00

192.15

Sub offset()

Dim s As Range

FOR EACH s In Range(Sheets(1).[b2], Sheets(1).Cells(Rows.Count, 2).End(xlUp))

If s.Value = "音響設備" Then

Worksheets.Add(after:=Sheets(Sheets.Count)).Name = s.offset(0, -1)

End If

Next

End Sub

在這個程序裡:

1、For Each s In Range(Sheets(1).[b2], Sheets(1).Cells(Rows.Count, 2).End(xlUp))

因為FOR EACH語句默認是在活動工作表的單元格裡循環,新增一個工作表後,新增的工作表就變成了活動工作表。為避免代碼執行錯誤,循環區間必須加上是在哪個表的單元格區間裡循環。

2、Worksheets.Add(after:=Sheets(Sheets.Count)).Name = s.offset(0, -1)

該語句的意思是:新增一個工作表,它的名字是符合條件的單元格向左偏移一列的單元格的值,也就是卡片号。

after:=Sheets(Sheets.Count),新增的工作表排在已經存在的工作表的後面,默認是在最前面新增。Sheets.Count統計已經存在的工作表的個數。

往期精彩回顧:

學習VBA,報表做到飛 第一章 入門篇 1.12 FOR EACH語句

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

學習VBA,報表做到飛 第一章 入門篇 1.10 END語句通常用法

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

,

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

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

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