返回列表 上一主題 發帖

[發問] 宣告問題

[發問] 宣告問題

超版大大們都會使用Option Explicit 來限制程式碼一定要宣告

但想請教一下,下面這行程式碼是rng=某位置的陣列,我要如何可以宣告出rng陣列的內容值都是BYTE呢?
rng=[a1].resize[7,7]
a=rng(1,1)
我原本的寫法會出現錯誤
dim rng as byte
或是dim rng() as byte
PKKO

回復 2# stillfish00


    我剛測試,會失敗

但若真要如此,似乎宣告為BYTE有點辛苦,而且速度上無法增加多少對嗎?
PKKO

TOP

本帖最後由 PKKO 於 2015-5-8 17:18 編輯

回復 4# stillfish00

   S大您好

我並不確定BYTE會比integer快

因為我自己實驗的時候發現,沒宣告居然還比宣告為BYTE之後快= =?

我不曉得原因在哪~

主要是針對下列程式碼

一個7*7的陣列

想要一次七個比對一組六個號碼
看有幾個號碼符合

若符合用陣列將值記憶起來

下方是我的程式碼?

不曉得有沒有可以一次比對的程式碼?
或是比下方更快的程式碼?
  1. '宣告物件
  2. Dim D As Object
  3. Set D = CreateObject("SCRIPTING.DICTIONARY")  '字典物件
  4.        For q = 1 To 7
  5.             D.RemoveAll
  6.             For j = 1 To 7
  7.                 D.Add rng(j, q), j
  8.             Next
  9.             For j = 1 To y
  10.                 r = 0
  11.                 For k = 1 To 6
  12.                     If D.Exists(Rng2(j, k)) Then r = r + 1
  13.                 Next
  14.                 If r > 0 Then myArray1(r) = myArray1(r) + 1
  15.             Next
  16.         Next
複製代碼
PKKO

TOP

回復 6# bobomi


    哈哈,無聊幫朋友寫的,我個人認為速度已經到極限了,但想說這裡高手雲集,可能還有更快的方式
PKKO

TOP

        靜思自在 : 站在半路,比走到目標更辛苦。
返回列表 上一主題