矮化樱桃苗_蓝莓苗价格_梨树苗批发_李子树苗_万林农业基地

二維碼
企資網(wǎng)

掃一掃關(guān)注

當(dāng)前位置: 首頁(yè) » 企資快訊 » 數(shù)碼 » 正文

將字典中鍵值item定義為類_利用類的屬姓處理

放大字體  縮小字體 發(fā)布日期:2022-12-07 14:44:04    作者:付紅英    瀏覽次數(shù):112
導(dǎo)讀

大家好,今日我們繼續(xù)講解VBA數(shù)組與字典解決方案,今日講解第63講內(nèi)容:將字典中鍵值item定義為類,利用類得屬性處理實(shí)際問(wèn)題。在之前得講解中,我講過(guò),對(duì)于字典來(lái)說(shuō),最重要是對(duì)鍵和鍵值得理解,對(duì)于鍵來(lái)說(shuō),最主要得是

大家好,今日我們繼續(xù)講解VBA數(shù)組與字典解決方案,今日講解第63講內(nèi)容:將字典中鍵值item定義為類,利用類得屬性處理實(shí)際問(wèn)題。

在之前得講解中,我講過(guò),對(duì)于字典來(lái)說(shuō),最重要是對(duì)鍵和鍵值得理解,對(duì)于鍵來(lái)說(shuō),最主要得是沒(méi)有有重復(fù)值,我們利用這點(diǎn)解決了排重得很多問(wèn)題;對(duì)于鍵值來(lái)講,要理解它可以裝載任何得數(shù)據(jù)類型得數(shù)據(jù)、數(shù)組、甚至是字典。今日我講解得是ietm裝載類。

我們?cè)诶米值涞脮r(shí)候,往往將鍵作為單獨(dú)數(shù)據(jù),以外得數(shù)據(jù)裝入數(shù)組然后賦值給鍵值,這種處理方法比較復(fù)雜,為了尋求一種更好得辦法,我們可以用類得方法,將數(shù)據(jù)放到類得屬性中。

類是用戶自己定義得對(duì)象和過(guò)程,并組織在一起,該對(duì)象有自己得屬性。我們今日得內(nèi)容只是簡(jiǎn)單得利用類得屬性,來(lái)解決我們得實(shí)際問(wèn)題。

實(shí)例:如下A列到D列數(shù)據(jù),我們要提取數(shù)據(jù)得同時(shí)完成計(jì)算:序列4=序列1+序列2

序列5=序列3+序列2。如何解決呢?

思路分析:上述過(guò)程如果用數(shù)組實(shí)現(xiàn)也是可以得,將序列1,序列2,序列3數(shù)據(jù)放到數(shù)組中,作為鍵值裝入字典,然后再提取即可,今日我們用類得方法解決,我們先定義一個(gè)類,將數(shù)據(jù)序列1,序列2,序列3得數(shù)據(jù)作為類得屬性,然后將類直接作為鍵值裝入字典。

下面看我得代碼實(shí)現(xiàn):

Sub mynzsz_63() '第63講 將字典中鍵值item定義為類,利用類得屬性處理實(shí)際問(wèn)題

Sheets("63").Select

Dim uu As myitem

'將數(shù)據(jù)裝入數(shù)組

myarr = Range("a2:d" & Range("a1").End(xlDown).Row)

Set mydic = CreateObject("scripting.Dictionary") '后期綁定引用字典對(duì)象

'將數(shù)據(jù)裝入字典,鍵值是類,利用類得屬性完成字典數(shù)據(jù)得賦值

For i = 1 To UBound(myarr)

Set uu = New myitem

uu.ido = myarr(i, 2)

uu.idt = myarr(i, 3)

uu.ids = myarr(i, 4)

mydic.Add myarr(i, 1), uu

'mydic(myarr(i, 1)) = uu '注意這種寫(xiě)法不可以

Set uu = Nothing

Next

'清空數(shù)據(jù)回填

[f:h].Clear

[f1:h1] = Array("名稱", "序列4", "序列5")

'回填過(guò)程中利用類得屬性取得數(shù)據(jù)

i = 2

For Each K In mydic.keys

Cells(i, 6) = K

Cells(i, 7) = mydic(K).ido + mydic(K).idt

Cells(i, 8) = mydic(K).idt + mydic(K).ids

i = i + 1

Next

Set mydic = Nothing

End Sub

代碼截圖:

代碼解析:

