Thủ Thuật về Macros copy tài liệu sang sheet mới trong google sheet 2022
Bạn đang tìm kiếm từ khóa Macros copy tài liệu sang sheet mới trong google sheet được Update vào lúc : 2022-10-21 10:40:21 . Với phương châm chia sẻ Thủ Thuật Hướng dẫn trong nội dung bài viết một cách Chi Tiết 2022. Nếu sau khi tìm hiểu thêm tài liệu vẫn ko 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.
- Nội dung
- Tóm tắt
- I. Copy và Di
chuyển dải ô trong một sheet - II. Copy / Di chuyển dải ô từ sheet này sang sheet khác
- III. Xóa hàng, xóa
cột bằng App Script - IV. Tóm tắt những hàm lấy phân lớp Sheet
Nội dung chính
- II. Copy / Di chuyển dải ô từ sheet này sang sheet khác
- III. Xóa hàng, xóa cột bằng App Script
- IV. Tóm tắt những hàm lấy phân lớp Sheet
Đây là Bài 3 trong chuỗi serie Học Ứng dụng Google App Script vào Google Sheet. Trong bài này, tiềm năng chính của toàn bộ chúng ta là tìm hiểu cách Copy và Di chuyển dải ô từ sheet này sang sheet khác. Clip hướng dẫn:
Nội dung
- Copy và Di chuyển dải ô trong một sheet
- Copy và Di chuyển dải ô từ sheet này sang sheet khác
- Xóa hàng, xóa
cột - Tóm tắt những hàm lấy phân lớp Sheet
Tóm tắt
- copyTo() copy dải ô đứng trước và paste vào vị trí dải ô trong ngoặc
- moveTo() chuyển dải ô đước trước vào trị ví dải ô trong ngoặc
- getSheetByName() đi đến sheet mang tên trong ngoặc
- deleteRow() xóa dòng có số thứ tự trong ngoặc
- deleteColumn() xóa cột có số thứ tự trong ngoặc
- deleteRows(rowPosition,
howMany) xóa howMany dòng, bắt nguồn từ dòng rowPosition - deleteColumns(columnPosition, howMany) xóa howMany cột, bắt nguồn từ cột columnPosition
Ở những bài trước thì tôi đã trình làng những hàm getValue(), getValues(), setValue() và setValues(). Các hàm này được thiết lập nhằm mục đích mục tiêu đó đó là lấy giá trị và đặt giá trị. Chúng ta đã tận dụng điều này để copy và paste dải ô. Tuy
nhiên thì những hàm trên không chuyên dùng để làm vậy. Thay vào đó toàn bộ chúng ta nên dùng hàm copyTo() và moveTo().
Ở Bài 2: Các hàm lấy giá trị và đặt giá trị dải ô,mình có đoạn code ở đầu cuối như sau:
functionmyFunction()
varss =SpreadsheetApp.getActiveSpreadsheet();
varsheet=
ss.getActiveSheet();
varrange=sheet.getRange(“A1:D7”);
vargiatri1=
range.getValues();
vardich=sheet.getRange(“F8:I14”);
dich.setValues(giatri1);
Chức năng của nó là gán những giá trị của dải ô A1:D7 vào biến giatri1, tiếp theo đó đi đến dải ô F8:I14 để ghi những giá trị đó vào. Đây hoàn toàn giống với việc toàn bộ chúng ta đi copy và paste. App Script phục vụ 1 hàm chuyên dùng để làm điều này, đó là copyTo(). Bây giờ, mình không dùng đến những hàm getValues() và setValues() nữa, mình viết lại như sau:
functionmyFunction()
varss =SpreadsheetApp.getActiveSpreadsheet();
varsheet=
ss.getActiveSheet();
varrange=sheet.getRange(“A1:D7”);
vardich=
sheet.getRange(“F8:I14”);
range.copyTo(dich);
Câu lệnh range.copyTo(dich); thực thi trách nhiệm:
copyTo() là hàm copy dải ô đứng trước và paste vào vị trí dải ô trong ngoặc
Lưu ý rằng, biến “range” và biến “dich” phải có cùng kích thước (7 hàng, 4 cột). Tương tự dải ô mà
những bạn muốn copy phải cùng kích thước hàng cột với dải ô mà cách bạn paste vào.
Cách sử dụng hàm moveTo cũng tương tự như copyTo
moveTo() là hàm di tán dải ô đước trước vào trị ví dải ô trong ngoặc
functionmyFunction()
varss =SpreadsheetApp.getActiveSpreadsheet();
varsheet=
ss.getActiveSheet();
varrange=sheet.getRange(“A1:D7”);
vardich=
sheet.getRange(“F8:I14”);
range.moveTo(dich);
Tuy nhiên vì bản chất là “move” nên nó tài liệu ở dải ô cũ cũng không hề. Xem hình:
II. Copy / Di chuyển dải ô từ sheet này sang sheet khác
Để copy
hoặc di tán dải ô từ sheet này sang sheet khác thì bạn phải xác lập sheet mà bạn muốn copy / move vào (sheet đích đến). Để phân biệt, mình sẽ đặt sheet0 là sheet mà toàn bộ chúng ta lấy tài liệu, và sheet1 là sheet đích đến.
Mục tiêu: di tán dải ô A1:D7 ở sheet0 và paste sang dải ô F8:I14 ở sheet1
Để xác lập sheet khác, toàn bộ chúng ta dùng hàm getSheetByName()
getSheetByName() là
hàm đi đến sheet mang tên trong ngoặc
Lưu ý tên phải để trong dấu ngoặc kép ” “
functionmyFunction()
varss =SpreadsheetApp.getActiveSpreadsheet();
varsheet0=
ss.getActiveSheet();
varsheet1=ss.getSheetByName(“sheet1”);
varrange=
sheet0.getRange(“A1:D7”);
vardich=sheet1.getRange(“F8:I14”);
range.moveTo(dich);
Ở trên, tôi đã thay biến sheet cũ thành sheet0 (để phân biệt với sheet1). Biến sheet1 sẽ đi đến sheet mang tên là sheet1. Đồng thời biến dich thời gian hiện nay sẽ là dải ô F8:I14 trong sheet1
Vì cách dùng của copyTo() và moveTo() là giống nhau nên tôi chỉ minh họa moveTo() thôi, những bạn hoàn toàn có thể tự thử với copyTo().
III. Xóa hàng, xóa cột bằng App Script
Để xóa 1 hàng hoặc 1 cột trong một sheet, những bạn sử dụng hàm deleteRow() hoặc deleteColumn()
deleteRow() thực thi việc xóa dòng có số thứ tự trong ngoặc
deleteColumn() thực thi việc xóa cột có số thứ tự trong ngoặc
Ví dụ (không liên quan đến đoạn code trên), mình yêu thích xóa hàng 2 và cột 2 trong sheet đang thao tác (sheet0), mình viết như sau:
functionxoahangcot()
varss=SpreadsheetApp.getActiveSpreadsheet();
varsheet=
ss.getActiveSheet();
sheet.deleteRow(2);
sheet.deleteColumn(2);
Trước khi chạy đoạn code trên
Sau khi chạy đoạn code thực thi xóa dòng 2 và cột 2
Để xóa nhiều hàng / nhiều cột trong một sheet, toàn bộ chúng ta sử dụng hàm
deleteRows() hoặc deleteColumns()
deleteRows(rowPosition, howMany) thực thi việc xóa howMany dòng, bắt nguồn từ dòng rowPosition
deleteColumns(columnPosition, howMany) thực thi việc xóa howMany cột, bắt nguồn từ cột columnPosition
Quay lại đoạn code chính của toàn bộ chúng ta. Mình muốn làm 1 việc như sau:
Sau khi đã di tán dải ô A1:D7 từ sheet0 sang F8:I14 ở sheet1, khu
vực A1:D7 sẽ bị trống không. Bây giờ toàn bộ chúng ta sẽ xóa đi những hàng trống và cột trống đó. Có toàn bộ 7 dòng và 5 cột trống. Chúng ta được đoạn code hoàn hảo nhất như sau:
functionmyFunction()
varss =SpreadsheetApp.getActiveSpreadsheet();
varsheet0=
ss.getActiveSheet();
varsheet1=ss.getSheetByName(“sheet1”);
varrange=
sheet0.getRange(“A1:D7”);
vardich=sheet1.getRange(“F8:I14”);
range.moveTo(dich);
sheet0.deleteRows(1,7);//Xóa 7 dòng, bắt nguồn từ dòng 1
sheet0.deleteColumns(1,5);//Xóa 5 cột, bắt nguồn từ cột A
Vậy là mình chia sẻ xong phần xóa dòng / cột. Tiếp đến mình sẽ tóm tắt những hàm lấy sheet.
IV. Tóm tắt những hàm lấy phân lớp Sheet
Chúng ta đã biết hàm getActiveSheet() sẽ lấy sheet mà toàn bộ chúng ta đang thao tác trên Google Sheet và getSheetByName() lấy sheet mang tên ở trong ngoặc. Ngoài ra để lấy sheet, toàn bộ chúng ta còn 1 hàm nữa, đó là getSheets().
Bạn có
thể đọc thêm về hàm getSheets() tại đây:
https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet#getsheets
Mình muốn chia sẻ 1 cách dùng của getSheets() để lấy sheet có số thứ tự trong bảng tính. Để lý giải bằng lời thì hơi khó, nên mình sẽ lấy ví dụ cho dễ hiểu. Ở đoạn code chính, tôi đã dùng getActiveSheet() cho
sheet0 và getSheetByName() cho sheet1. Bây giờ mình sẽ thay chúng bằng getSheets()
functionmyFunction()
varss =SpreadsheetApp.getActiveSpreadsheet();
varsheet0=
ss.getSheets()[0];
varsheet1=ss.getSheets()[1];
varrange
=sheet0.getRange(“A1:D7”);
vardich=sheet1.getRange(“F8:I14”);
range.moveTo(dich);
sheet0.deleteRows(1,7);
sheet0.deleteColumns(1,5);
Bằng việc bỏ số thứ tự của sheet trong bảng tính vào trong [ ], tôi đã có kết quả tương tự. Lưu ý: sheet thứ nhất sẽ có được số thứ tự là 0, sheet thứ hai có số thứ tự là một trong,… Đó là vì trong Java Script, mảng khởi đầu đếm từ 0. Cho nên lúc gọi sheet0 tôi đã dùng getSheets()[0], còn gọi sheet1 thì dùng getSheets()[1]
Trước khi chạy code. Bạn hãy chạy thử code để xem kết quả nhé ^^ Tải thêm tài liệu liên quan đến nội dung bài viết Macros copy tài liệu sang sheet mới trong google sheet
Công Nghệ
Google
Reply
8
0
Chia sẻ
Chia Sẻ Link Tải Macros copy tài liệu sang sheet mới trong google sheet miễn phí
Bạn vừa Read tài liệu Với Một số hướng dẫn một cách rõ ràng hơn về Review Macros copy tài liệu sang sheet mới trong google sheet tiên tiến và phát triển nhất và ShareLink Tải Macros copy tài liệu sang sheet mới trong google sheet Free.
Thảo Luận vướng mắc về Macros copy tài liệu sang sheet mới trong google sheet
Nếu sau khi đọc nội dung bài viết Macros copy tài liệu sang sheet mới trong google sheet vẫn chưa hiểu thì hoàn toàn có thể lại Comment ở cuối bài để Tác giả lý giải và hướng dẫn lại nha
#Macros #copy #dữ #liệu #sang #sheet #mới #trong #google #sheet