【问题标题】:VBA - Save worksheet specific location for any userVBA - 为任何用户保存工作表的特定位置
【发布时间】:2017-07-18 15:49:46
【问题描述】:

我正在尝试将两个代码合并为一个,但我正在努力编写完整的代码。简而言之,用户(具有用户 ID)会将(工作簿的)一张工作表保存到特定位置(例如在他的桌面上),每个人都是唯一的(因为个人笔记本电脑)。她首先是在我的桌面上保存工作表的代码:

Sub create_file()
Dim LastRow As Long, LR As Long, lrow As Long
LastRow = ActiveSheet.UsedRange.Rows.Count
Range("A2:B2").Select
Selection.AutoFill Destination:=Range("A2:B" & LastRow)
Rows("1:1").Select
Selection.AutoFilter
Range("A1").AutoFilter Field:=1, Criteria1:="Y"
LR = Range("A" & Rows.Count).End(xlUp).Row
Range("C2:I" & LR).SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Sheets("Paste for gA ASSA formula").Select
Range("A5").Select
ActiveSheet.Paste
lrow = Sheets("Paste for gA ASSA formula").Cells.Find(What:="*",_ 
LookIn:=xlValues, SearchDirection:=xlPrevious, SearchOrder:=xlByRows).Row - 3
Sheets("Formula for gA ASSAa").Select
Range("A2").Select
Selection.AutoFill Destination:=Range("A2:A" & lrow)
ThisWorkbook.Sheets("Formula for gA ASSAa").Copy
ActiveWorkbook.SaveAs "C:\Users\jeofbist3\Desktop\Deletion_Request" & 
Format(Date, "mmddyyyy") & ".xlsx", FileFormat:=51

以下是将工作簿保存在现有位置(无论在哪里)的代码:

Sub savefile()
Dim fname As String
fname = Application.DefaultFilePath & "\" & ActiveWorkbook.Name
MsgBox (fname)
ActiveWorkbook.SaveAs Filename:=fname
End Sub

最好的选择是将其保存在每个用户的桌面上。 有人有想法吗?提前非常感谢:)

【问题讨论】:

    标签: vba save


    【解决方案1】:

    要将某些内容保存在用户桌面上,您应该使用此"C:\users\" & Environ("Username") & "\Desktop" 作为路径。并且用户必须有权限才能在这个目录中保存一些东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-26
      • 1970-01-01
      • 1970-01-01
      • 2022-01-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多