我每月更新一个word文件 - 它包含空白行,misc特殊字符,每个报告,描述,参考和日期都会发生变化。
word文档中的数据快照:
Word document data example
目前上传到excel,auto_open宏打开并从word导入数据。然后宏停止用户清理 - 我目前使用“过滤器”功能删除除标题,结果和日期之外的所有内容。如果misc特殊字符是常量,我可以自动化,但事实并非如此...... 我搜索了多个论坛寻求帮助,并找到了一些代码,删除除了字母字符以外的所有字符 - 它给了我开始的基础知识 - 它删除了除字母之外的所有内容然后使它们全部上限 - 我迷失在这一个......
我目前使用的是:
Sub Remove_stuff()
Dim varRange As Range
Dim varWorkRange As Range
Set varWorkRange = Range("A15:A100")
Range("a15").Select
For Each varRange In varWorkRange
varVal = ""
For i = 1 To Len(varRange.Value)
vartemp = Mid(varRange.Value, i, 1)
If Not (vartemp Like "[a-z]" Or vartemp Like "[A-Z]") Then
varStr = ""
Else
varStr = UCase(vartemp)
End If
varVal = varVal & varStr
Next i
varRange.Value = varVal
Next
End Sub
我搜索过使用ISDATE的“赞”来识别带有日期的单元格,并将它们排除在没有运气的情况下被删除。任何帮助将不胜感激 - 谢谢
好的 - 得到了 - 这是word文档中的数据
南区的土壤样本(参考“B6:D4”)
追踪结果
2018年5月20日
1
•...... 水样
盐溶液
2018年5月20日
4
•...... 使用的农药
参考资料库4书C204
2018年5月20日
3 `
答案 0 :(得分:0)
这样的事情:
Sub Remove_stuff()
Dim varRange As Range
Dim varWorkRange As Range
Set varWorkRange = Range("A15:A100")
For Each varRange In varWorkRange
If Not IsDate(varRange) Then
varVal = ""
For i = 1 To Len(varRange.Value)
vartemp = Mid(varRange.Value, i, 1)
If Not vartemp Like "[A-z]" Then
varStr = ""
Else
varStr = UCase(vartemp)
End If
varVal = varVal & varStr
Next i
varRange.Value = varVal
End If
Next
End Sub
正在为我做这个伎俩。