Lệnh Sheets("").Select đến 1 Sheet bất kỳ nhập vào từ Inputbox (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

xuanquy1188

Thành viên chính thức
Tham gia
18/3/17
Bài viết
69
Được thích
0
Chào các bạn

Nếu file mình có hiều Sheet quá.

Mình tạo 1 inputbox nhập tên Sheet. Khi mình đang ở
Sheet 1, Chọn Button Đến Sheet Cần ĐẾNvà mình gõ vào inputbox là QHO thì nó tự nhảy đến Sheet QHO.


Kiểu như vậy đó các bạn giúp đỡ mình với. Các bạn xem file đính kèm nhé.

Nhân tiện các bạn cho mình hỏi có thể đổi màu nền + viền khung cho các Button của Macro không ạ?

Cám ơn các bạn nhiều!
 

File đính kèm

Bạn bỏ 2 dấu nháy kép nhé
Mã:
Sub quequan()
    Dim quequan As String
    
    quequan = InputBox("NHAP TEN VIET TAT CUA SHEET DEN VAO BEN DUOI", "SHEET CAN DEN")
    If quequan <> "" Then
        Sheets([COLOR=#0000cd]quequan[/COLOR]).Select
        Range("B2").Select
    End If
    
End Sub
 
Upvote 0
Bạn bỏ 2 dấu nháy kép nhé
Mã:
Sub quequan()
    Dim quequan As String
    
    quequan = InputBox("NHAP TEN VIET TAT CUA SHEET DEN VAO BEN DUOI", "SHEET CAN DEN")
    If quequan <> "" Then
        Sheets([COLOR=#0000cd]quequan[/COLOR]).Select
        Range("B2").Select
    End If
    
End Sub
Bạn gõ tên sheet không tồn tại thử nhé
 
Upvote 0
Bạn bỏ 2 dấu nháy kép nhé
Mã:
Sub quequan()
    Dim quequan As String
    
    quequan = InputBox("NHAP TEN VIET TAT CUA SHEET DEN VAO BEN DUOI", "SHEET CAN DEN")
    If quequan <> "" Then
        Sheets([COLOR=#0000cd]quequan[/COLOR]).Select
        Range("B2").Select
    End If
    
End Sub
Code phải có bẫy lỗi bạn à! Ít nhất là 2 lỗi có khả năng xuất hiện:
- Gõ sai tên sheet
- Gõ đúng tên sheet nhưng sheet ấy đang bị ẩn
Cả 2 trường hợp trên sẽ không thể Select
 
Upvote 0
Hi mình có đoạn code tìm Sheet mới là
Sub quequan()


Dim sSheet As Worksheet, FindText As String
Dim FshCount As Byte
FindText = InputBox("Nhap vao ten sheet can tim:")
If Trim(FindText) = Space(0) Then
MsgBox ("Ban da khong nhap vao ten sheet nao!")
Exit Sub
End If
FshCount = 0
For Each sSheet In ActiveWorkbook.Sheets
If InStr(1, sSheet.Name, FindText) > 0 Then
sSheet.Activate
FshCoun = FshCoun + 1
End If
Next
If FshCoun = 0 Then MsgBox ("Khong tim thay sheet nao co chua ten " & FindText & "!")
End Sub

Mình đã làm được rồi, cám ơn các bạn!
 
Upvote 0
Bạn có cái nào hoàn chỉnh không? Giúp mình với. Thank!
 
Upvote 0
Bạn có cái nào hoàn chỉnh không? Giúp mình với. Thank!

Thử vầy xem:
Mã:
Function SheetExists(ByVal SheetName As String) As Boolean
  On Error Resume Next
  SheetExists = Not Sheets(SheetName) Is Nothing
End Function
Sub Main()
  Dim SheetName, Ans As VbMsgBoxResult
  SheetName = Application.InputBox("Nhap vao ten sheet can tim:", , , , , , , 2)
  If TypeName(SheetName) = "String" Then
    If SheetExists(SheetName) Then
      If Sheets(SheetName).Visible <> xlSheetVisible Then
        Ans = MsgBox("Sheet '" & SheetName & "' dang an" & vbLf & _
        "Ban có muon hien sheet và di chuyen den nó không?", vbYesNo, "THÔNG BÁO")
        If Ans = vbYes Then
          Sheets(SheetName).Visible = xlSheetVisible
        Else
          Exit Sub
        End If
      End If
      Sheets(SheetName).Activate
    Else
      MsgBox "Sheet không ton tai!"
    End If
  End If
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Thử vầy xem:
Mã:
Function SheetExists(ByVal SheetName As String) As Boolean
  On Error Resume Next
  SheetExists = Not Sheets(SheetName) Is Nothing
End Function
Sub Main()
  Dim SheetName, Ans As VbMsgBoxResult
  SheetName = Application.InputBox("Nhap vao ten sheet can tim:", , , , , , , 2)
  If TypeName(SheetName) = "String" Then
    If SheetExists(SheetName) Then
      If Sheets(SheetName).Visible <> xlSheetVisible Then
        Ans = MsgBox("Sheet '" & SheetName & "' dang an" & vbLf & _
        "Ban có muon hien sheet và di chuyen den nó không?", vbYesNo, "THÔNG BÁO")
        If Ans = vbYes Then
          Sheets(SheetName).Visible = xlSheetVisible
        Else
          Exit Sub
        End If
      End If
      Sheets(SheetName).Activate
    Else
      MsgBox "Sheet không ton tai!"
    End If
  End If
End Sub

Bạn ơi bây h mình muốn thêm lệnh là nếu
nhập sai Sheet cần đến thì nó yêu cầu nhập lại liên tục đến khi nhập đúng thì thôi. Và nếu nhập sai quá và không muốn nhập nữa, mình chọn Cancel nó mới thoát khỏi Inputbox.

Vậy sửa lại Code như thế nào ạ?

Thanks
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom