gpt4 book ai didi

vba - 自动填充直到列的末尾

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

我的原始程序能够根据月和周找到我需要的单元格,现在我需要修改程序以复制第 5 行中最后使用的单元格并将其粘贴到列的末尾。

前任。如果月份是 11 月并且是第 4 周,那么程序知道去那里填写信息。我不知道如何将 11 月 4 日的值粘贴到该列的其余部分。此外,我的范围可能是 H5:BA5 或 BC5:DB5,具体取决于月份和星期的开始位置。

我添加了一张图片,显示了我的数据是如何设置的,突出显示的单元格需要填写到最后

enter image description here

With ThisWorkbook.Sheets(SheetName)
Dim c2 As Integer
Dim LastCol2 As Integer
c2 = 2
LastCol2 = .Cells(4, .Columns.Count).End(xlToLeft).Column
Do Until .Cells(1, c2).Value = "Sept" And .Cells(4, c2).Value = "Wk 5"
If .Cells(1, c).Value = MonthSel And .Cells(4, c).Value = WkSel Then
.Cells(5, c2).Select
Selection.copy
ActiveCell.Offset(0, 1).Select
Selection.Paste
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range("H5:BA5"), Type:=xlFillDefault
Range("H5:BA5").Select // need to change this range to reach the end of column 5
End If
Loop
End With

最佳答案

首先你需要STOP USING .SELECT !

其次,您已经知道如何在代码中找到最后使用的列。为什么不使用相同的逻辑来查找最后使用的行?

With ThisWorkbook.Sheets(SheetName)
Dim c2 As Long, LastCol2 As Long, LastRow As Long
c2 = 2
LastCol2 = .Cells(4, .Columns.Count).End(xlToLeft).Column

Do Until .Cells(1, c2).Value = "Sept" And .Cells(4, c2).Value = "Wk 5"
If .Cells(1, c).Value = MonthSel And .Cells(4, c).Value = WkSel Then
.Cells(5, c2).copy
.Cells(5, c2).Offset(0, 1).Paste
Application.CutCopyMode = False
LastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
.Cells(5, c2).Offset(0, 1).AutoFill Destination:=Range("H5:BA" & LastRow), Type:=xlFillDefault
End If
Loop
End With

关于vba - 自动填充直到列的末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40870543/

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