日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

在詳細介紹本的內容前,我們先輕松一下。

據說,在我家的院子里藏著很多金銀珠寶。你一定想知道藏在哪兒吧,告訴你,就在院子里的一棵樹下。當你興沖沖地跑到院子里準備挖寶藏時,傻眼了,因為我家院子太大,幾乎種了上百棵樹,究竟在哪棵樹下呢?珠寶的誘惑力太強了,你決定挨個樹找,夠你找的了……但是,如果我告訴你,在我家院子里有一棵老槐樹,從這棵槐樹起向右第3棵樹下藏著很多金銀珠寶,你一下子就能找到了。

很多情況下,我們會采用相對位置或坐標來描述事物的位置。因為這樣的描述讓人容易理解,從而方便快速找到想要的東西。

言歸正傳。Offset屬性是Range對象的一個很有用的屬性,它能夠幫助我們指定相對于某個單元格的其它單元格。這樣,我們就能夠很方便地以某一個特定的單元格為起點,遍歷其它單元格,或者到達我們想要的單元格。

簡而言之,Offset屬性能夠幫助我們從工作表中的一個單元格移動到另一個單元格。

Offset屬性的語法表達為:

Range對象.Offset(RowOffset,ColumnOffset)

返回基于起點單元格偏移指定的行數和列數后的單元格。

現在要在單元格區域A2:A7中查找姓名為“趙六”的同學,并將他的分數加粗。代碼如下:

Sub OffsetExa1()

Dim rng As Range ‘聲明單元格對象變量

Dim rngTotal As Range ‘聲明單元格對象變量

Set rngTotal = Range(“A2:A7”) ‘將單元格區域賦值給單元格對象變量

Set rng = Range(“A2”) ‘將單元格賦值對單元格對象變量

‘遍歷單元格區域

Do Until rng.Value = “”

If rng.Value = “趙六” Then ‘如果單元格值為趙六,則將其分數加粗

rng.Offset(0, 1).Font.Bold = True ‘使用Offset屬性偏移到分數單元格

End If

Set rng = rng.Offset(1, 0) ‘將下一個單元格賦值給單元格對象變量

Loop

End Sub

由于本例中是在固定的單元格區域內循環,所以還可使用For Each結構來優化代碼,For Each結構負責循環,Offset屬性負責偏移到相應的單元格。代碼如下:

Sub OffsetExa2()

Dim rng As Range ‘聲明單元格對象變量

Dim rngTotal As Range ‘聲明單元格對象變量

Set rngTotal = Range(“A2:A7”) ‘將單元格區域賦值給單元格對象變量

‘遍歷單元格區域

For Each rng In rngTotal

If rng.Value = “趙六” Then’如果單元格值為趙六,則將其分數加粗

rng.Offset(0, 1).Font.Bold = True ‘使用Offset屬性偏移到分數單元格

End If

Next

End Sub

在很多程序中,經常需要先查找滿足特定條件的單元格,然后以該單元格為基準,對其他單元格進行操作。

下面,我們使用Offset屬性對《Excel VBA解讀(19):員工管理系統開發V1.0》中的系統進行優化,使代碼更加靈活。代碼如下:

Sub TotalData1()

‘聲明Worksheet變量

Dim wksInfo As Worksheet

Dim wksBaseInfo As Worksheet

‘聲明單元格對象變量

Dim rng As Range

‘給wksInfo變量賦值

Set wksInfo =ThisWorkbook.Worksheets(“員工信息數據庫”)

Set wksBaseInfo =ThisWorkbook.Worksheets(“員工基本信息表”)

‘將初始單元格賦值給變量

Set rng = wksInfo.Range(“A2”)

‘將<員工基本信息表>中數據自動填入<員工信息數據庫>工作表

With wksBaseInfo

rng.Value = Range(“B2”).Value

rng.Offset(0, 1).Value =.Range(“F2”).Value

rng.Offset(0, 2).Value =.Range(“B3”).Value

rng.Offset(0, 3).Value =.Range(“D3”).Value

rng.Offset(0, 4).Value = .Range(“F3”).Value

rng.Offset(0, 5).Value =.Range(“B4”).Value

rng.Offset(0, 6).Value =.Range(“D4”).Value

rng.Offset(0, 7).Value =.Range(“F4”).Value

rng.Offset(0, 8).Value =.Range(“B5”).Value

rng.Offset(0, 9).Value =.Range(“F5”).Value

rng.Offset(0, 10).Value =.Range(“B6”).Value

rng.Offset(0, 11).Value =.Range(“D6”).Value

rng.Offset(0, 12).Value =.Range(“F6”).Value

rng.Offset(0, 13).Value = .Range(“B7”).Value

rng.Offset(0, 14).Value =.Range(“F7”).Value

rng.Offset(0, 15).Value =.Range(“B8”).Value

rng.Offset(0, 16).Value =.Range(“D8”).Value

rng.Offset(0, 17).Value =.Range(“F8”).Value

rng.Offset(0, 18).Value =.Range(“B9”).Value

rng.Offset(0, 19).Value =.Range(“D9”).Value

rng.Offset(0, 20).Value =.Range(“F9”).Value

rng.Offset(0, 21).Value =.Range(“B10”).Value

rng.Offset(0, 22).Value =.Range(“B11”).Value

rng.Offset(0, 23).Value =.Range(“B12”).Value

End With

End Sub

這樣,避免了“員工信息數據庫”中的單元格采用“硬編碼”(即在代碼中使用固定的單元格對象。使用“硬編碼”的代碼使得以后要修改代碼時,需要逐個修改相應的單元格代碼,很繁鎖,也容易出錯。對于經常變換的單元格,最好使用對象變量,例如例子中“員工信息數據庫”工作表,在填充數據時,單元格經常要變動。而對于不會變化的單元格,可以使用固定的單元格,如例子中“員工基本信息表”中的單元格F2、B3、D3等)。

上述優化后的代碼,使今后代碼需要擴展時,只需修改起始單元格即可,更加靈活。

分享到:
標簽:Excel函數 excel函數公式 excel表格制作 Excel教程
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定