使用EXCEL VBA自動篩選到新的工作頁問題

各位好,問題如標題
現在遇到幾個問題
1.點擊進銷查詢,輸入完需要篩選的值(EX:93986)之後,會確實開出新的工作頁並把篩選內容貼上去,且工作頁標題也會改為篩選值,
(上述都是我想要呈現的)
使用EXCEL VBA自動篩選到新的工作頁問題
使用EXCEL VBA自動篩選到新的工作頁問題
但是當我輸入下一個值要篩選(EX:93987)時,卻把"93986"的工作頁名字改成"93987",然後額外開新的工作頁(有時候還會多開),新的工作頁內容是我下一個要篩選的值"93987"但是工作頁標題名稱沒有改,懇請各位老師幫我解惑
使用EXCEL VBA自動篩選到新的工作頁問題

2.我想要在輸入完值之後,除了按確認鍵執行,也想要按"enter"鍵得到一樣的功能,請問有甚麼辦法,還是說像我照片多打一個
"Private Sub CommandButton1_Enter()" 這樣可以嗎
使用EXCEL VBA自動篩選到新的工作頁問題
使用EXCEL VBA自動篩選到新的工作頁問題
3.另外有沒有辦法在輸入完值之後判定說這個值是不是存在的(EX 表格中沒有 93900,當我按確認後跳出一個視窗說 值不存在這樣


附加壓縮檔: 201808/mobile01-8b7de9904b1d74d8cc7250668ce50791.zip

還需要老師們的指點,謝謝!
用你的程式碼改的,試試看吧~~
直接覆蓋掉你Total的code就可以了
順便加入如果相同Key重複搜尋,會詢問是否要刪除舊分頁,並複寫其資訊


Private Sub CommandButton1_Click()
    Call AAA
End Sub

Private Sub CommandButton1_Enter()
    Call AAA
End Sub

Private Sub AAA()
    Sheets("Sheet1").Range("A2").Select
    Selection.AutoFilter

    ActiveSheet.Range("$A$2:$G$15").AutoFilter Field:=1, Criteria1:=TextBox1.Text
    With ActiveSheet.AutoFilter.Range
        For i = .Row To .Row + .Rows.Count
            If Rows(i).Hidden = False Then
                j = j + 1
            End If
        Next
    End With

    If j = 2 Then
        MsgBox "No " & TextBox1.Text & " to be found!!"
    Else
        For i = Sheets.Count To 2 Step -1
            If Sheets(i).Name = TextBox1.Text Then
                MsgBox TextBox1.Text & " already exists !!"
                Sheets(i).Delete
            End If
        Next

        Range("A2:G2").Select
        Range(Selection, Selection.End(xlDown)).Select
        Selection.Copy
        Sheets.Add After:=ActiveSheet
        ActiveSheet.Name = TextBox1.Text
        ActiveSheet.Paste
        ActiveSheet.Columns("A:G").EntireColumn.AutoFit
    End If

    Sheets("Sheet1").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
End Sub
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!