Mẹo Chạy marco trong từng sheet

Thủ Thuật Hướng dẫn Chạy marco trong từng sheet Mới Nhất

Bùi Bình Minh đang tìm kiếm từ khóa Chạy marco trong từng sheet được Update vào lúc : 2022-11-05 11:00:07 . Với phương châm chia sẻ Bí kíp Hướng dẫn trong nội dung bài viết một cách Chi Tiết Mới Nhất. Nếu sau khi tham khảo nội dung bài viết vẫn ko hiểu thì hoàn toàn có thể lại Comments ở cuối bài để Ad lý giải và hướng dẫn lại nha.

Chạy marco trong từng sheet

Nội dung chính Show
    Cách ghi Macro trong Google SheetsCách chạy Macro trong Google SheetsSử dụng tổ hợp phím tắtTừ Google Apps Script EditorBằng cách gán Macro cho một hình dạngTham chiếu ô tương đối và tuyệt đối trong khi ghi macroƯu điểm của việc sử dụng ghi MacroĐiều mà Macro không thể làm trong Google Sheets

    #1

Chào cả nhà!
Em có file này nhờ mọi người giúp em với:
- Ở sheet 1 khi thực hiện Nút lệnh thì sẽ thực hiện 2 nút ở sheet 2 và 3
Em ghi được đoạn Macro này:
Sub Macro4() Sheets("2").Select
Application.Run "'Thuc Hien Macro nhieu Sheet.xls'!Macro2"
Sheets("3").Select
Application.Run "'Thuc Hien Macro nhieu Sheet.xls'!Macro1"
Sheets("1").Select
Range("A1").Select
End Sub
Nhờ mọi người sửa code sao để khi thay đổi tên file (Chữ đỏ) không ảnh hưởng đến lệnh của Macro trên

    Thuc Hien Macro nhieu Sheet.xls

    24.5 KB · Đọc: 50

Lần sửa đổi cuối: 30/12/14

    #2

Xóa bỏ Sheet41.

Chạy marco trong từng sheet

    #3

Mình có một file excel khoảng chừng 30 sheets, trong đó có 12 sheets có cấu trúc giống nhau, trước khi in thì chạy macro ẩn những dòng không còn tài liệu như vậy này;

Sub hidden()
Dim r As Range, CHK As Boolean
For Each r In Sheet41.Range("B11:B51")
CHK = False
If VarType(r.Value) = vbError Then
CHK = True
Else
If r.Value = "" Then CHK = True
End If
r.EntireRow.hidden = CHK
Next
Set r = Nothing
End Sub
Sub showrows()
Sheet41.Range("B11:B51").EntireRow.hidden = Fales

End Sub

Hiện với lệnh này, mình đang chạy với từng sheet riêng biệt. Nhờ mọi người chỉ giúp, mình yêu thích chỉ tạo 1 macro này, mà chạy cho nhiều sheet cùng 1 lúc, VD: sheet 4, sheet 6, sheet 8....thì viết lệnh ra làm sao ạ>

Mình cám ơn mọi người!

Sửa tên sub lại:

Sub hiddenSheet(sh as worksheet)
Dim r As Range, CHK As Boolean
For Each r In sh.Range("B11:B51")
CHK = False
If VarType(r.Value) = vbError Then
CHK = True
Else
If r.Value = "" Then CHK = True
End If
r.EntireRow.hidden = CHK
Next
Set r = Nothing
End Sub

Sub showrowsSheet(sh as worksheet)
sh.Range("B11:B51").EntireRow.hidden = False
End Sub

Sub hidden()
Dim sh
For Each sh In Array( Sheet1, Sheet2, ..., 12 cái sheets ở đây)
hiddenSheet sh
Next sh
End Sub

Sub showrows()
Dim sh
For Each sh In Array( Sheet1, Sheet2, ..., 12 cái sheets ở đây)
showrowsSheet sh
Next sh
End Sub

    #4

Sửa tên sub lại:

