VBA - 为任何用户保存工作表的特定位置
Posted
技术标签:
【中文标题】VBA - 为任何用户保存工作表的特定位置【英文标题】:VBA - Save worksheet specific location for any user 【发布时间】: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
最好的选择是将其保存在每个用户的桌面上。 有人有想法吗?提前非常感谢:)
【问题讨论】:
【参考方案1】:要将某些内容保存在用户桌面上,您应该使用此"C:\users\" & Environ("Username") & "\Desktop"
作为路径。并且用户必须有权限才能在这个目录中保存一些东西。
【讨论】:
以上是关于VBA - 为任何用户保存工作表的特定位置的主要内容,如果未能解决你的问题,请参考以下文章