使用vba将.csv文件中的单元格中的信息拉入Excel中的变量

时间:2016-05-04 17:20:48

标签: excel vba excel-vba

我正在为excel表工作一个vba宏,我不知道如何去做我的一个功能。我在宏中有一个私有子,用于获取.csv文件的路径(比如C:/files/file.csv存储为变量'csvfile')。

此时我需要做的是根据某个公式自动从该csv文件中提取信息并将其保存为变量:

=COUNTIFS(F2:F10000,"=medium",Z2:Z10000,"=Open")

总而言之,在电子表格Main.xlsx中的一个宏中,我需要在路径存储在变量csvfile中的文件上运行上面的公式,并将返回的数字保存为宏中的变量,以便我可以使用在我的宏中这个数字。

实际上我需要做九次这样的公式,每次都会略有不同,但是一旦我得到了单个变量,我想我将能够修改它以产生我需要的所有结果。

由于

1 个答案:

答案 0 :(得分:3)

以下是一种实现方法的示例:

Sub OpenAndCount()
    Dim sFile As String
    Dim wb As Workbook
    Dim ws As Worksheet
    Dim cnt As Long
    Dim rng1 As Range
    Dim rng2 As Range


    sFile = "c:\files\file.csv"
    Set wb = Workbooks.Open(sFile)
    Set ws = wb.Sheets(1)
    Set rng1 = ws.Range("F2:F100000")
    Set rng2 = ws.Range("Z2:Z100000")

    cnt = Application.WorksheetFunction.CountIfs(rng1, "=medium*", rng2, "=open")

    Debug.Print cnt
    wb.Close
End Sub