欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Transpose 數(shù)組行列轉(zhuǎn)置的限制方式

 更新時(shí)間:2020年02月11日 13:05:01   投稿:jingxian  
今天小編就為大家分享一篇Transpose 數(shù)組行列轉(zhuǎn)置的限制方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

提到數(shù)組,大家都不陌生,什么是數(shù)組行列轉(zhuǎn)置呢?其實(shí)也很簡(jiǎn)單,如下圖所示,行列轉(zhuǎn)置就是將數(shù)組元素的存放方式進(jìn)行轉(zhuǎn)換,原來(lái)保存在第一列的數(shù)據(jù),將保持在新數(shù)組的第一行,并且保持原有順序,即6在第一個(gè)位置,8在最后一個(gè)位置。其他列依次類推。

在Excel工作表中有個(gè)強(qiáng)大的函數(shù)Transpose,可以直接實(shí)現(xiàn)數(shù)組行列轉(zhuǎn)置,作為VBA開(kāi)發(fā)者來(lái)說(shuō),肯定不會(huì)忘記用這個(gè)。

Sub Demo1()
  Dim aData(1 To 3, 1 To 2)
  For i = 1 To 3
    For j = 1 To 2
      aData(i, j) = i + j * 5
    Next j
  Next i
  aTrans = Application.Transpose(aData)
  Debug.Print UBound(aData, 1) & " x "; UBound(aData, 2)
  Debug.Print "=>>"
  Debug.Print UBound(aTrans, 1) & " x "; UBound(aTrans, 2)
End Sub

一句代碼輕松實(shí)現(xiàn)轉(zhuǎn)置,比很多程序開(kāi)發(fā)語(yǔ)言都要簡(jiǎn)單,在本地窗口中可以看到轉(zhuǎn)置效果。

這么好用的神奇代碼,有時(shí)會(huì)莫名其妙的罷工,我們來(lái)看看下面的代碼,運(yùn)行代碼將給出“類型不匹配”的錯(cuò)誤提示,錯(cuò)誤號(hào)為“13”。

Sub Demo2()
  Dim aData(1 To 3, 1 To 2)
  For i = 1 To 3
    For j = 1 To 2
      aData(i, j) = i + j * 5
    Next j
  Next i
  aData(1, 1) = Application.Rept("$", 256)
  aTrans = Application.Transpose(aData)  ' Runtime error "13"
  Debug.Print UBound(aData, 1) & " x "; UBound(aData, 2)
  Debug.Print "=>>"
  Debug.Print UBound(aTrans, 1) & " x "; UBound(aTrans, 2)
End Sub

轉(zhuǎn)置失敗的原因在于aData(1,1)的字符長(zhǎng)度為256,Transpose所能夠處理的數(shù)組元素字符長(zhǎng)度最大為255。有時(shí)就是需要處理這樣的數(shù)組元素,那么我們可以使用自定義函數(shù)進(jìn)行數(shù)組的行列轉(zhuǎn)置。TrasnposeArray可以實(shí)現(xiàn)二維數(shù)組的行列轉(zhuǎn)置。其效果與Transpose函數(shù)相同。

Sub Demo3()
  Dim aData(1 To 3, 1 To 2)
  For i = 1 To 3
    For j = 1 To 2
      aData(i, j) = i + j * 5
    Next j
  Next i
  aData(1, 1) = Application.Rept("$", 256)
  aTrans = TransposeArray(aData)
  Debug.Print UBound(aData, 1) & " x "; UBound(aData, 2)
  Debug.Print "=>>"
  Debug.Print UBound(aTrans, 1) & " x "; UBound(aTrans, 2)
End Sub
 
Function TransposeArray(arrA) As Variant
  Dim aRes()
  If VBA.IsArray(arrA) Then
    ReDim aRes(LBound(arrA, 2) To UBound(arrA, 2), LBound(arrA, 1) To UBound(arrA, 1))
    For i = LBound(arrA, 1) To UBound(arrA, 1)
      For j = LBound(arrA, 2) To UBound(arrA, 2)
        aRes(j, i) = arrA(i, j)
      Next
    Next
    TransposeArray = aRes
  End If
