我是VBA& Excel中的宏因此有一个问题。
我有一个Excel工作簿,其中一个主要工作表名为“BASE”。这里有一列填充值。这些值有两种类型:
标量值,只能直接在此工作表中输入。
值数组。因此,工作簿中存在指向其他工作表的超链接,其中将填充此类数组。 我有一个包含这些值的.csv文件,我必须使用VBA宏填充.xls文件中的值。谁能告诉你怎么做?
将main.xls视为具有4个输入,其中2为标量,2为数组(因此,链接到工作簿的其他工作表)。因此,当读取.csv文件时,在BASE工作表上插入单个值,并在同一工作簿中使用BASE工作表上的超链接填充两个表(对于.csv文件中的数组输入)。
答案 0 :(得分:0)
以下内容将解析数据(仅当以分号分隔时 - 您必须更改设置为' true'为您的数据):
Sub Parse_Setup()
DoEvents
Application.StatusBar = "Parsing Data"
Application.DisplayAlerts = False
If ActiveSheet.Range("C1").Value = "" Then 'this makes sure the destination cells are empty
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1 _
)), TrailingMinusNumbers:=True
End If
Application.DisplayAlerts = True
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
我建议你使用这样的东西,然后根据需要设置你的数据。随意更新您的问题。你说某些数据的表格部分没有多大意义,至少在摘要中没有。发布一些代码!