Sub hiddenSheet(sh as worksheet)
Dim r As Range, CHK As Boolean
For Each r In sh.Range("B11:B51")
CHK = False
If VarType(r.Value) = vbError Then
CHK = True
Else
If r.Value = "" Then CHK = True
End If
r.EntireRow.hidden = CHK
Next
Set r = Nothing
End Sub

Sub showrowsSheet(sh as worksheet)
sh.Range("B11:B51").EntireRow.hidden = False
End Sub

Sub hidden()
Dim sh
For Each sh In Array( Sheet1, Sheet2, ..., 12 cái sheets ở đây)
hiddenSheet sh
Next sh
End Sub

Sub showrows()
Dim sh
For Each sh In Array( Sheet1, Sheet2, ..., 12 cái sheets ở đây)
showrowsSheet sh
Next sh
End Sub

Cám ơn bạn nhiều nhiều nhé!

Nội dung chính

    1 Cách ghi Macro trong Google Sheets 2 Cách chạy Macro trong Google Sheets
      2.1 Sử dụng tùy chọn Macro Option từ menu Tools.2.2 Sử dụng tổ hợp phím tắt2.3 Từ Google Apps Script Editor2.4 Bằng cách gán Macro cho một hình dạng
    3 Tham chiếu ô tương đối và tuyệt đối trong khi ghi macro 4 Ưu điểm của việc sử dụng ghi Macro 5 Điều mà Macro không thể làm trong Google Sheets

Macro trong Google Sheets là gì?

Macro là một đoạn mã trong phần phụ trợ của Google Sheets và nó không hề khó như tất cả chúng ta tưởng. Macro này (một đoạn mã) là một loạt tiến trình mà bạn đã xác định và ngay sau khi chạy macro này, nó sẽ tự động thực hiện theo tất cả tiến trình này.

Để giúp bạn dễ hiểu hơn về Macro, Gitiho sẽ ra mắt một ví dụ, giả sử bạn nhận được một tập tài liệu trong đó bạn phải thực hiện ba việc:

1- Xóa tất cả những mục trùng lặp

2- Xóa tất cả những khoảng chừng trắng thừa Một trong những từ

3- Tạo đường viền cho toàn bộ tập tài liệu

Giờ đây, bạn hoàn toàn có thể thực hiện tất cả ba điều này trong Google Sheets theo cách thủ công (từng bước một).

Nhưng nếu bạn phải làm đi làm lại việc này hằng ngày hoặc nhiều lần mỗi ngày. Trong trường hợp đó, bạn hoàn toàn có thể nhanh gọn ghi macro và tự động hóa tiến trình này. Vì vậy, lần tới khi bạn có tập tài liệu cần thực hiện, tất cả những gì bạn phải làm là chạy macro và nó sẽ thực hiện tiến trình này.

Đừng lo ngại, bạn tránh việc phải biết bất kỳ loại mã nào để làm điều này. Khi ghi macro, bạn chỉ việc hiển thị cho Google Sheets tiến trình cần thực hiện (bằng phương pháp thực hiện một lần). Google Sheets sẽ tự động tạo mã cho bạn và sử dụng mã đó sau này khi bạn chạy macro.

Vì vậy, hãy khởi đầu và ghi lại macro đầu tiên của tớ nhé. 

Cách ghi Macro trong Google Sheets

Hãy ghi lại một macro đơn giản trong Google Sheets sẽ thực hiện những việc sau:

Bước 1: Chọn ô A1 trong trang tính.

Bước 2: Nhập nội dung văn bản Hello vào đó ô đó.

Bước 3: Tô màu ô màu vàng cho ô.

Dưới đây là tiến trình để ghi macro này trong Google Sheets:

Bước 1: Truy cập vào menu Tools.

Chạy marco trong từng sheet

Bước 2: Trong menu xổ xuống di con trỏ của bạn qua tùy chọn Macros, nó sẽ hiển thị một số trong những tùy chọn tương hỗ update.

Chạy marco trong từng sheet

Bước 3: Chọn tiếp mục Record macro. Điều này sẽ được cho phép ghi macro và cũng hiển thị một hộp thoại.

Chạy marco trong từng sheet

Bước 4: Trong hộp thoại Macro, chọn tùy chọn ‘Use absolute references’ (tùy chọn này được lý giải sau trong hướng dẫn này).

Chạy marco trong từng sheet

Các bước trên khởi đầu ghi macro. Từ thời điểm này trở đi (cho tới lúc bạn dừng trình ghi macro), Google Sheets sẽ theo dõi tất cả những gì bạn làm trong đó và quy đổi tiến trình của bạn thành mã trong chương trình phụ trợ.

Xem thêm: Một số khái niệm và hướng dẫn cơ bản về Macro trong Google Sheets

Bây giờ vì Google Sheets đang ghi lại mọi bước việc làm của bạn nên hãy thực hiện ba việc mà bạn muốn tự động hóa ở trên gồm:

Bước 1: Chọn ô A1 trong trang tính.

Bước 2: Nhập nội dung văn bản Hello vào đó ô đó.

Bước 3: Tô màu ô màu vàng cho ô (sử dụng tùy chọn Fill color từ thanh công cụ).

Khi bạn đã thực hiện xong ba bước trên, hãy bấm nút Save trong hộp thoại Macro.

Chạy marco trong từng sheet

Thao tác này sẽ mở hộp thoại Save new macro, nơi bạn cần chỉ định tên của macro rồi bấm nút Save một lần nữa để lưu lại. Bạn nên đặt tên gợi nhớ tính năng ngắn gọn để biết macro này làm gì.

Bạn cũng luôn có thể có một tùy chọn để chỉ định phím tắt cho macro này. Khi đặt phím tắt, bạn có thể sử dụng phím tắt này để chạy macro. Google Sheets tính được cho phép bạn setup phím tắt ở định dạng sau - Control + Alt + Shift + Number (trong đó số hoàn toàn có thể nằm trong khoảng chừng từ 0 đến 9)

Chạy marco trong từng sheet

Sau khi bạn lưu macro, hoàn toàn có thể mất vài giây để lưu macro đó trong Google Sheets. Tại thời điểm này, Google Sheets đang quy đổi macro của bạn thành tập lệnh (Script) Google Sheets (điều mà Google Sheets hiểu được). 

Sau khi hoàn tất việc lưu macro, bạn sẽ thấy một thông báo ở dưới cùng bên trái của tài liệu Google Sheets. Nó cũng hiển thị tùy chọn Edit Script và nếu bạn kích vào sẽ mở trình sửa đổi Google Apps Script và hiển thị cho bạn mã mà nó đã ghi lại.

Xem thêm: Hướng dẫn từng bước cách viết Macro trong VBA Excel 

Cách chạy Macro trong Google Sheets

Khi bạn đã ghi macro, bạn hoàn toàn có thể chạy nó bất kể lúc nào mình yêu thích và nó sẽ thực hiện theo tiến trình bạn đã chỉ ra khi ghi macro. Có một số trong những cách bạn hoàn toàn có thể chạy macro trong Google Sheets:

- Bằng cách sử dụng tùy chọn Macro Option từ menu Tools.

- Bằng cách sử dụng tổ hợp phím tắt.

- Từ Google Apps Script Editor

- Bằng cách gán cho một hình dạng.

Hãy cùng Gitiho tìm hiểu nhanh từng phương pháp chạy macro trong Google Sheets

Khi bạn đã ghi macro, bạn hoàn toàn có thể thuận tiện và đơn giản chạy macro này bằng phương pháp định vị nó từ menu Tools.

Bằng cách truy cập vào menu Tools và di con trỏ của bạn qua tùy chọn Macro.

Chạy marco trong từng sheet

Trong những tùy chọn tương hỗ update xuất hiện, bạn sẽ thấy tất cả những macro được liệt kê ở dưới cùng (sau ba tùy chọn đầu tiên).

Chạy marco trong từng sheet

