vba 跳到下一个循环_VBA野知识分享:从一个数组中取部分值生成新数组,不使用循环的思路...
生活随笔
收集整理的這篇文章主要介紹了
vba 跳到下一个循环_VBA野知识分享:从一个数组中取部分值生成新数组,不使用循环的思路...
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
從一個數組中取部分值生成新數組,要實現此需求通常都是采用循環(huán)的方法來完成,那有沒有更簡易的思路呢?
借用jscript可以實現,直接取值,不用循環(huán)。例如從100000萬中元素是取8000個值出來生成新的數組,jscript能簡單運行過程和書寫過程。
案例展示:
假設用A1:A50區(qū)域的值生成一個數組Arr,然后從Arr中取5個值出來生成第二個數組Arr2。
代碼如下:
Sub 從數組中取一段值生成新的數組() '不使用循環(huán)的思路 Dim x As Object, y As Object, arr, arr2 '聲明變量 Set x = CreateObject("Scriptcontrol") x.Language = "jscript" x.eval "function aa(aa) {return aa.toArray();}" arr = [a1:a30].Value '將A1:A30的值賦給變量Arr Set y = x.Run("aa", arr) '將數組arr的值傳給變量y 'slice有兩個參數,第一參數10表示從第11個元素開始(下標為0,因此參數10表示第11個值開始取值,包含第11個值本身) '第二個參數15表示取值時截止到第16個值結束,但不包含第16個值。 '簡單講,slice(10, 15)就是從第11個值開始取到第15個值結束 arr2 = Split(y.slice(10, 15), ",") MsgBox Join(arr2, ","), vbOKOnly, "新的數組" '將提取出來的新數組轉換成一個字符串,輸出到屏幕上 'End Sub執(zhí)行代碼的結果如下:
請核對以上結果,它是代碼y.slice(10, 15)生成的。從第11個元素開始取值到第16個結束,但不包含第16個(數組下標為0)。
學會了嗎?
關注公眾號可以獲取更多知識分享。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的vba 跳到下一个循环_VBA野知识分享:从一个数组中取部分值生成新数组,不使用循环的思路...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python算法编程_Python算法编
- 下一篇: vba动态二维数组_VBA实战技巧05: