이 작동합니다 :
Fruits
Apple
Banana
을 내가 너트 다시 검색을 한 경우, 그 결과는 다음이어야한다. Sheet1과 Sheet2를 가지고있는 시트 이름으로 변경하십시오.
Option Explicit
Private Sub FindTextAndCopyToNewWS()
Dim ws As Worksheet, targetWks As Worksheet
Dim FindString As Variant
Dim rng As Range, sourceColumn As Range, targetColumn As Range
Dim lastCol As Long, lColumn As Long
Set ws = ThisWorkbook.Worksheets("Sheet1")
FindString = InputBox("Search for value")
If Trim(FindString) <> "" Then
Set rng = ws.Cells.Find(_
What:=FindString, _
LookIn:=xlValues, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False, _
SearchFormat:=False)
If Not rng Is Nothing Then
Set sourceColumn = ThisWorkbook.Worksheets("Sheet1").Columns(rng.Column)
Set targetWks = ThisWorkbook.Worksheets("Sheet2")
lastCol = targetWks.Cells(1, targetWks.Columns.Count).End(xlToLeft).Column
If targetWks.Cells(1, 1) = "" Then
Set targetColumn = ThisWorkbook.Worksheets("Sheet2").Columns(lastCol)
Else
Set targetColumn = ThisWorkbook.Worksheets("Sheet2").Columns(lastCol + 1)
End If
sourceColumn.Copy Destination:=targetColumn
Else
MsgBox "Nothing found"
End If
End If
End Sub
감사합니다. Niclas. 그러나 여러 항목을 검색하고 복사하려면 어떻게해야합니까? 우리가 사용할 수있는 탁월한 수식이 있습니까? 이상적으로는 검색을 사용할 때마다 검색이 새 시트의 후속 열에 추가되어야합니다. –
과일이나 채소를 검색 할 때마다 전체 열을 sheet2에 복사하고 복사 한 사본을 기존 열 뒤에 추가해야합니다? – Niclas
예, 맞습니다. 나는 출력의 예를 보여주기 위해 질문을 수정했다. –