Gửi Tin Nhắn Cho Admin

Thứ Ba, 21 tháng 2, 2017

Bài 40. Chọn Nhiều Sheet Cùng Lúc Bằng Nhiều Cách

Phạm Minh Tùng  /  at  2/21/2017 10:32:00 CH  /  3 comments

- Ngày 21/02/2017 : Nhìn vào tiêu đề thì các bạn cũng biết rồi, nội dung hôm nay mình chia sẽ với các bạn là cách chọn nhiều sheet cùng lúc, có thể nó sẽ được áp dụng trong một số trường hợp, ví dụ như khi mở file lên chúng ta cần ẩn 1 số sheet hoặc để kiểm tra bản quyền file excel thì chúng ta chỉ cần hiện 1 sheet lên để kiểm tra thôi ...

- Chúng ta hãy đi vào những cách để chọn nhé:

+ Cách 1: Đơn giản nhất chúng ta chọn theo tên và cho nó vào Array
Sub SelectSheet()
  
Sheets(Array("Sheet2""Sheet3""Sheet1")).Select
End Sub 

+ Cách 2: Gần giống với cách 1, là ta sẽ chọn theo vị trí
Sub Macro1()
  
Sheets(Array(1, 24)).Select
End Sub

+ Cách 3: Chuyên nghiệp hơn tí, ta sẽ dùng vòng lập để duyệt qua các sheet có trong workbook, nếu sheet nào khác sheet Dulieu thì ta sẽ không chọn 
Sub SelectMultiSheets()
  
Dim Sh As WorksheetCheck As Boolean
  Check 
True
  
For Each Sh In ThisWorkbook.Worksheets
    
If Sh.Name <> "Dulieu" Then Sh.Select CheckCheck False
  Next
  MsgBox ActiveWindow
.SelectedSheets.Count
End Sub

+ Cách Thứ 4: Bá đạo hơn nữa là sẽ không dùng vòng lập, ta sẽ di chuyển sheet Dulieu về đầu sau đó chọn các sheet còn lại
Sub SelectMultiSheets()
  
Dim Temp
  Temp 
Evaluate("Transpose(ROW(2:" Sheets.Count "))")
  
Sheets("Dulieu").Move Before:=Sheets(1)
  
Sheets(Temp).Select
  MsgBox ActiveWindow
.SelectedSheets.Count
End Sub  


Hoặc ngắn gọn hơn, khỏi cần phải khai báo biến

Sub SelectMultiSheets()
  
Sheets("Dulieu").Move Before:=Sheets(1)
  
Sheets(Evaluate("Transpose(ROW(2:" Sheets.Count "))")).Select
  MsgBox ActiveWindow
.SelectedSheets.Count
End Sub


+ Cách 5: Final bá đạo nhất, không cần di chuyển sheet nào hết
Sub SelectMultiSheets()
  
Dim Temp As StringAs Long
  On Error Resume Next
  i 
ActiveSheet.Index
  Temp 
" " Join(Evaluate("Transpose(Row(1:" Sheets.Count "))"), " ") & " "
  
Temp Replace(Trim(Replace(Temp" " " "" ")), " "",")
  
Sheets(Evaluate("{" Temp "}")).Select
End Sub 

Share
Posted in: , , Posted on: Thứ Ba, 21 tháng 2, 2017

3 nhận xét:

  1. Cảm ơn tác giả, đúng đoạn code em đang cần ạ!

    Trả lờiXóa
  2. Cảm ơn tác giả

    Trả lờiXóa
  3. cho em hỏi là cái này với những file có sheet ẩn thì lại bị lỗi, mình sửa kiểu gì để chỉ chọn những sheet hiện ạ

    Trả lờiXóa

Recent Comments

Copyright © 2013 Excel Toàn Tập. WP Theme-junkie converted by Bloggertheme9
Blogger templates. Proudly Powered by Blogger.