excel - 宏适用于逐步但不使用热键
问题描述
我有一个相对简单的宏。它接收用户选择的文本文件,并使用固定宽度的分隔符将其切割成始终相同的列。我的问题是,当我运行我的宏时,所选文件将打开,但它不执行文本到列。
每当您单步执行宏时,它都会执行此操作。当您连续两次在同一个文件上使用宏时,它也可以工作。
Sub Historical()
With Application.FileDialog(msoFileDialogFilePicker)
'Only one file
.AllowMultiSelect = False
'Add filters
.Filters.Add "All", "*.*"
'Show the dialog box
.Show
'Store in fullpath variable
fullpath = .SelectedItems.Item(1)
End With
Dim WrkBk As Workbook
Dim WrkSht As Worksheet
Dim sheetname As String
Set WrkBk = Workbooks.Open(fullpath)
'Code stops here. The file will open but nothing below happens. I tried adding a wait.
Application.Wait (Now + TimeValue("0:00:02"))
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 9), Array(14, 1), Array(17, 9), Array(18, 1), Array(23, 9), _
Array(24, 1), Array(30, 1), Array(62, 1), Array(72, 1), Array(84, 1), Array(94, 1), Array( _
118, 1)), TrailingMinusNumbers:=True
End Sub
解决方案
弄清楚了。这是因为我在宏的热键中使用了 Shift 键,这导致Workbooks.Open
命令出现问题。
推荐阅读
- xdp-bpf - XDP - 每个目标 IP/PORT 都有 AF_XDP 套接字?
- javascript - 如何启动成帧器运动?
- r - 如何在 r 中使用 mgsub 更改与 greple 命令匹配的所有单元格的单元格内容?
- c# - 错误映射类型...映射配置...目标成员
- google-apps-script - 如何使用 onEdit 功能观看多个标签
- javascript - 带有香草js的数组中匹配条目的grt数
- excel - 在设计模式下循环选择用户窗体控件
- reactjs - 如何在 useEffect() 中使用 React history.push() 路由到不同的页面
- java - ICEpdf 不呈现 PDF
- java - JsonPath / Java 如何在过滤中应用数据类型转换