2016-10-18 5 views
0

Я новичок в кодировании VBA Excel. У меня есть адрес последней непустой ячейки в строке A1 И теперь я хочу перейти к следующей правой ячейке.Перейти к следующей ячейке в строке

Dim ws As Worksheet 
Dim cell1 As String 
Dim cell2 As String 
Dim rng1 As Range 
Set ws = Sheets("ADS User Data") 
Set rng1 = ws.Rows(1).Find("*", ws.[a1], xlFormulas, , xlByColumns, xlPrevious) 
MsgBox rng1 
If Not rng1 Is Nothing Then 
    'MsgBox "rng1 contains " & rng1.Address(0, 0) 
    cell1 = (rng1.Address(0, 0)) 
    cell2 = ActiveCell.Offset(1, 0).Select() 

    MsgBox cell1 
    MsgBox cell2 
Else 
    MsgBox ws.Name & " row A1 is completely empty", vbCritical 

End If 

Выходной сотовый Адрес: API1

Req ли: Переместить право на адрес выходной ячейки (API1), то есть выход APJ1

Может кто-нибудь помочь мне плз.

+2

'CELL2 = rng1.Offset (0, 1) .Address (0,0) ' –

+0

это работает нормально. Спасибо Скотту. – Dhiman

ответ

0

Ваш текущий код перемещается на одну ячейку вниз , а не одной клетки к правой:

Вместо:

Sub dural() 
    Dim ws As Worksheet 
    Dim cell1 As String 
    Dim cell2 As String 
    Dim rng1 As Range 

    Set ws = Sheets("ADS User Data") 
    Set rng1 = ws.Rows(1).Find("*", ws.[a1], xlFormulas, , xlByColumns, xlPrevious) 

    MsgBox rng1.Address(0, 0) & vbCrLf & rng1.Value 

    If Not rng1 Is Nothing Then 

     cell1 = rng1.Address(0, 0) 
     rng1.Offset(0, 1).Select 
     cell2 = Selection.Address(0, 0) 
     MsgBox cell1 
     MsgBox cell2 
    Else 
     MsgBox ws.Name & " row A1 is completely empty", vbCritical 
    End If 
End Sub 

enter image description here

Смежные вопросы