我有一张工作表,其中包含多个单元格,这些单元格包含一个项目符号,后面跟着一个制表符,然后是文本。我想删除项目符号和文本之间的所有制表符。我做了什么,到目前为止尝试让它工作:
使用搜索和替换:问题是,与 .txt 或 .csv 文件相比,我无法在选项卡 (ALT+0009) 中将其复制到 Excel 的搜索字段中。对于 .txt 和 .csv 文件,这样做没有任何问题。
查找公式并找到了SUBSTITUTE,写下以下公式:
替代(A1,CHAR(9),“”)
这对于一列来说已经足够了。但由于我需要对大量的列和单元格应用该功能,因此这会非常麻烦。还有其他方法或最佳实践吗?感谢您的帮助!
答案1
欢迎来到 SuperUser!我发现几个网站都说使用 Excel 查找/替换窗口并在查找框中键入 ALT+0009。 此方法在 Excel 2020 中不起作用(我怀疑其他版本也不起作用)。
对我有用的是一行 VBA 脚本,它可以从选定的单元格中删除所有制表符。
选择要删除的包含制表符的单元格。
按 ALT+F11 打开 VBE(Visual Basic 编辑器)。
将此代码粘贴到代码模块中,确保光标位于代码上,然后按 F5 运行它。
Sub RemoveTabsFromSelection()
Selection.Replace Chr$(9), vbNullString
End Sub
此代码将每个制表符替换Chr$(9)
为Selection
空,vbNullString
从而有效地删除它们。
答案2
或者,虽然您的原始解决方案(=SUBSTITUTE(A1,CHAR(9),"") 有效,但由于将函数拖动到可能数千个单元格而有些繁琐(我可能错了,但这是我的假设)。
您可以使用 CTRL + D 或 CTRL + R 来减轻拖动带来的烦人影响。
1.) 选择您想要应用的功能的单元格。
2.) 突出显示您想要应用该函数的整个单元格选择(例如,如果我想将公式应用于 A1 到 A8,我可以左键单击 A1,然后按住 SHIFT + 左键单击 A8 以选择整个范围)。
3.) 按 CTRL+D 填充整列或按 CTRL+R 填充整行。