gpt4 book ai didi

excel - 使用范围的最后一列(F :LastColumn)

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

我正在尝试为我的范围使用最后一列:WS.range("F2:LastCol" & LastRow).Cells我的子作品为
WS.range("F2:K" & LastRow).Cells但是 Last Column是动态的并且不断变化

谢谢

Sub QQ()

Dim LastRow As Long
Dim LastCol As Long
Dim WS As Worksheet
Dim rCell As range

Set WS = Sheets("sheet1")

LastRow = WS.range("F" & WS.Rows.Count).End(xlUp).Row

LastCol = Cells(2, .Columns.Count).End(xlToLeft).Column
'Also tried: LastCol=rgRange.Cells(rgRange.Count).Column

For Each rCell In WS.range("F2:LastCol" & LastRow).Cells

STUFF 'The stuff works for WS.range("F2:K" & LastRow).Cells

End Sub

最佳答案

LastCol 是一个数字,用于指定范围的语法需要一个字母。

您可以找出列号的列字母并将其传递给您的范围定义,如下所示:

Sub DynamicRange()
Dim startCol As String
Dim startRow As Long
Dim lastRow As Long
Dim lastCol As Long
Dim myCol As String
Dim ws As Worksheet
Dim rng As Range
Dim cell as Range

Set ws = ThisWorkbook.Sheets("Sheet1")
startCol = "F"
startRow = 2
lastRow = ws.Range(startCol & ws.Rows.Count).End(xlUp).Row
lastCol = ws.Cells(2, ws.Columns.Count).End(xlToLeft).Column
myCol = GetColumnLetter(lastCol)

Set rng = ws.Range(startCol & startRow & ":" & myCol & lastRow)

For Each cell In rng
' do stuff
Next cell

' check the range we've set
Debug.Print rng.Address

End Sub

Function GetColumnLetter(colNum As Long) As String
Dim vArr
vArr = Split(Cells(1, colNum).Address(True, False), "$")
GetColumnLetter = vArr(0)
End Function

关于excel - 使用范围的最后一列(F :LastColumn),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16941083/

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