tft每日頭條

 > 圖文

 > vba中如何将數組清空

vba中如何将數組清空

圖文 更新时间:2025-01-30 13:29:27

日常工作生活中,我們處理表格時,需要提取一個工作簿中特定行的内容,下面将介紹利用VBA,快速的提取我們想要的内容。

例如下圖,我們想要提取第一列内容為"b"的所有行的内容,代碼如下:

Sub 提取特定行()

Dim arr, arr1(1 To 1000, 1 To 8) '聲明兩個數組變量

Dim x, k

arr = Range("a1:h11")

For x = 1 To UBound(arr) ‘表示arr數組中最大一行

If arr(x, 1) = "b" Then

k = k 1

arr1(k, 1) = arr(x, 1)

arr1(k, 2) = arr(x, 2)

arr1(k, 3) = arr(x, 3)

arr1(k, 4) = arr(x, 4)

arr1(k, 5) = arr(x, 5)

arr1(k, 6) = arr(x, 6)

arr1(k, 7) = arr(x, 7)

arr1(k, 8) = arr(x, 8)

End If

Next x

Range("a15").Resize(k, 8) = arr1 ’此處表示以a15單元格為起點的k行8列的内容

End Sub

vba中如何将數組清空(利用VBA提取特定行及清空數組舉例)1

結果如下圖所示:

vba中如何将數組清空(利用VBA提取特定行及清空數組舉例)2

下面将介紹一種需要清空數組的例子,如下圖,我們需要将第一列中的内容以空行為界,分别提到D列,E列,F列中。

vba中如何将數組清空(利用VBA提取特定行及清空數組舉例)3

代碼如下:

Sub 清空數組()

Dim arr, arr1(1 To 1000, 1 To 1)

Dim x, m, k

arr = Range("a1:a16")

For x = 1 To UBound(arr)

If arr(x, 1) <> "" Then

k = k 1

arr1(k, 1) = arr(x, 1)

Else

m = m 1

Range("c1").Offset(0, m).Resize(k) = arr1

Erase arr1 '表示将arr1數組中的内容清除掉

k = 0

End If

Next

End Sub

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved