2017-09-25 3 views
1
Set rngFound = Rows(5).Find("*", Cells(Columns.Count, 5), xlFormulas, , xlByColumns, xlNext) 

에 동적 행의 첫 번째 비 빈 셀 값을 검색하는 방법 위의 코드는 형식 불일치 오류 친절 (13)은 VBA를

내가 잘못 뭐하는 거지 조언, 또는 다른 방법을 제안을 제공합니다 같은 일을합니다. 코드의 주석 내부

+0

나머지 코드를 공유 할 수 있습니까? 'rngFound'는 어떻게 정의되어 있습니까? 어떤 워크 시트가'Find' 등을 사용하려고합니까? –

+0

rngfound는 varriant 또는 range로 정의됩니다. 행을 열로 바꾸면 같은 코드 행이 작동하지만 찾을 수 없습니다. 행의 비어 있지 않은 값. –

답변

1

아래의 코드를 시도 설명 :

Dim rngFound As Range 
Dim LastCol As Long 
Dim nonBlankCell As Variant 

With Worksheets("Sheet1") ' <-- modify to your sheet's name 
    ' -- get last column in a specific row by using the Find function -- 
    Set rngFound = .Rows(5).Find(What:="*", Lookat:=xlPart, LookIn:=xlFormulas, _ 
        SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False) 

    If Not rngFound Is Nothing Then ' Find was successful 
     LastCol = rngFound.Column ' get last Column with data 
     nonBlankCell = rngFound.Value 
    End If 

End With 
+0

도움을 주셔서 감사합니다하지만이 코드는 여전히 형식 불일치 오류 13 표시, 문제가 라인에 설정 rngFound = .Rows (5) .Find (What : = "*", After : =. 셀 (1), Lookat : = xlPart, LookIn : = xlFormulas, _ SearchOrder : = xlByColumns, SearchDirection : = xlNext, MatchCase : = False) –

+0

@yashikavaish 편집 코드 시도 –

+0

안녕하세요, 고맙습니다. 위의 코드에서 문제가 무엇인지 말씀해주십시오. ? –

0

Cells(5, Columns.Count).End(xlToLeft)Cells(Columns.Count, 5) 당신은 또한 찾으려면이

Sub Find_Cell() 
    Dim rngFound As Range 
    Set rngFound = ThisWorkbook.Sheets("Sheet1").Rows(5).Find(What:="*", LookIn:=xlValues) 

    If rngFound Is Nothing Then 
     MsgBox "All cells are blank." 
    Else 
     MsgBox "First Cell Address: " & rngFound.Address 
     MsgBox "First Cell Value: " & rngFound.Value 
    End If 
End Sub 

을 시도

Set rngFound = Rows(5).Find("*", Cells(5, Columns.Count).End(xlToLeft), xlFormulas, , xlByColumns, xlNext) 

를 얻기 위해 교체 공백이 아닌 수식을 갖는 비어 있지 않은 셀, 0 대신사용 LookIn:=xlFormulas