>source

재고용으로 4 개의 서로 다른 시트가있는 통합 문서가 있습니다 (각 시트는 쉽게 정리할 수 있도록 재고 유형에 해당). 최상의 설정은 아니지만 항목의 바코드를 스캔하면 Excel이 모두 수동으로 업데이트 된 해당 행 (이름, 그림, 수량 등의 정보 포함)을 찾아 강조 표시하는 바코드 조회 시스템이 있습니다. 원래 모든 것이 하나의 시트에 있었지만 최근에는 4 개의 다른 시트로 분류했습니다. 그 이후로 바코드 조회는 원본 재고 시트에서만 작동합니다 (코드는 해당 시트에만 적용되었으므로 의미가 있음). 전체 통합 문서에서 작동하도록 코드를 변경하는 방법을 알 수 없습니다. 워크 시트를 통합 문서로 변경하려고했습니다 (작동하지 않음). Set ws = ThisWorkbook.Sheets("") 각 시트 (또한 작동하지 않음) 및 기타 몇 가지 변경 사항. 누군가 그것을 변경하는 방법에 대한 아이디어가 있으면 한 장 대신 통합 문서를 검색하므로 감사하겠습니다. 다음은 첫 번째 시트의 작업 코드 사본입니다.

Private Sub CommandButton1_Click()
 Dim ws As Worksheet
 Set ws = ThisWorkbook.Sheets("Inventory List")
 Dim rangeToLook As Range
 Set rangeToLook = ws.Range("C3:C1000")
 Dim wholeRange As Range
 Set wholeRange = rangeToLook.Resize(, 10)
 ' change 14408667 to yours grey color code here
 wholeRange.Cells.Interior.Color = 14408667
 Dim code As Variant
     code = InputBox("Please scan a barcode and hit enter if you need to")
 Dim matchedCell As Range
 Set matchedCell = rangeToLook.Find(what:=code, LookIn:=xlValues, _
                   lookat:=xlWhole, MatchCase:=True)
     If Not matchedCell Is Nothing Then
         With matchedCell
             Application.Goto .Cells(1)
             .Resize(1, 10).Interior.ColorIndex = 20
         End With
     Else
         MsgBox "Barcode Not Found"
     End If
 End Sub

미리 도움을 주셔서 감사합니다.


  • 답변 # 1

    이 코드를 시도하십시오.

    Private Sub CommandButton1_Click()
     Dim ws As Worksheet
     Dim rangeToLook As Range
     Dim wholeRange As Range
     Dim code As Variant
     Dim matchedCell As Range
     Dim Found As Boolean: Found = 0
     
     code = InputBox("Please scan a barcode and hit enter if you need to")
     
     For Each ws In ThisWorkbook.Sheets
        Set rangeToLook = ws.Range("C3:C1000")
        Set wholeRange = rangeToLook.Resize(, 10)
        wholeRange.Interior.Color = 14408667
        Set matchedCell = rangeToLook.Find(what:=code, LookIn:=xlValues, _
                       lookat:=xlWhole, MatchCase:=True)
        If Not matchedCell Is Nothing Then
            Found = 1
            With matchedCell
                Application.Goto .Cells(1)
                .Resize(1, 10).Interior.ColorIndex = 20
            End With
        End If
     Next
     
     If Not Found Then
        MsgBox "Barcode Not Found"
     End If
     
     End Sub
    
    

  • 이전 php - 디버깅을 위해 POST 요청의 전체 본문을 파일에 기록하려면 어떻게해야합니까?
  • 다음 java - catch 블록이 여러 개인 경우 왜 RuntimeException이 catch 블록에서 catch되지 않습니까?