Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 使用VB宏将.csv导入.xls工作簿(而不仅仅是一张工作表)_Vba_Excel_Csv - Fatal编程技术网

Vba 使用VB宏将.csv导入.xls工作簿(而不仅仅是一张工作表)

Vba 使用VB宏将.csv导入.xls工作簿(而不仅仅是一张工作表),vba,excel,csv,Vba,Excel,Csv,我不熟悉Excel中的VBA和宏,因此有一个问题 我有一个Excel工作簿,其中有一个主工作表叫做“BASE”。这里有一列是填充值的。这些值有两种类型: 标量值,只能直接在此表中输入 值的数组。因此,工作簿中有一个指向其他工作表的超链接,在该工作表中要填充这样的值数组。 我有一个包含这些值的.csv文件,我必须使用VBA宏在.xls文件中填充值。谁能告诉我怎么做 假设main.xls有4个输入,其中2个作为标量,2个作为数组(从而链接到工作簿的其他工作表)。因此,当读取.csv文件时,将在同一工

我不熟悉Excel中的VBA和宏,因此有一个问题

我有一个Excel工作簿,其中有一个主工作表叫做“BASE”。这里有一列是填充值的。这些值有两种类型:

  • 标量值,只能直接在此表中输入

  • 值的数组。因此,工作簿中有一个指向其他工作表的超链接,在该工作表中要填充这样的值数组。 我有一个包含这些值的.csv文件,我必须使用VBA宏在.xls文件中填充值。谁能告诉我怎么做


  • 假设main.xls有4个输入,其中2个作为标量,2个作为数组(从而链接到工作簿的其他工作表)。因此,当读取.csv文件时,将在同一工作簿中的基本工作表上插入单个值,并使用这些工作表的基本工作表上的超链接填充两个表(对于从.csv文件输入的数组)。

    类似下面的内容将解析数据(仅当以分号分隔时-您必须更改数据设置为“true”的内容):

    类似这样的操作将选择一个文件:

    Sub SelectFile()
    
    Dim Fname As String
    
    Application.StatusBar = "Getting FileName from User"
    ActiveSheet.Range("C3") = ""
    
    Dim iFileSelect As FileDialog
    Set iFileSelect = Application.FileDialog(msoFileDialogFilePicker)
    Dim vrtSelectedItem As Variant
        If iFileSelect.Show = -1 Then
            For Each vrtSelectedItem In iFileSelect.SelectedItems
                MsgBox "The path is: " & vrtSelectedItem
                Range("C3") = vrtSelectedItem
            Next vrtSelectedItem
        End If
    Set iFileSelect = Nothing
    
    Fname = Range("C3")
    
    Application.ScreenUpdating = False
    
    Workbooks.Open Filename:=Fname
    
    Application.StatusBar = "File Opened"
    
    End Sub
    

    我建议您使用类似的方法,然后根据需要在那里设置数据。请随时更新您的问题。您所说的某些数据的内容没有多大意义,至少在摘要中没有。发布一些代码!

    学习的最佳方法是什么?
    Sub SelectFile()
    
    Dim Fname As String
    
    Application.StatusBar = "Getting FileName from User"
    ActiveSheet.Range("C3") = ""
    
    Dim iFileSelect As FileDialog
    Set iFileSelect = Application.FileDialog(msoFileDialogFilePicker)
    Dim vrtSelectedItem As Variant
        If iFileSelect.Show = -1 Then
            For Each vrtSelectedItem In iFileSelect.SelectedItems
                MsgBox "The path is: " & vrtSelectedItem
                Range("C3") = vrtSelectedItem
            Next vrtSelectedItem
        End If
    Set iFileSelect = Nothing
    
    Fname = Range("C3")
    
    Application.ScreenUpdating = False
    
    Workbooks.Open Filename:=Fname
    
    Application.StatusBar = "File Opened"
    
    End Sub