註冊
登錄
首頁
論壇版規
禁止列表
說明
地圖
數位書香
私人消息 (0)
公共消息 (0)
論壇任務 (0)
系統消息 (0)
好友消息 (0)
帖子消息 (0)
麻辣家族討論版版
»
Excel程式區
» 如何正確宣告,避免強制轉型時降低速度
返回列表
下一主題
上一主題
發帖
[發問]
如何正確宣告,避免強制轉型時降低速度
PKKO
發短消息
加為好友
PKKO
(PKKO)
當前離線
UID
14751
帖子
549
主題
152
精華
0
積分
691
金錢
691
點名
0
作業系統
WIN7
軟體版本
OFFICE 2010
閱讀權限
50
性別
男
在線時間
506 小時
註冊時間
2013-8-10
最後登錄
2022-9-7
暱稱:
PKKO
高中生
帖子
549
主題
152
精華
0
積分
691
點名
0
作業系統
WIN7
軟體版本
OFFICE 2010
閱讀權限
50
性別
男
註冊時間
2013-8-10
最後登錄
2022-9-7
1
#
跳轉到
»
正序看帖
打印
字體大小:
t
T
發表於 2015-5-29 10:01
|
只看該作者
[發問]
如何正確宣告,避免強制轉型時降低速度
本帖最後由 PKKO 於 2015-5-29 10:02 編輯
EX :
For
j = 1 To UBound(Rng4, 2)
'找出陣列的C
If CStr(RNG(1, i)) = CStr(RNG2(1, j)) Then
c = j
Exit For
End If
Next
複製
代碼
這是原本的作法
比較的時候要兩邊同時轉型成字串,筆免因型別不同而沒有正確比對
但這樣似乎比較慢
有甚麼方式可以在一開始就讓rng這個陣列的內容都限制為字串呢?
可是陣列來源是來自於 Rng=[a1].currentregion
樓主熱帖
如何用vba知道作用儲存格&欄&列的位置
Excel檔案有辦法防止別人複製將檔案帶走嗎?
Userform最大化(且內容比例自動放大?)
如何移除陣列內重複的部分(STRING)
有人知道立柱碰該怎樣計算嗎?(排列組合問題
如何透過VBA隨機"萬中取一"(但不能重複),抽
你開啟檔案時會問你是否要更新嗎?分享取消連
最快速的比對資料方式?
vba可否不打開excel表即可知道a1的值?
20個相同功能ComboBox如何可以省工撰寫?
收藏
分享
PKKO
PKKO
發短消息
加為好友
PKKO
(PKKO)
當前離線
UID
14751
帖子
549
主題
152
精華
0
積分
691
金錢
691
點名
0
作業系統
WIN7
軟體版本
OFFICE 2010
閱讀權限
50
性別
男
在線時間
506 小時
註冊時間
2013-8-10
最後登錄
2022-9-7
暱稱:
PKKO
高中生
帖子
549
主題
152
精華
0
積分
691
點名
0
作業系統
WIN7
軟體版本
OFFICE 2010
閱讀權限
50
性別
男
註冊時間
2013-8-10
最後登錄
2022-9-7
5
#
發表於 2015-5-29 16:11
|
只看該作者
回復
4#
bobomi
感謝!
PKKO
TOP
bobomi
發短消息
加為好友
bobomi
當前離線
UID
16852
帖子
181
主題
5
精華
0
積分
197
金錢
197
點名
0
作業系統
XP
軟體版本
2000
閱讀權限
20
性別
女
在線時間
373 小時
註冊時間
2014-3-9
最後登錄
2024-4-29
中學生
帖子
181
主題
5
精華
0
積分
197
點名
0
作業系統
XP
軟體版本
2000
閱讀權限
20
性別
女
註冊時間
2014-3-9
最後登錄
2024-4-29
4
#
發表於 2015-5-29 14:46
|
只看該作者
本帖最後由 bobomi 於 2015-5-29 14:56 編輯
EXCEL 出來的全部都是 Variant
你無從改變他
強制轉型是必然的
VB也沒有支援陣列直接轉型這種東西 ( AR_String( ) = AR_Variant( ) )
TOP
PKKO
發短消息
加為好友
PKKO
(PKKO)
當前離線
UID
14751
帖子
549
主題
152
精華
0
積分
691
金錢
691
點名
0
作業系統
WIN7
軟體版本
OFFICE 2010
閱讀權限
50
性別
男
在線時間
506 小時
註冊時間
2013-8-10
最後登錄
2022-9-7
暱稱:
PKKO
高中生
帖子
549
主題
152
精華
0
積分
691
點名
0
作業系統
WIN7
軟體版本
OFFICE 2010
閱讀權限
50
性別
男
註冊時間
2013-8-10
最後登錄
2022-9-7
3
#
發表於 2015-5-29 14:12
|
只看該作者
回復
2#
GBKEE
感謝超版大大的回覆
但我想問的是這個部分,要如何能這樣宣告?
Dim Ar() As String, Ar1()
As String
, i, ii
Ar1() = [a1].CurrentRegion'這行會錯誤
PKKO
TOP
GBKEE
發短消息
加為好友
GBKEE
當前離線
UID
16
帖子
5923
主題
13
精華
1
積分
5986
金錢
5986
點名
0
作業系統
win10
軟體版本
Office 2010
閱讀權限
150
性別
男
來自
台灣基隆
在線時間
4811 小時
註冊時間
2010-5-1
最後登錄
2022-1-23
超級版主
帖子
5923
主題
13
精華
1
積分
5986
點名
0
作業系統
win10
軟體版本
Office 2010
閱讀權限
150
性別
男
來自
台灣基隆
註冊時間
2010-5-1
最後登錄
2022-1-23
2
#
發表於 2015-5-29 13:11
|
只看該作者
回復
1#
PKKO
Option Explicit
Sub Ex()
Dim Ar() As String, Ar1(), i, ii
Ar1 = UsedRange.Value
ReDim Ar(1 To UBound(Ar1, 1), 1 To UBound(Ar1, 2))
For i = 1 To UBound(Ar1, 1)
For ii = 1 To UBound(Ar1, 2)
Ar(i, ii) = Ar1(i, ii)
Next
Next
End Sub
複製代碼
下載
(157.81 KB)
2015-5-29 13:11
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限, 一天1元的贊助,人人有能力.
TOP
靜思自在 :
人的眼睛長在前面,只看到別人的缺點,絲毫看不到自己的缺點。
返回列表
下一主題
上一主題
EXCEL專屬討論區
Excelㄧ般區
Excel程式區
進階應用專區
OFFICE 系列
Word
PowerPoint
Access
Office不分區
程式語言
VB 與 VB.Net
C 與 C#
Java 與 J#
程式設計不分區
資料庫
ORACLE
My SQL
MS SQL
網頁設計
ASP 與 ASP.NET
PHP
PHP+MySQL 入門實作
JavaScript
FLASH / ActionScript
HTM/ HTML/ CSS
網頁設計不分區
電腦與作業系統
電腦各種硬體討論
一般電腦軟體討論
論壇事務
管理公告
投訴反映
新手測試
愛 ‧ 生活
公益佈告欄
生活與感動
[收藏此主題]
[關注此主題的新回復]
[通過 QQ、MSN 分享給朋友]
申請友情鏈接
Facebook粉絲