gpt4 book ai didi

vba - 用户选择(工作簿和工作表名称)然后复制和粘贴

转载 作者:行者123 更新时间:2023-12-04 21:53:21 26 4
gpt4 key购买 nike

有没有办法让用户在打开文件后选择要复制的工作表?

我想这样做是因为可能有多个格式相同但名称不同的工作表。

例子:
名为 的原始工作簿VSC (包含表格 比较 绘图 )

名为 的辅助工作簿顺丰 (包含工作表 结果 1 结果2 结果3 )

用户点击 上的按钮VSC , 文件对话框打开,用户选择 顺丰在某个目录中,然后要求用户选择要选择的工作表 - 用户选择 结果2 工作表,复制数据(范围“B2:B5”),然后将其粘贴回 比较 床单。

这可能吗?我不知道如何开始。

当前要求用户选择 SF 工作簿的代码:

Sub GetFilePath()
Dim objFSO as New FileSystemObject

Set myFile = Application.FileDialog(msoFileDialogOpen)
With myFile
.Title = "Choose File"
.AllowMultiSelect = False
If .Show <> -1 Then
Exit Sub
End If
FileSelected = .SelectedItems(1)
End With

最佳答案

这是一种方法。您输入工作表名称。调整复制和粘贴范围以适应。

Sub GetFilePath()

Dim objFSO As New FileSystemObject, w As String, wb As Workbook

Application.ScreenUpdating = False

Set myFile = Application.FileDialog(msoFileDialogOpen)
With myFile
.Title = "Choose File"
.AllowMultiSelect = False
If .Show <> -1 Then
Exit Sub
End If
Set wb = Workbooks.Open(.SelectedItems(1))
End With

w = InputBox("Enter sheet name")

If SheetExists(w) Then
wb.Sheets(w).Range("B2:B5").Copy
ThisWorkbook.Sheets("Compare").Range("A1").pastespecial xlvalues
Else
MsgBox "Sheet not found"
End If

wb.Close False

Application.ScreenUpdating = True

End Sub

Function SheetExists(s As String) As Boolean

Dim x
On Error GoTo NextSheet
x = ActiveWorkbook.Sheets(SheetName).Name
SheetExists = True
Exit Function
NextSheet:
SheetExists = False
End Function

关于vba - 用户选择(工作簿和工作表名称)然后复制和粘贴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50047634/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com