我想有一个宏,它可以在保存时自动将我的文件备份到另一个文件夹.我找到了一个有效的宏,但每次运行它时都会复制(当文件被保存时不会自动生成).任何人都可以帮我修改宏代码按照我的描述工作吗?
MACRO我有:
Sub Auto_Save()
Dim savedate
savedate = Date
Dim savetime
savetime = Time
Dim formattime As String
formattime = Format(savetime, "hh.MM.ss")
Dim formatdate As String
formatdate = Format(savedate, "DD - MM - YYYY")
Application.DisplayAlerts = False
Dim backupfolder As String
backupfolder = "Z:\My Documents\"
ActiveWorkbook.SaveCopyAs Filename:=backupfolder & formatdate & " " & formattime & " " & ActiveWorkbook.Name
ActiveWorkbook.Save
Application.DisplayAlerts = True
MsgBox "Backup Run. Please Check at: " & backupfolder & " !"
End Sub
Run Code Online (Sandbox Code Playgroud) 我对VBA的了解非常有限.但是,在谷歌的帮助下,我做了一个搜索名为Email的列的脚本.然后,如果它找到它,它会查看此列中是否有逗号.如果是,则将逗号更改为点.但是,此解决方案区分大小写.如果列名略有不同,则它不起作用.到目前为止,我知道这个脚本将清理的文件中有2个不同的选项1.电子邮件2.电子邮件 - 个人电子邮件
我希望能够使此脚本适用于所有电子邮件起始列.我试图将其指定为"电子邮件*",但它不起作用.有人能帮我吗?
Sub mySample()
Sheets("Data").Activate
Dim cell As Excel.Range
Dim ws As Excel.Worksheet
Dim i As Integer
Dim j As Integer
For Each ws In Excel.ThisWorkbook.Sheets
i = ws.Cells(1, Excel.Columns.Count).End(Excel.xlToLeft).Column
For j = 1 To i
If ws.Cells(1, j).Value = "Email" Then
Cells.Replace What:=",", Replacement:=".", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End If
Next j
Next ws
Sheets("Automation").Activate
MsgBox "Removing commas in emails - Done!"
End Sub
Run Code Online (Sandbox Code Playgroud) 我有一个宏修剪所有行中不必要的空格.然而,我想使用Trim(替代)功能而不是标准装饰 - 因为有时标准装饰功能对我不起作用.修剪和修剪(替代)之间的区别是
修剪:
TRIM =(A2)
TRIM(替补):
= TRIM(SUBSTITUTE(A4,CHAR(160),CHAR(32)))
我试图将修剪线中的代码更改为:
MyCell.Value = Trim(SUBSTITUTE(MyCell.Value,CHAR(160),CHAR(32)))
Run Code Online (Sandbox Code Playgroud)
但遗憾的是它没有.有谁可以帮我调整代码使其工作?
我的微调
Sub GOOD_CT_TrimBText()
Cells.Select
Dim MyCell As Range
On Error Resume Next
Selection.Cells.SpecialCells(xlCellTypeConstants, 23).Select
For Each MyCell In Selection.Cells
MyCell.Value = Trim(MyCell.Value)
Next
On Error GoTo 0
End Sub
Run Code Online (Sandbox Code Playgroud)