vba中数组怎用

如题所述

第1个回答  2021-03-25

    打开Excel表格,点击菜单栏上边的【开发工具】、【Visual Basic】打开VBA编辑器。

    请点击输入图片描述

    在VBA编辑器的菜单栏上边点击【插入】、【模块】。

    请点击输入图片描述

    在模块的代码窗口里边输入以下使用Array数组的程序代码。对比之前的VBA程序代码,将会发现后面的程序比较简洁。

    Sub CreateText2()

    Dim i, j, k, arr

    On Error Resume Next

    Set mysheet1 = ThisWorkbook.Worksheets("Sheet1")

    Set fs = CreateObject("Scripting.FileSystemObject")    '对计算机系统文件进行访问

    Set fi = fs.CreateTextFile("d:\Code12345.txt", True)   '在D盘里边创建Code12345.txt文本文件

    arr = Array("[User]", "uid=", "last_name=", "frist_name=", "accessibility=", _

    "password=", "SAPME:DEFAULT SITE=", "role=", "group=") '把固定内容写入数组里边

    For i = 1 To 1000  '从第一行到1000行

    k = Application.WorksheetFunction.CountIf(mysheet1.Range(mysheet1.Cells(i, 1), _

    mysheet1.Cells(i, 8)), "")    '统计空白单元格的个数

    If k = 0 Then                '如果单元格空白个数为0则:

    j = 0                       'j初始化,数组从0调用

    fi.WriteLine (arr(j))       '把数组里边内容写入文本文档

    For j = 1 To 8             '从第一列到第八列

    fi.WriteLine (arr(j) & mysheet1.Cells(i, j))  '从数组和单元格获取内容写入文本文档

    Next

    End If

    Next

    fi.Close

    End Sub

    请点击输入图片描述

    请点击输入图片描述

    VBA程序代码解读:

    (1)For……Next循环嵌套使用时,外边的For执行一次,待内部的For执行完了之后再执行外边For一次,如此循环,外边的For执行完了之后,循环结束。

    (2)Array是数组函数,里边的参数通常是由逗号(,)间隔,其对应值的序号是从0开始的。如:arr=Array("AA","BB","CC"),arr(1)的值为数组里边的第二个(即"BB")。

    (3)如果要数组里边对应的值,则点击【视图】、【本地窗口】,再按下【F8】键逐行运行程序,过了数组程序行便可以在“本地窗口”的展开数组里边看到相应的值。

    请点击输入图片描述

    请点击输入图片描述

    运行VBA程序,其执行的结果都是一样的。

    请点击输入图片描述

相似回答