Excel - 查看导入的数据

时间:2016-04-07 09:23:53

标签: excel vba excel-vba

在Excel工作簿中,我有2个选项卡。 1从另一个工作簿导入数据。 另一个我试图做一个vlookup,根据第一个工作簿中的数据填写一些单元格。 但是,vlook up无效,直到我查看导入的数据,选择单元格并按Enter键。第一个工作表中的数据将根据它引用的工作簿进行更新和更改。 有没有一种方法可以让v-look up工作而无需手动点击被引用的单元格?

我的Vlook up功能是:

VLOOKUP(B4,CAPA!A:AU,3,FALSE)

确认 - 公式中的计算设置为自动。

打开文档后需要实施5秒的额外要求?我已经添加了 Private Sub Workbook_Open(), Application.OnTime Now + TimeValue("00:00:10"), "test" End Sub

但是在运行代码时,会显示一条错误,指出宏不存在或宏已被禁用(确认宏已启用并受信任)

非常感谢

1 个答案:

答案 0 :(得分:0)

是的,您可能需要将导入的数据从文本转换为列。在黑暗中拍摄的一点点,但如果是这种情况,请将下面的rngTargetCols替换为相关的,这应该有效 -

Sub test()

    Dim rngTargetCols As Range
    Set rngTargetCols = Sheets("sheet1").Range("A:AU")
    Dim intIndex As Integer

    For intIndex = 1 To rngTargetCols.Columns.Count
        On Error Resume Next
        TextToColumnsFix rngTargetCols.Columns(intIndex)
        On Error GoTo 0
    Next

End Sub

Sub TextToColumnsFix(r As Range)

    With r
        .TextToColumns Destination:=.Worksheet.Cells(1, .Column), DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
            Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
            :=Array(1, 1), TrailingMinusNumbers:=True
    End With

End Sub