是否可以使Excel在csv更新时自动将整个csv复制到电子表格中?

是否可以使Excel在csv更新时自动将整个csv复制到电子表格中?,excel,Excel,应用程序将数据输出为CSV文件。然后我在Excel中打开CSV文件,然后将内容复制并粘贴到Excel工作簿的电子表格中。工作簿中有处理数据和绘制图表的电子表格 每次更新CSV文件时,我都必须手动打开CSV文件并将其内容复制到工作簿中。我是泰迪奥斯。此外,如果CSV文件已打开,并且我试图写入它,则应用程序会给出错误消息。这意味着,我必须在复制数据后关闭CSV文件。我已经这样做了几十次,希望有一个替代的解决方案 每当CSV文件更新时,Excel是否会自动将数据从CSV文件复制到工作簿中的电子表格中?

应用程序将数据输出为CSV文件。然后我在Excel中打开CSV文件,然后将内容复制并粘贴到Excel工作簿的电子表格中。工作簿中有处理数据和绘制图表的电子表格

每次更新CSV文件时,我都必须手动打开CSV文件并将其内容复制到工作簿中。我是泰迪奥斯。此外,如果CSV文件已打开,并且我试图写入它,则应用程序会给出错误消息。这意味着,我必须在复制数据后关闭CSV文件。我已经这样做了几十次,希望有一个替代的解决方案


每当CSV文件更新时,Excel是否会自动将数据从CSV文件复制到工作簿中的电子表格中?

宏将是您最好的朋友

首先打开excel选项中的“开发人员”选项卡

现在转到顶部的标签,上面写着Developer。您将看到“录制宏”按钮,还有一个叫做Visual Basic的按钮。对于初学者来说,打开所需的工作表,然后单击该记录可能更容易,它将跟踪您的操作,然后单击“停止”,它将保存一个执行该操作的文件

您可以尝试编辑以下内容以满足您的需要

Sub CopyIn()
Dim CurrWB As Variant
CurrWB = ActiveWorkbook.Name
Dim StartSheet As Variant
StartSheet = ActiveSheet.Name
Dim CurrSheet As Variant
CurrSheet = ActiveSheet.Name
Dim CurrCol As Variant
Dim CurrRow As Variant
CurrCol = ActiveCell.Column
CurrRow = ActiveCell.Row

Dim Closing As Variant
If CurrWB = "yourCSVfile" Then
Closing = MsgBox("Critical Error" & Chr(10) & "Looks like the CSV download sheet is currently selected" & Chr(10) & "Cannot import into the CSV's download" & Chr(10) & Chr(9) & Chr(9) & "...Closing import tool now", vbCritical, "Importing Error")
Exit Sub
End If

Workbooks("yourCSVfile").Activate
Sheets("Sheet1").Select
Cells(1, 1).Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.Copy
Workbooks(CurrWB).Activate
Sheets(CurrSheet).Select

Cells(CurrRow, CurrCol).Select
ActiveSheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:= _
    False, NoHTMLFormatting:=True

ActiveSheet.Paste
Selection.EntireColumn.AutoFit

'closes the CSV file
'
'Uncomment the below lines to close the CSV file at the end
'
'Windows("yourCSVfile").Activate
'ActiveWindow.Close

Workbooks(CurrWB).Activate
ActiveWindow.WindowState = xlMaximized

End Sub
希望这是有帮助的。您需要将yourCSVfile更改为文件的实际标题。上述文件将复制到您打开的任何工作表中。我通常对已经是.xlsx的文件执行此操作,因此您可能需要对CSV文件进行一些编辑。最后,您可以将此代码保存到特定的电子表格中,然后将其保存到宏启用工作表中,但如果您不想这样做,则可以将代码保存到您的个人宏工作簿中,然后在打开任何文件时使用它


这里的代码是一个起点,可能需要进行一些额外的编辑才能正常工作。如果您有更多关于文件名和选项卡名的信息,可以将它们添加到代码中

您希望在打开Excel时触发Excel,还是希望在应用程序输出数据时触发Excel?或者,可能是每天一次,等等?当它被打开时,当它被打开并且CSV文件被更新时。在这两种情况下,CSV必须复制到Excel工作簿中的电子表格中。工作簿中的其余电子表格将完成其余工作。在不尝试直接解决问题的情况下,您是否尝试使用Excel中的数据/连接工具插入CSV文件?然后你可以设置你的连接属性在Excel打开时刷新。我不知道那是什么,甚至我也不知道。。。在功能区上,转到“数据”选项卡,然后单击“获取外部数据”。然后从文本中选择并打开CSV文件。