Ngay sau khi bạn kích vào bất kỳ tên Macro nào trong list, nó sẽ được thực thi ngay lập tức.

Google Sheets không nhanh bằng những công cụ bảng tính khác (ví dụ như Excel). Vì vậy, khi bạn kích vào bất kỳ tên macro nào, hoàn toàn có thể mất vài giây để hoàn thành xong. Nó cũng phụ thuộc vào tự động hóa mà bạn đang nỗ lực đạt được. Nếu nên phải nhiều bước để thực hiện, hoàn toàn có thể mất nhiều thời gian hơn.

Sử dụng tổ hợp phím tắt

Khi bạn đang ghi macro trong Google Sheets, nó cũng yêu cầu chỉ định một phím tắt (bước tùy chọn). Phím tắt này hoàn toàn có thể được chỉ định trong hộp thoại nơi bạn đặt tên cho macro sau khi quá trình ghi kết thúc.

Khi phím tắt đã được thiết lập, bạn chỉ việc sử dụng tổ hợp phím tắt này và Google Sheets sẽ ngay lập tức chạy macro đó. Một lần nữa, có thể mất vài giây hoặc lâu hơn tùy thuộc vào số lượng bước có trong macro.

Xem thêm: Cách kích hoạt và vô hiệu hóa macro trong Excel

Từ Google Apps Script Editor

Khi bạn ghi macro trong Google Sheets và lưu nó, tiến trình sẽ tự động được lưu trong trình sửa đổi tập lệnh Google Apps Script Editor (GASE) của. Bây giờ nếu bạn muốn thực thi macro, bạn cũng hoàn toàn có thể thực hiện việc này từ trình soạn thảo GASE.

Để thực hiện việc này, trước tiên bạn cần mở trình soạn thảo GASE (bằng phương pháp truy cập vào menu Tools và sau đó chọn tùy chọn Script Editorn trong menu xổ xuống).

Chạy marco trong từng sheet

Khi trình sửa đổi tập lệnh mở ra, hãy lựa chọn macro bạn muốn chạy (từ menu thả xuống chọn hiệu suất cao cần thực hiện) và nhấn vào nút phát (Play) trên thanh công cụ. 

Chạy marco trong từng sheet

Xem thêm: Giới thiệu về Macro trong Excel (Windows)

Bằng cách gán Macro cho một hình dạng

Bạn cũng luôn có thể có thể chèn một hình dạng trong trang tính và sau đó gán macro của tớ cho nút đó. Để chèn một nút, hãy truy cập vào menu Insert và sau đó chọn tùy chọn Drawing.

Chạy marco trong từng sheet

Thao tác này sẽ mở hộp thoại Drawing. Kích vào hình tượng Shapes trong hộp thoại và chèn hình dạng bạn muốn sử dụng làm nút để chạy macro.

Chạy marco trong từng sheet

Khi kích vào bất kỳ hình dạng nào, bạn cần sử dụng chuột để vẽ nó trong khu vực được đáp ứng. Sau khi vẽ xong, bấm nút Save and Close, hình dạng sẽ được chèn vào trang tính.

Chạy marco trong từng sheet

Để gán macro cho hình dạng này, hãy kích chọn hình dạng vừa vẽ và kích vào dấu ba dấu xuất hiện ở trên cùng bên phải.

Chạy marco trong từng sheet

Từ những tùy chọn xuất hiện, chọn tùy chọn ‘Assign script’.

Chạy marco trong từng sheet

Các bước trên sẽ mở hộp thoại Assign Script, nơi bạn cần nhập tên của script mà mình yêu thích chạy. Tiếc rằng hiện tại, Google vẫn không còn tùy chọn để hiển thị list tất cả những tên của macro ngay trong hộp thoại này. Do đó bạn nên phải biết đúng chuẩn tên của macro đã lưu trước đó và nhập vào đây.

Bây giờ, bất kể lúc nào bạn nhấn vào hình dạng, nó sẽ ngay lập tức chạy macro.

Xem thêm: Hướng dẫn cách đưa Macros lên thanh Ribbon trong Excel

