2016-09-26 7 views
0

マクロの編集を手伝ってもらえますか?私は別のシートで検索したいのですが、私が間違っていることは分かりません。私が検索したいシートは「ディリー」です。Excelマクロのプログラミング検索

Sub díly() 

    Dim rngVis As Range 
    Dim VisCell As Range 
    Dim sFind As String 

    sFind = InputBox("Naskenujte zákaznické císlo.") 

    If Len(Trim(sFind)) = 0 Then Exit Sub 'Pressed cancel 

    Application.ScreenUpdating = False 
    With Intersect(Sheets("Díly").UsedRange, Sheets("Díly").Columns("A")) 
     .AutoFilter 1, sFind 
     On Error Resume Next 
     Set rngVis = .Offset(1).Resize(.Rows.Count - 1).SpecialCells(xlCellTypeVisible) 
     On Error GoTo 0 
     .AutoFilter 
    End With 
    Application.ScreenUpdating = True 

    If rngVis Is Nothing Then 
     MsgBox sFind & " Nenalezeno." 
    Else 
     For Each VisCell In rngVis.Cells 
      MsgBox "Naskenované císlo: " & VisCell.Sheets("Díly").Cells(VisCell.Row, "A").Text & vbNewLine & _ 
        "Vyhledáno: " & VisCell.Sheets("Díly").Cells(VisCell.Row, "B").Text 
     Next VisCell 
    End If 

End Sub 
+0

を試してみてください最初に、コードからilなどの非ラテン文字を削除します。メッセージボックスに表示する場合は、Excelのセルからそれらを読み込みます。したがって、まず文字を変更し、それが機能するかどうかを確認してください。 – Vityata

+0

アクティブシート(アクティブなシートは "kontrola"であるアクティブシート)でのみ検索しますが、 "Dily"シートで検索したい –

+0

コードとワークシートの両方で "Dly"を "Test"それはもう一度やり直す? – Vityata

答えて

1

エラーは何ですか?この

Option Explicit 

Sub díly() 
    Dim rngVis As Range 
    Dim VisCell As Range 
    Dim sFind As String 

    sFind = InputBox("Naskenujte zákaznické císlo.") 

    If Len(Trim(sFind)) = 0 Then Exit Sub 'Pressed cancel 

    Application.ScreenUpdating = False 
    With Intersect(Sheets("Díly").UsedRange, Sheets("Díly").Columns("A")) 
     .AutoFilter 1, sFind 
     On Error Resume Next 
     Set rngVis = .Offset(1).Resize(.Rows.Count - 1).SpecialCells(xlCellTypeVisible) 
     On Error GoTo 0 
     .AutoFilter 
    End With 
    Application.ScreenUpdating = True 

    If rngVis Is Nothing Then 
     MsgBox sFind & " Nenalezeno." 
    Else 
     For Each VisCell In rngVis.Cells 
      MsgBox "Naskenované císlo: " & VisCell.Text & vbNewLine & _ 
      "Vyhledáno: " & VisCell.Offset(, 1).Text 
     Next VisCell 
    End If 
End Sub 
+0

申し訳ありませんが機能はありません。対話番組が見つかりません。 –

+0

申し訳ありませんが、私はあなたが上記のコードで遭遇した問題はありません。もっと詳細にしてください – user3598756

関連する問題