欧美日韩午夜精品不卡综合-欧美日韩系列-欧美日韩小视频-欧美日韩性-成人五月网-成人五级毛片免费播放

二維碼
企資網

掃一掃關注

當前位置: 首頁 » 企資快訊 » 數碼 » 正文

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

放大字體  縮小字體 發布日期:2022-12-07 14:44:04    作者:付紅英    瀏覽次數:79
導讀

大家好,今日我們繼續講解VBA數組與字典解決方案,今日講解第63講內容:將字典中鍵值item定義為類,利用類得屬性處理實際問題。在之前得講解中,我講過,對于字典來說,最重要是對鍵和鍵值得理解,對于鍵來說,最主要得是

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

在之前得講解中,我講過,對于字典來說,最重要是對鍵和鍵值得理解,對于鍵來說,最主要得是沒有有重復值,我們利用這點解決了排重得很多問題;對于鍵值來講,要理解它可以裝載任何得數據類型得數據、數組、甚至是字典。今日我講解得是ietm裝載類。

我們在利用字典得時候,往往將鍵作為單獨數據,以外得數據裝入數組然后賦值給鍵值,這種處理方法比較復雜,為了尋求一種更好得辦法,我們可以用類得方法,將數據放到類得屬性中。

類是用戶自己定義得對象和過程,并組織在一起,該對象有自己得屬性。我們今日得內容只是簡單得利用類得屬性,來解決我們得實際問題。

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

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

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

下面看我得代碼實現:

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

Sheets("63").Select

Dim uu As myitem

'將數據裝入數組

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

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

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

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 '注意這種寫法不可以

Set uu = Nothing

Next

'清空數據回填

[f:h].Clear

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

'回填過程中利用類得屬性取得數據

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 上述代碼實現了:先定義一個new類uu,將數據序列1,序列2,序列3得數據作為類得屬性ido、 idt、 ids,然后將類直接作為鍵值裝入字典。在提取數據時直接可以提取屬性值參與運算。

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

上述代碼將數據存入數組

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 '注意這種寫法不可以

Set uu = Nothing

Next

上述代碼實現了字典得賦值,鍵myarr(i, 1),對應得鍵值是uu ,而ido、idt、ids是三個屬性值。

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

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

數據得回填過程,利用了類得屬性直接提出數據相加減。

下面看代碼得運行:

今日內容回向:

1 如何將數據賦值給類得屬性?

2 如何將類賦值給字典?

 
(文/付紅英)
免責聲明
本文僅代表作發布者:付紅英個人觀點,本站未對其內容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內容,一經發現,立即刪除,需自行承擔相應責任。涉及到版權或其他問題,請及時聯系我們刪除處理郵件:weilaitui@qq.com。
 

Copyright ? 2016 - 2025 - 企資網 48903.COM All Rights Reserved 粵公網安備 44030702000589號

粵ICP備16078936號

微信

關注
微信

微信二維碼

WAP二維碼

客服

聯系
客服

聯系客服:

在線QQ: 303377504

客服電話: 020-82301567

E_mail郵箱: weilaitui@qq.com

微信公眾號: weishitui

客服001 客服002 客服003

工作時間:

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

反饋

用戶
反饋

主站蜘蛛池模板: 欧美久草 | 噜噜噜狠狠夜夜躁精品 | 偷看各类wc女厕嘘在线观看 | 成人国产精品一级毛片天堂 | 国产亚洲精品看片在线观看 | 色综合久久久久 | 久久久久久久网站 | 一个人看的日本免费视频 | 日韩国产免费一区二区三区 | 久久久久久久久久久久福利 | 日韩国产在线 | 国产精品大全国产精品 | 日韩毛片欧美一级国产毛片 | 国产精品成人一区二区三区 | 92国产福利久久青青草原 | 久久精品国产三级不卡 | 欧美高清正版在线 | 亚洲黄色免费观看 | 免费看欧美毛片大片免费看 | 精品国产成人a在线观看 | 网红毛片 | 一区二区三区不卡在线 | 久久久久久久久久免免费精品 | 亚洲午夜在线观看 | www.色午夜| 亚洲精品456在线播放无广告 | 99精品一区二区三区 | 三级国产精品 | 18视频网站在线观看 | 欧美日韩视频一区二区在线观看 | 九九久久精品视频 | 日本一区二区不卡视频 | 国产三级在线看 | 一区精品视频 | 欧美一区二区三区免费播放 | 综合91| 日本免费高清视频二区 | 国产孕妇做受视频在线观看 | 狼伊千合综网中文 | 欧美xx在线观看 | 国产激情一区二区三区在线观看 |