gpt4 book ai didi

vba - 将指定行上包含数据的最后一列复制到下一个空白列

转载 作者:行者123 更新时间:2023-12-02 07:46:07 24 4
gpt4 key购买 nike

我有一个电子表格,我需要查找其中包含数据的最后一列。然后我需要复制此列并将其复制到下一个空白列。

有办法做到这一点吗?

我已经成功地使用行来做到这一点:

lastrowSrc = Sheets("Overview").Range("B" & Rows.Count).End(xlUp).Row

然而,这会将 B12 放入范围内,使用 columns.count 只是放入列号,而不是字母

最佳答案

要获取工作表中的确切列,请使用此代码。

Option Explicit

Sub Sample()
Dim ws As Worksheet
Dim LastCol As Long

Set ws = Sheets("Sheet1")

'~~> This check is required else .FIND will give you error on an empty sheet
If Application.WorksheetFunction.CountA(ws.Cells) = 0 Then
LastCol = 1
Else
LastCol = ws.Cells.Find(What:="*", _
After:=ws.Range("A1"), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Column
End If

Debug.Print LastCol
End Sub
<小时/>

编辑:这是@brettdj 的礼貌。您还可以使用范围对象来查找最后一列

Option Explicit

Sub Sample()
Dim ws As Worksheet
Dim LastCol As Long
Dim rng As Range

Set ws = Sheets("Sheet1")

Set rng = ws.Cells.Find(What:="*", _
After:=ws.Range("A1"), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious, _
MatchCase:=False)

If rng Is Nothing Then
LastCol = 1
Else
LastCol = rng.Column
End If

Debug.Print LastCol
End Sub
<小时/>

要获取特定行的最后一列,假设第 1 行使用此

    Debug.Print ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column

其中 ws 是您的相关工作表。

类似地,对于行,请参阅 this .

关于vba - 将指定行上包含数据的最后一列复制到下一个空白列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11883256/

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