Excel 용 매크로를 만들어 다른 워크 시트의 데이터를 가져 와서 요약 페이지에 넣으려고합니다. VBA
에 익숙하기 때문에 현재의 방법은 "TOI 점수"(항상 45 행에 있음)를 검색하고 해당 셀을 오른쪽으로 한 열씩 오프셋하고 해당 셀에서 .End(xlDown)
및 .PasteSpecial
의 아래쪽에 transpose = true
으로 복사하는 것입니다. 그 다음에 TOI Score
의 인스턴스를 검색하고 반복하십시오. 결국 복사 된 데이터가 요약 페이지로 복사됩니다.런타임 오류 91,하지만 다 알아 냈어.
그러나 Excel에서이 특정 스크립트 내에서 TOI Score
을 찾을 수 없습니다. 나는 그것을 발견 할 수있는 유일한 목적 인 베어 메네 (bare-bones) 매크로를 사용하여 그것을 발견 할 수 있다는 것을 알고 있지만,이 매크로에서 무엇이 엉망이되는지 알아낼 수는 없습니다. 처음에는 단순히 문자열을 찾지 못했지만 무언가를했는데 이제는 런타임 오류 91 (비 - 객체 또는 빈 객체를 참조하는 것)이 발생합니다.
Sub GrabMyData()
Dim sh As Worksheet
Dim DestSh As Worksheet
Dim CopyRng As Range, CopyHere As Range, CopyHereLastCol As Long, CopyHereLastRow As Long
Dim aCell As Range, bCell As Range, oRange As Range, fullRange As Range
Dim myLastRow As Long, myLastCol As Long
Dim Last As Long
Dim strSearch As String
Dim t As Long
On Error GoTo Err
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
Application.DisplayAlerts = False
On Error Resume Next
ActiveWorkbook.Worksheets("Summary Sheet").Delete
On Error GoTo 0
Application.DisplayAlerts = True
Set DestSh = ActiveWorkbook.Worksheets.Add
DestSh.Name = "Summary Sheet"
For Each sh In ActiveWorkbook.Worksheets
If sh.Name <> DestSh.Name Then
strSearch = "TOI Score"
Set oRange = ActiveSheet.Rows(45)
Set aCell = oRange.Find(What:=strSearch, LookIn:=xlValues, _
Lookat:=xlPart, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
strSearch 주변에서 따옴표를 제거하십시오. 바로 지금 그것이 당신이 찾고있는 것이지, "TOI 점수"가 아닙니다. –
@DougGlancy OK strSearch가 정의되지 않아 이전에 오류가 발생했지만 이제는 문자열을 찾기 위해 가져올 수 없으므로 aCell은 항상 정의되지 않은 것으로보고됩니다. 그것은 내가 검색에 필요한 코드를 뽑아 내면 검색이 작동하기 때문에 미칠 수 있습니다.하지만이 문자열의 컨텍스트에서는 strSearch를 찾을 수 없습니다. – theadamattack