【问题标题】:VBA sheet to new workbook if specific cell populated如果填充了特定单元格,则 VBA 工作表到新工作簿
【发布时间】:2019-02-22 02:58:55
【问题描述】:

我构建了一个宏,可将工作簿中的单个工作表复制到新工作簿中,并将新工作簿保存在特定位置。我已经构建了我的源文件并有 3 张(共 6 张)可能需要添加到新保存的文件中。

我想将工作表 4(原始)工作表保存到新文件,然后查看工作表 2,如果 c2 有特定结果,将工作表移动到新文件,然后查看工作表 17,如果 c2 有具体结果,将工作表移动到新文件。

然后保存。

我的斗争是参考一个特定的单元格来调用动作。

【问题讨论】:

  • "...调用操作"。你的意思是你想让它自动触发吗?到目前为止你做了什么?这听起来是一件相对简单的事情。
  • If Sheet(x).Range("C2") = "Specific Result" Then.... 分享一些代码并准确解释问题所在。由于您没有解释问题,我们只能猜测问题 - 您是在陈述一项任务,而不是一个问题

标签: excel vba if-statement


【解决方案1】:

我的困难在于引用一个特定的单元格来调用操作。

您可以使用一个按钮并在其上分配您创建的宏来触发操作。

【讨论】:

    【解决方案2】:
    @urdearboy
    
    Sub Cleanup()
    '
    ' Cleanup Macro
    '
    ' Keyboard Shortcut: Ctrl+e
    '
    'This is some clean up stuff on a specific tab, somewhere after this I need to add the check of a specific cell and pull the full sheet. 
        Application.ScreenUpdating = False
    
        'Get path for desktop of user PC
        Path = Environ("USERPROFILE") & "\Desktop"
        Sheets("Uploader").Cells.Copy
    
        'Create new workbook and past copied data in new workbook & save to desktop
        Workbooks.Add (xlWBATWorksheet)
        ActiveWorkbook.ActiveSheet.Paste
        ActiveWorkbook.ActiveSheet.Name = "Upload"
        x = Weekday(Date, vbSaturday)
    Select Case x
        Case 1
            x = 2
        Case 2
            x = 3
        Case Else
        x = 1
    End Select
    
        ActiveWorkbook.SaveAs Filename:=Path & "\" & "Upload " & Format(CStr(Date - x), "mmddyyyy") & ".xlsx"
    
            ' start email
        Dim Outlook As Object, EMail As Object
    
    Set Outlook = CreateObject("Outlook.Application")
    
    Set EMail = Outlook.CreateItem(0)
    
    With EMail
        .To = "1"
        .CC = "2"
        .BCC = ""
        .Subject = "File is Ready"
        .Body = "Isn't Automation Amazing!?"
        .Attachments.Add ActiveWorkbook.FullName ' To add active Workbook as attachment
        '.Attachments.Add "" ' To add other files just use path, Excel files, pictures, documents pdf's ect.
        .Display   'or use .Send to skip preview
    End With
    
    
    Set EMail = Nothing
    
    Set Outlook = Nothing
    'end email
        ActiveWorkbook.Close savechanges:=True
    
    Application.ScreenUpdating = True
    
    
        ActiveWorkbook.Close savechanges:=False
    
        End Sub
    

    【讨论】:

      猜你喜欢
      • 2021-07-03
      • 2020-12-28
      • 2018-02-26
      • 1970-01-01
      • 1970-01-01
      • 2016-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多