gpt4 book ai didi

vba - 将行从一个 WB 复制并粘贴到另一个,每周使用不同的 WB 名称

转载 作者:行者123 更新时间:2023-12-04 20:57:56 27 4
gpt4 key购买 nike

所以我试图从我过滤的一个 WB 中复制数据,并将其粘贴到前几行底部的另一个 WB 中。

我每周五运行此报告,并在过去 7 天内一次提取 1 天数据。源 WB 的名称会随着我拉取的每一天而改变,看起来像这样:3 月 23 日星期四的 20170323050000。

目的地WB的名称每周都会发生变化:WK12、WK13、WK14等。

再次运行我的报告时,是否有一个我不必每周更改的宏?

更新

所以我玩了一点,这几乎完全符合我的需要但是我仍然回到原始问题的最后一部分,我可以做些什么来改变“Windows(WK13 RIP.xlsm”) .Activate "到 WK14、WK15、WK16 等每周我这样做?

Sub PackFilterl()

Range("A1").AutoFilter Field:=15, Criteria1:="EACH"

Range("A1").AutoFilter Field:=16, Criteria1:="Total"

Dim rng As Range
Set rng = ActiveSheet.UsedRange

Set rng = rng.Offset(1).Resize(rng.Rows.Count - 1)

rng.Select
rng.Copy
Windows("WK13 RIP.xlsm").Activate
Sheets("AFE Pack Volume").Select
lMaxRows = Cells(Rows.Count, "A").End(xlUp).Row
Range("A" & lMaxRows + 1).Select

ActiveSheet.Paste

结束子

最佳答案

我认为这是您正在寻找的一个警告。您说您滚动到目标工作簿的底部以粘贴复制的范围,但我无法知道底部在哪里,所以我只是将目标设置为 A1。您可以添加另一行并调用 InputBox() 来调用目标范围,或者编写一些代码来确定底部在哪里。下面的代码还假定目标工作簿尚未打开。

Sub PackFilterl()

Dim WkShtNum As Integer
Dim WkBkName As String
Dim DestinationWorkbook As Excel.Workbook
Dim DestinationWorksheet As Excel.Worksheet
Dim rng As Range


WkBkName = InputBox("Enter the Path of your destination Workbook")
WkShtNum = InputBox("Enter the week number for the destination worksheet")

Range("A1").AutoFilter Field:=15, Criteria1:="EACH"

Range("A1").AutoFilter Field:=16, Criteria1:="Total"

Set rng = ActiveSheet.UsedRange

Set rng = rng.Offset(1).Resize(rng.Rows.Count - 1)

rng.Select
rng.Copy

Set DestinationWorkbook = Workbooks.Open(WkBkName)
Set DestinationWorksheet = DestinationWorkbook.Worksheets("WK" & CStr(WkShtNum))
Set rng = DestinationWorksheet.Range("A1")
rng.PasteSpecial (xlPasteValues)


End Sub

关于vba - 将行从一个 WB 复制并粘贴到另一个,每周使用不同的 WB 名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43120243/

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