2014-06-11 2 views
0

내가 다음 코드에서 .Find 방법을 사용하려고하지만이 줄에 "형식 불일치"오류가 .find는 :긴 문자열과

Sub test() 

'Define Fields 
Dim anzzeilen As Long 
Dim SuchBereich As Range 
Dim Bereich As Range 
Dim t1 As Long 
Dim t2 As Long 

'Define SuchBereich as range 
With ThisWorkbook.Worksheets(1) 
anzzeilen = .Cells(Rows.Count, 1).End(xlUp).Row 
Set SuchBereich = .Range(.Cells(1, 5), .Cells(anzzeilen, 6)) 
End With 

'Define Bereich as Range 
With ThisWorkbook.Worksheets(1) 
t1 = .Cells(Rows.Count, 1).End(xlUp).Row 
Set Bereich = .Range(.Cells(1, 1), .Cells(t1, 1)) 
End With 

For Each zelle In Bereich 
     If zelle.Value <> "" Then 
      Set Rng = SuchBereich.Find(What:=zelle.Value, LookAt:=xlWhole) '<--ERROR 
      'Debug.Print Rng.Address 
      If Not Rng Is Nothing Then 
      Debug.Print zelle.Address 
       zelle.Interior.ColorIndex = 12 
      End If 
     End If 
Next zelle 
End Sub 
:

Set Rng = SuchBereich.Find(What:=zelle.Value, LookAt:=xlWhole)` 

이 절차입니다

항상 "유형 불일치"오류가 발생합니다. 나는 셀 안에있는 인물들과 함께 그것을 사용하려고 노력했고 그것은 잘 동작한다. 짧은 문자열 (a, b, c ...)을 사용하면 잘 작동하지만 내 문자열과 함께 사용할 수 있습니다.

(구조적 쿼리 언어)가 데이터베이스라는 저장 영역에서 데이터 나 정보를 수정하고 액세스하는 데 사용됩니다

"SQL.이 초보자 온라인 교육 SQL 자습서 웹 사이트가 당신에게 SQL 코드의 기초를 가르치는 방법 &을 작성하는 훈련 SQL에 대한 데이터베이스 지식을 공유하고 SQL 프로그래밍에 대해 더 배우는 데 도움이 될 것입니다. "

항상 오류가 발생합니다. 누구든지 .Find으로 위의 비교를 수행하는 데 도움이되거나 적절한 대안을 찾는데 도움이 될 수 있습니까? 내가 달성하기 위해 노력하고 무엇

:

  • 나는이
  • 통합 문서 1. 100 코멘트 나는 50의 샘플을 채취하고 통합 문서 2의 시트 A에 복사 (평균).
  • 그런 다음 통합 문서 B의 모든 의견을 복사 한 다음 통합 문서 1을 닫습니다.
  • 이제 시트 B의 모든 샘플 의견 (시트 A)을 식별하고 다른 배경색을 지정하여 강조 표시하려고합니다.
+0

어떤 줄에이 오류가 발생합니까? 나는 이것을 알아 내기 위해 전체 코드를 읽지 않을 것이다 ... –

+0

Set Rng = SuchBereich.Find (What : = zelle.Value, LookAt : = xlWhole) – ruedi

+1

그래, 잘 써라. 귀하의 질문이 아니라 주석. 이번에 당신을 위해서 했어요. –

답변

1

당신의 예제 문자열은 길이가 401 문자입니다. Find은 최대 256 자까지만 처리 할 수 ​​있습니다.

한 가지 대안은 각 문자열을 고유하게 식별 할 수있는 하위 문자열 만 검색하는 것입니다. 예 : 처음 256 자, 또는 마지막 256 자, 또는 중간 256 자, 또는 충분히 길어. 아마 256 문자 일 필요조차 없습니다.

+0

그게 좋은 생각입니다. 고맙습니다! – ruedi