【发布时间】:2021-05-25 13:06:04
【问题描述】:
我的代码不能完全正常工作:
Sub Import_TXT()
Dim FileToOpen As Variant
Dim OpenBook As Workbook
Application.GetOpenFilename ("Text Files (*.txt), *.txt")
If FileToOpen <> False Then
Set OpenBook = Application.Workbooks.Open(FileToOpen)
OpenBook.Sheets(1).Range("A1").Copy
ThisWorkbook.Worksheets("BOM").Range("C1").PasteSpecial xlPasteValues
OpenBook.colse False
End If
End Sub
我正在尝试将 txt 文件的所有内容粘贴到活动工作簿工作表“BOM”的单元格“C1”
按照我的建议修复代码:
Sub Import_TXT()
Dim FileToOpen As Variant
Dim OpenBook As Workbook
FileToOpen = Application.GetOpenFilename("Text Files (*.txt), *.txt")
If FileToOpen <> False Then
Set OpenBook = Application.Workbooks.Open(FileToOpen)
OpenBook.Sheets(1).Cells.Copy
ThisWorkbook.Worksheets("BOM").Range("A1").PasteSpecial xlPasteValues
OpenBook.Close False
End If
End Sub
当我在“C1”中需要它时,它现在将所有内容粘贴到单元格“A1”中。更改时弹出错误
ThisWorkbook.Worksheets("BOM").Range("A1").PasteSpecial xlPasteValues
到
ThisWorkbook.Worksheets("BOM").Range("C1").PasteSpecial xlPasteValues
说我只能粘贴在“A1”中
通过简单的改变
.cells
到
.UsedRange
我可以将单元格“C1”定义为粘贴所有内容的范围
【问题讨论】:
-
请注意,"doesn't work" 是一个非常无用的错误描述。你得到了哪个错误,我们需要的信息在哪里,或者你的代码做了什么而不是你期望它做什么。
标签: excel vba copy-paste txt