2012-06-28 2 views
0

Excel VBA를 처음 사용하는데 이것은 유용한 매크로를 빠르게 만들 수있는 첫 번째 시도입니다 내 일하는 과정. 내가Excel 2007 사용자 정의 문자열에 '찾기'기능을 사용하여 각 항목에 대한 전체 행을 다른 시트에 복사합니다.

내가 15 컬럼에 의한 접촉 15,000 행의 데이터 파일이 할 노력하고있어 무엇

. 매크로에서 수행하고자하는 작업은 별도 시트의 버튼을 누르기 만하면됩니다. 코드는 해당 시트의 특정 셀에 입력 한 문자열을 가져와 모든 데이터가있는 시트로 이동 한 다음 찾기를 사용합니다. 함수를 사용하여 내가 정의한 문자열의 모든 인스턴스를 찾습니다.

문자열의 모든 인스턴스를 찾았 으면 해당 행을 복사하여 매크로를 실행 한 시트에 붙여 넣으려고합니다.

명확히하기 위해 문자열을 찾으려는 열에는 사람이 입력 한 설명이 포함되어 있습니다. 한 단어 만 볼 필요는 없습니다. 그래서 Find 함수를 사용하려고했습니다. 지금까지

내 시도 :

Sub FindTextBasicData() 

'Define variables 
Dim sourceSht As Worksheet 
Dim outputSht As Worksheet 
Dim strSearch As String 
Dim searchRange As Range 
Dim outputRange As Range 

'Set the sheet variables to those present in the workbook 
Set sourceSht = Sheets("Basic Data") 
Set outputSht = Sheets("Output") 

'Set the value of the string variable to the contents of cell C2 in the output sheet 
strSearch = outputSht.Range("C2") 

'Set the range variable to the range in the data sheet that I want to check  
Set searchRange = sourceSht.Range("C6:C15448") 

'Use the Find function to look through the range I defined and select all rows where the 
'string variable can be found, setting the second range variable to these values 
Set outputRange =searchRange.Find(What:=strSearch, After:=.Cells(3, 6), LookIn:=xlFormulas, _ 
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ 
MatchCase:=False).EntireRow 

'Copy the results of the Find function to the clipboard 
outputRange.Copy 

'Select the 5th row of the output sheet as the location to paste the data, and then paste 
outputSht.Select 
Rows(5).Select 
ActiveSheet.Paste 

End Sub 

내가 확실히 찾기 기능에 뭔가를하고 있어요 것을 알고,하지만 난이 일을 알아낼 수 없습니다 - 내가 생각하는 내 문제는 함께있다 매개 변수 다음에 그것은 내가 생각하는 것을하지 않습니다. (참조 셀 C6에서 찾기를 사용하여 시작할 위치로?). Ozgrid의 찾기 기능에 대한 가이드를 살펴 보았습니다. 그러나 나는 더 혼란스러워했습니다.

이 매크로를 제대로 작동 시키려면이 매크로를 사용하여 이러한 15000 개 레코드에 대해 수행해야하는 데이터 분석을 크게 간소화 할 수 있습니다. 이것에 대한 도움은 크게 감사 할 것이고, 내가 충분히 잘 설명하지 않았다면 분명히 분명히 할 것입니다.

답변

관련 문제