我在隔壁桌
| 标题1|标题2|标题3|
| - -|- -|- -|
| v型|X射线|v型|
| X射线|v型|X射线|
| | X射线|X射线|
| v型|v型|v型|
| X射线|v型|X射线|
我想将每一列的“x”替换为另一个值,例如,将第1列替换为“true”,将第2列替换为“false”,将第3列替换为“else”。最后,结果如下:
| 标题1|标题2|标题3|
| - -|- -|- -|
| v型|假的|v型|
| 真的|v型|其他|
| | 假的|其他|
| v型|v型|v型|
| 真的|v型|其他|
但实际情况是,我必须指定工作表名称和表名称(所有表都有相同的列名)。
Sub Macro1()
'
'
'
Dim sheet_name As String
Dim table_name As String
sheet_name = InputBox("Sheet Name?", "enter the data")
table_name = InputBox("Table Name?", "enter the data")
With Worksheet(sheet_name).ListObjects(table_name)
.Range("[header1]").Select
Selection.Replace What:="x", Replacement:="true", LookAt:=xlPart _
, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2
.Range("[header2]").Select
Selection.Replace What:="x", Replacement:="false", LookAt:=xlPart _
, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2
.Range("[header3]").Select
Selection.Replace What:="x", Replacement:="else", LookAt:=xlPart _
, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2
End With
End Sub
如果有人有更好的想法或方法来纠正这段代码,那将是非常有帮助的。
1条答案
按热度按时间e4yzc0pl1#
您可以使用此代码。
我喜欢对这些设置进行某种配置--这样更容易进行更改,例如,如果你想更改替换值。
关于真/假的替换:您需要在替换时在值前面加上',否则Excel会将其转换为
TRUE
FALSE
(值,而不是字符串)显然,如果sheet-name或table-name不存在,则需要一个错误处理程序。