宏复制和过去的价值和发送

时间:2018-01-22 14:21:12

标签: excel vba excel-vba

大家好日子, 我有一个我无法找到的请求..我有一个excel文件需要由我们的销售团队填写。一旦填写,他们发送给我..在文件中我有一个字段,其中自动添加Windows ID(=用户名())。但是,一旦我收到文档并打开它,我的ID就会弹出来。 是否有可能获得一个"按钮"或" icon"销售团队可以" clic"并且后面的行动将是=>复制/过去用户名的值,这样我就有了完成文档的销售名称,并且"发送"到特定的电子邮件地址? 非常感谢你的帮助 祝大家节日愉快 皮尔

1 个答案:

答案 0 :(得分:0)

如果您知道公式中包含哪个单元格,则可以在关闭文件之前将其复制并粘贴为值,以便在您再次打开它时不会更新,下面的示例将是搜索公式,然后将单元格的内容粘贴为值,将此代码放在ThisWorkbook:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Dim ws As Worksheet: Set ws = Sheets("Sheet1")
    'edit the name of worksheet above as required
    Dim rng As Range
    'declare and set your worksheet, amend as required
    Set rng = Cells.Find(What:="username()", After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
            MatchCase:=False, SearchFormat:=False)
    If Not rng Is Nothing Then
        ws.Range(rng.Address).Copy
        ws.Range(rng.Address).PasteSpecial xlPasteValues
    End If
End Sub