Tham chiếu ô tương đối và tuyệt đối trong khi ghi macro

Khi bạn sử dụng tham chiếu ô trong Google Sheets, tham chiếu đó hoàn toàn có thể là tuyệt đối hoặc tương đối.

Tham chiếu ô tuyệt đối: $A$1

Tham chiếu ô tương đối: A1

Tham chiếu ô tuyệt đối nghĩa là nếu bạn sao chép và dán những tham chiếu này vào công thức, những tham chiếu này sẽ không thay đổi. Đây là những điều tuyệt đối. Ví dụ: giả sử bạn có một số trong những giá trị trong ô A1:A10 và có công thức =SUM($A$1:$A$10) trong ô B1.

Công thức này sử dụng tham chiếu ô tuyệt đối. Điều này nghĩa là nếu sao chép và dán công thức này từ ô B1 đến B2 (hoặc bất kỳ ô nào khác trong trang tính), nó sẽ không thay đổi những ô mà nó đề cập đến.

trái lại, giả sử bạn sử dụng công thức sau trong ô B1: =SUM(A1:A10). Vì công thức này sử dụng tham chiếu ô tương đối nên khi sao chép và dán công thức từ ô B1 đến B2, công thức sẽ thay đổi thành =SUM(A2:A11).

Xem thêm: Hướng dẫn 5 phương pháp tính tổng một cột trong Excel 

Điều này là vì việc sử dụng tham chiếu ô tương đối không khóa những tham chiếu ô và liên quan đến vị trí mà nó được sử dụng. Nếu sao chép công thức này vào ô C1, nó sẽ thay đổi thành = SUM(B1:B10). Điều này là bạn đã chuyển công thức sang phải một cột (từ B sang C), tham chiếu trong công thức cũng dịch chuyển theo một cột.

Bây giờ đến với macro trong Google Sheets, bạn hoàn toàn có thể ghi macro với tham chiếu ô Tuyệt đối (Absolute) hoặc Tương đối (Relative). Tùy chọn này xuất hiện ngay lúc bạn khởi đầu ghi macro.

Khi bạn ghi một macro với tham chiếu ô tuyệt đối, nó sẽ ghi nhớ những ô hoặc phạm vi đã chọn và sử dụng những ô tương tự khi bạn chạy macro. Ví dụ: nếu ghi một macro để nhập văn bản 'Hello' vào ô A1, khi bạn chạy lại macro này, nó sẽ luôn quay lại ô A1 và nhập văn bản 'Hello' vào ô A1.

Nhưng với tham chiếu ô tương đối, nó ghi nhớ vị trí mà bạn khởi đầu và sau đó di tán liên quan đến vị trí này. Ví dụ: Nếu khởi đầu ghi macro khi đã chọn ô B1 và trước tiên chọn A1 rồi nhập văn bản 'Hello' vào đó, macro của Google Sheets sẽ nhớ rằng bạn đã di tán một ô sang bên trái.

Vì vậy, lần sau khi bạn chạy macro này và chọn ô K1, nó sẽ nhập văn bản vào ô J1 (còn một ô đối với ô đã chọn).

Ưu điểm của việc sử dụng ghi Macro

Dưới đây là những lợi thế của việc sử dụng Macro được ghi lại:

- Trình ghi macro đáp ứng cho bạn một giao diện dễ sử dụng được cho phép hiển thị cho Google Sheets tiến trình đúng chuẩn mà bạn muốn tự động hóa. Sau khi hoàn tất, Google Sheets sẽ tạo mã cho những bước bạn đã tuân theo. Bây giờ bạn hoàn toàn có thể chạy macro mà không cần chạm vào mã đó.

- Trong trường hợp bạn tự tạo mã và cảm thấy bị mắc kẹt, bạn hoàn toàn có thể sử dụng trình ghi Macro và xem qua mã mà nó tạo. Đối với người mới khởi đầu học Google Apps Script, trình ghi macro hoàn toàn có thể là một “thầy giáo hướng dẫn” tuyệt vời.

Điều mà Macro không thể làm trong Google Sheets

Mặc dù macro rất tuyệt vời nhưng cũng luôn có thể có một số trong những hạn chế nhất định như:

- Không thể tạo những hiệu suất cao tùy chỉnh: Mặc dù bạn hoàn toàn có thể sử dụng Google Apps Script để tạo những hiệu suất cao tùy chỉnh nhưng lại không thể làm điều đó với máy ghi macro. Để tạo một hàm tùy chỉnh, bạn sẽ phải viết mã theo cách thủ công và chỉ định loại kết quả muốn hàm đó trả về.

- Không thể tạo macro để chạy nhờ vào sự kiện: Giả sử bạn muốn macro chạy bất kể lúc nào người tiêu dùng mở sổ thao tác hoặc chọn một ô rõ ràng hoặc thực hiện thay đổi trong trang tính, bạn không thể thực hiện việc này bằng phương pháp sử dụng trình ghi macro. Đây là những sự kiện và vì bạn muốn macro kích hoạt khi sự kiện xảy ra nên phải chỉ định thủ công sự kiện kích hoạt và mã macro.

- Không thể chạy macro mà không chọn đối tượng: Khi bạn khởi đầu ghi macro trong Google Sheets, macro chỉ việc thực hiện theo tất cả tiến trình bạn thực hiện và tạo mã nhờ vào nó. Để làm điều này, bạn nên phải thực hiện tuần tự đúng chuẩn tiến trình để macro tuân theo. Điều này nghĩa là macro chỉ hoàn toàn có thể ghi lại những gì nó nhìn thấy trên màn hình hiển thị và không thể thực hiện những thay đổi trong những trang tính khác đối với những tài liệu không được chọn. Tuy nhiên, bạn hoàn toàn có thể làm điều này khi viết mã theo cách thủ công.

- Không thể tạo vòng lặp: Giả sử bạn muốn macro lặp qua từng ô trong một phạm vi và xóa hàng nếu giá trị trong ô là 'No' và không thay đổi nếu giá trị đó là 'Yes'. Bạn không thể làm điều này với macro. Chắc chắn có nhiều phương pháp để hoàn thành xong việc này (ví dụ như áp dụng bộ lọc và xóa những ô). Với trình ghi macro, bạn không thể lặp qua những ô nhưng lại hoàn toàn có thể thực hiện khi viết mã theo cách thủ công.

- Không thể phân tích điều kiện và thực hiện hành vi nhờ vào nó: Với trình ghi macro, vì bạn không thể lặp qua những ô trong một phạm vi, nên cũng không thể phân tích điều kiện và thực hiện hành vi nhờ vào nó. Ví dụ: giả sử bạn muốn lặp lại tất cả những trang tính trong tài liệu Google Sheets và nhận list tất cả những tên trang tính trong trang tính hiện hoạt. Điều này sẽ không thể được thực hiện với máy ghi macro và bạn phải viết mã theo cách thủ công cho nó. 

Cuối cùng, đừng quên tham khảo khóa học Google Sheets của Gitiho bạn nhé! Hẹn hội ngộ những bạn trong những nội dung bài viết tiếp theo.

Tải thêm tài liệu liên quan đến nội dung bài viết Chạy marco trong từng sheet

Clip Chạy marco trong từng sheet ?

Bạn vừa tham khảo nội dung bài viết Với Một số hướng dẫn một cách rõ ràng hơn về Video Chạy marco trong từng sheet tiên tiến nhất

Share Link Tải Chạy marco trong từng sheet miễn phí

Người Hùng đang tìm một số trong những Chia SẻLink Download Chạy marco trong từng sheet Free.

Thảo Luận thắc mắc về Chạy marco trong từng sheet

Nếu sau khi đọc nội dung bài viết Chạy marco trong từng sheet vẫn chưa hiểu thì hoàn toàn có thể lại Comments ở cuối bài để Admin lý giải và hướng dẫn lại nha #Chạy #marco #trong #từng #sheet