Excel VBA在单击保存按钮后执行操作

时间:2018-02-20 13:47:03

标签: excel-vba vba excel

我一直试图将这一点与我对VBA的有限理解结合在一起,但所有的点似乎都排成一行。

我有两个SharePoint环境。一个是内部公司使用,另一个是外部访问。

有一个工作簿不断在内部环境中更新。保存该工作簿时我想

  1. 完成保存操作
  2. 删除标题等于“红色”,“蓝色”和“绿色”
  3. 的列
  4. 另存为“Newbook.xlsx”到外部sharepoint(如果文件存在覆盖)。
  5. 保持原始工作簿打开
  6. 必须将图书的原始副本保存为正常,并且保存新书的副本而不是特定列。

    我尝试使用添加到“本工作簿”部分的这段代码:

    Sub Workbook_AfterSave(ByVal Success As Boolean)
    If Success Then
    Call module1.Save
    End If
    End Sub
    

    创建模块1并读取

    Sub Save()
    ActiveWorkbook.SaveAs ("C:\Users\me\Desktop\Test 1")
    
    End Sub
    

    我得到一个循环,它只是一直保存,不会结束。我还试图用这个位代替保存功能(测试删除行)

    dim a as long, w as long, vDELCOLs as variant, vCOLNDX as variant
    vdelcols = array("Blue","Red","Green")
    with thisworkbook
        for w=1 to .worksheets.count
            with worksheets(w)
                for a=lbound(vdelcols) to ubound(vdelcols)
                    vcolndx=application.match(vdelcols(a), .rows(1), 0)
                    if not iserror(vcolndx) then
                        .columns(vcolndx).entirecolumn.delete
                    end if
                next a
            end with
        next w
    end with
    

    虽然是,它确实删除了我要删除的列,原始书籍上的保存操作未完成。

    认为我大部分都在那里,我似乎无法把它带回家。

0 个答案:

没有答案