2014-10-12 2 views
0

내 워크 시트에서 마지막 열의 마지막 행을 선택하려고합니다.마지막 열의 마지막 행 선택

Sub Paste2() 
' 
' Paste2 Macro 
' 

' 
    Sheets("Macro").Select 
    a = Range("B1") 
    Sheets("Sheet1").Select 
    ActiveSheet.Cells(2, a).End(x1Down).Offset(1, 0).Select 
End Sub 

변수 "a"는 비어 있지 않은 셀로 행을 세는 별도의 시트에서 CountA 함수에 연결됩니다.

매크로를 실행하면 런타임 오류 1004 응용 프로그램 정의 또는 개체 정의 오류가 발생합니다.

어떻게하면됩니까?

+0

셀'B1'에서 무엇입니까? cells 속성은 변수 'a'를 사용했던 열을 참조하는 숫자 또는 문자를 필요로합니다. 'B'가 숫자 나 문자를 포함하지 않으면, 실패한 프로 시저. – Gareth

답변

1

두 실수 :

실수 1 : ActiveSheet.Cells (2, 1)

실수 2 : xlDown는 x1Down하지!

+1

첫 번째 실수는 실수가 아니 었습니다. 저는 이것을 사용하여 별도의 워크 시트에서 변경되는 변수를 나타냅니다. 하지만 두 번째 실수를 저질렀다는 것을 믿을 수 없어 결국 문제가되었습니다. 감사 –

0

는 시도이 하나

하위 pfindLastNonEmptyCell()

Dim rngRange    As Range 
Dim wksWorksheet   As Worksheet 

'Set 'Sheet1' worksheet 
Set wksWorksheet = Worksheets("Sheet1") 


With wksWorksheet 
    'Check for last non-empty cell 
    Set rngRange = .Cells.Find("*", .Cells(1, 1), xlFormulas, xlWhole, xlByRows, xlPrevious) 
End With 

If Not rngRange Is Nothing Then 
    'if found then activate the worksheet and select last non-empty cell 
    wksWorksheet.Activate 
    wksWorksheet.Cells(rngRange.Row, rngRange.Column).Select 
Else 
    'if not found gives message 
    MsgBox "No Data in " & wksWorksheet.Name, vbCritical + vbInformation, "Error" 
End If 

최종 하위