End Function

補(bǔ)充說(shuō)明一點(diǎn),由于Transpose本身是工作表函數(shù),因此大家使用時(shí),需要注意它的另一個(gè)限制,就是被轉(zhuǎn)置數(shù)組的最大行數(shù)是65,536。

以上這篇Transpose 數(shù)組行列轉(zhuǎn)置的限制方式就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python數(shù)字圖像處理之圖像簡(jiǎn)單濾波實(shí)現(xiàn)

    python數(shù)字圖像處理之圖像簡(jiǎn)單濾波實(shí)現(xiàn)

    這篇文章主要為大家介紹了python數(shù)字圖像處理之圖像簡(jiǎn)單濾波實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • 深入理解python中的淺拷貝和深拷貝

    深入理解python中的淺拷貝和深拷貝

    下面小編就為大家?guī)?lái)一篇深入理解python中的淺拷貝和深拷貝。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-05-05
  • 簡(jiǎn)述Python2與Python3的不同點(diǎn)

    簡(jiǎn)述Python2與Python3的不同點(diǎn)

    在Python2和Python3中都提供print()方法來(lái)打印信息,但兩個(gè)版本間的print稍微有差異。下面通過(guò)本文給大家介紹Python2與Python3的不同點(diǎn),需要的朋友參考下
    2018-01-01
  • Python列表切片用法示例

    Python列表切片用法示例

    這篇文章主要介紹了Python列表切片用法,結(jié)合實(shí)例形式分析了Python列表切片的常見(jiàn)操作方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2017-04-04
  • 利用 Python 實(shí)現(xiàn)多任務(wù)進(jìn)程

    利用 Python 實(shí)現(xiàn)多任務(wù)進(jìn)程

    這篇文章主要介紹如何利用 Python 實(shí)現(xiàn)多任務(wù)進(jìn)程,正在執(zhí)行的程序,由程序、數(shù)據(jù)和進(jìn)程控制塊組成,是正在執(zhí)行的程序,程序的一次執(zhí)行過(guò)程,是資源調(diào)度的基本單位。下面就來(lái)詳細(xì)介紹改內(nèi)容,需要的朋友可以參考一下
    2021-10-10
  • 我用Python抓取了7000 多本電子書案例詳解

    我用Python抓取了7000 多本電子書案例詳解

    這篇文章主要介紹了我用Python抓取了7000 多本電子書案例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • python pip源配置,pip配置文件存放位置的方法

    python pip源配置,pip配置文件存放位置的方法

    今天小編就為大家分享一篇python pip源配置,pip配置文件存放位置的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • Python 相對(duì)路徑和絕對(duì)路徑及寫法演示

    Python 相對(duì)路徑和絕對(duì)路徑及寫法演示

    這篇文章主要介紹了Python 相對(duì)路徑絕對(duì)路徑的相關(guān)知識(shí),結(jié)合實(shí)例代碼介紹了Python 相對(duì)路徑、絕對(duì)路徑的寫法實(shí)例演示,需要的朋友可以參考下
    2023-02-02
  • Python連接MySQL數(shù)據(jù)庫(kù)的簡(jiǎn)單便捷方法

    Python連接MySQL數(shù)據(jù)庫(kù)的簡(jiǎn)單便捷方法

    在數(shù)據(jù)分析過(guò)程中往往要操作較大的數(shù)據(jù)集,這就需要連接數(shù)據(jù)庫(kù)進(jìn)行操作,下面這篇文章主要給大家介紹了關(guān)于Python連接MySQL數(shù)據(jù)庫(kù)的簡(jiǎn)單便捷方法,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • 一文詳解測(cè)試Python讀寫xml配置文件

    一文詳解測(cè)試Python讀寫xml配置文件

    這篇文章主要介紹了一文詳解測(cè)試Python讀寫xml配置文件,xml也是常用的配置文件格式之一,Python中的xml.etree.ElementTree模塊支持解析和創(chuàng)建xml數(shù)據(jù)
    2022-09-09

最新評(píng)論