1 上述代碼實(shí)現(xiàn)了:先定義一個(gè)new類uu,將數(shù)據(jù)序列1,序列2,序列3得數(shù)據(jù)作為類得屬性ido、 idt、 ids,然后將類直接作為鍵值裝入字典。在提取數(shù)據(jù)時(shí)直接可以提取屬性值參與運(yùn)算。

2 myarr = Range("a2:d" & Range("a1").End(xlDown).Row)

上述代碼將數(shù)據(jù)存入數(shù)組

3 for i = 1 To UBound(myarr)

Set uu = New myitem

uu.ido = myarr(i, 2)

uu.idt = myarr(i, 3)

uu.ids = myarr(i, 4)

mydic.Add myarr(i, 1), uu

'mydic(myarr(i, 1)) = uu '注意這種寫(xiě)法不可以

Set uu = Nothing

Next

上述代碼實(shí)現(xiàn)了字典得賦值,鍵myarr(i, 1),對(duì)應(yīng)得鍵值是uu ,而ido、idt、ids是三個(gè)屬性值。

這里要注意得是'mydic(myarr(i, 1)) = uu,這種寫(xiě)法不可以,要留意。

4 For Each K In mydic.keys

Cells(i, 6) = K

Cells(i, 7) = mydic(K).ido + mydic(K).idt

Cells(i, 8) = mydic(K).idt + mydic(K).ids

i = i + 1

Next

數(shù)據(jù)得回填過(guò)程,利用了類得屬性直接提出數(shù)據(jù)相加減。

下面看代碼得運(yùn)行:

今日內(nèi)容回向:

1 如何將數(shù)據(jù)賦值給類得屬性?

2 如何將類賦值給字典?

 
(文/付紅英)
免責(zé)聲明
本文僅代表作發(fā)布者:付紅英個(gè)人觀點(diǎn),本站未對(duì)其內(nèi)容進(jìn)行核實(shí),請(qǐng)讀者僅做參考,如若文中涉及有違公德、觸犯法律的內(nèi)容,一經(jīng)發(fā)現(xiàn),立即刪除,需自行承擔(dān)相應(yīng)責(zé)任。涉及到版權(quán)或其他問(wèn)題,請(qǐng)及時(shí)聯(lián)系我們刪除處理郵件:weilaitui@qq.com。
 

Copyright ? 2016 - 2025 - 企資網(wǎng) 48903.COM All Rights Reserved 粵公網(wǎng)安備 44030702000589號(hào)

粵ICP備16078936號(hào)

微信

關(guān)注
微信

微信二維碼

WAP二維碼

客服

聯(lián)系
客服

聯(lián)系客服:

在線QQ: 303377504

客服電話: 020-82301567

E_mail郵箱: weilaitui@qq.com

微信公眾號(hào): weishitui

客服001 客服002 客服003

工作時(shí)間:

周一至周五: 09:00 - 18:00

反饋

用戶
反饋

主站蜘蛛池模板: 国产日本高清 | 免费人成激情视频在线观看冫 | 亚洲精品高清在线一区二区三区 | 国产无限资源在线观看 | 国内精品久久久久久西瓜色吧 | 国产在线精品一区二区在线观看 | 国产精品嫩草影院永久一 | 2021国产成人精品国产 | 韩国日本免费不卡在线观看 | 99久久亚洲精品无码毛片 | 成人免费高清视频 | 我想看免费毛片 | 久久久久久av无码免费看大片 | 中文字幕在线不卡 | 被群cao的合不拢腿h纯肉视频 | 亚洲综合五月天激动情网 | 久久久久国色av免费观看性色 | 亚洲av无码专区亚洲av网站 | 护士张开腿被奷日出白浆 | 影视先锋av资源噜噜 | 精品综合| 国产三级做爰在线观看∵ | 精品国产日韩亚洲一区二区 | 2021国内精品久久久久影院 | 国产乱人偷精品人妻a片 | 白丝美女被狂躁免费视频网站 | 99麻豆视频| 成年人午夜影院 | 免费无码毛片一区二区三区a片 | 日韩精品欧美国产精品亚 | 久久天堂电影 | 激情小视频在线 | 国产成人欧美 | 九色 91| 亚洲综合国产成人丁香五月激情 | 美女视频黄频大全免费 | 亚洲欧美中文字幕在线一区 | 国产精品99久久免费黑人 | 牛仔裤美女国产精品毛片 | 国外欧美一区另类中文字幕 | 国产精品任我爽爆在线播放 |