【问题标题】:how to find the address of last used column using vba [duplicate]如何使用vba查找上次使用的列的地址[重复]
【发布时间】:2012-10-03 18:17:40
【问题描述】:

可能重复:
Last not empty cell in row; Excel VBA
Finding the number of non-blank columns in an Excel sheet using VBA

您好,我已经编写了一个 vba 代码来获取选定单元格(活动单元格)的地址。但是我想要最后使用的列地址,这是我写的代码

Dim a As String
a = Split(ActiveCell.Address, "$")(1)
MsgBox a

它工作正常,但我想要最后使用的列的地址。就像我有高达“AB”列的值一样,我想使用 vba 代码获取该地址。

【问题讨论】:

  • @Jean-FrançoisCorbett:该链接提到从特定行获取最后一列或使用 UsedRange 属性。我相信您知道UsedRange 非常不可靠?还记得这段对话吗? ;) stackoverflow.com/questions/11169445/…
  • @SiddharthRout:是的,但重点是,这个问题重复了一百万次。它应该这样关闭。
  • @Jean-FrançoisCorbett:我完全同意你的看法。只是副本必须提供用户实际询问的所有信息。
  • @Jean-FrançoisCorbett:我刚刚注意到 Brettdj 的链接。现在该链接具有两种解决方案。我也投票关闭这个帖子:)

标签: vba excel


【解决方案1】:

像这样?

Option Explicit

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

    '~~> Set this to the relevant sheet
    Set ws = ThisWorkbook.Sheets("Sheet1")

    '~~> Get the last used Column
    LastCol = LastColumn(ws)

    '~~> Return Column Name from Column Number
    a = Split(ws.Cells(, LastCol).Address, "$")(1)

    MsgBox a
End Sub

Public Function LastColumn(Optional wks As Worksheet) As Long
    If wks Is Nothing Then Set wks = ActiveSheet
    LastColumn = wks.Cells.Find(What:="*", _
                After:=wks.Range("A1"), _
                Lookat:=xlPart, _
                LookIn:=xlFormulas, _
                SearchOrder:=xlByColumns, _
                SearchDirection:=xlPrevious, _
                MatchCase:=False).Column
End Function

【讨论】:

  • Downboter:请发表评论?
猜你喜欢
  • 2016-04-10
  • 1970-01-01
  • 2013-05-01
  • 2012-01-31
  • 2012-01-24
  • 2017-05-25
  • 1970-01-01
  • 2020-02-08
  • 1970-01-01
相关资源
最近更新 更多