2012-10-03 17 views
2

可能重複找到上次使用的列地址:
Last not empty cell in row; Excel VBA
Finding the number of non-blank columns in an Excel sheet using VBA如何使用VBA

你好,我已經寫了VBA代碼用於獲取選定單元格的地址(活動單元格)。但我想最後使用的列地址的地址,這裏是我寫的

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

它工作正常,但我想最後使用的列地址的代碼。就像我的值高達「AB」列我想要使用vba代碼獲取該地址。

+0

@ Jean-FrançoisCorbett:該鏈接提到從特定行獲取最後一列或使用'UsedRange'屬性。我相信你知道'UsedRange'是非常不可靠的?記住這個對話? ;)http://stackoverflow.com/questions/11169445/error-finding-last-used-cell-in-vba/11169920#11169920 –

+0

@SiddharthRout:是的,但重點是,這個問題是一個重複次數百萬。它應該像這樣關閉。 –

+0

@ Jean-FrançoisCorbett:我絕對同意你的看法。只是重複必須提供用戶實際要求的所有信息。 –

回答

2

是否這樣?

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 
+0

Downboter:評論請嗎? –