Cách xử lý VBA trên google sheet

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

Quang Ròm

Thành viên mới
Tham gia
18/4/23
Bài viết
5
Được thích
1
Nhờ anh em xử lý giúp em.
Hiện tại e có mã code trên excel offline nhờ ae chuyển giúp qua google sheet giúp ạ e cảm ơn rất nhiều:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row <> 2 Or Target.Column > 2 Then
Exit Sub
End If
If Target.Text = "" Then Exit Sub
Application.EnableEvents = False
If Target.Column = 1 Then
Range("A1").End(xlDown).Offset(1, 0).Value = Target.Value
Range("B2").Select
Else
Range("B1").End(xlDown).Offset(1, 0) = Target.Value
Range("A2").Select
End If
Application.EnableEvents = True

End Sub
-e muốn như excel là tại vị trí scanr ở a2 thì nhảy qua b2 và ngược lại. Sau khi scanr thì dữ liệu đẩy dồn xuống bên dưới ạ.
 
1681957355542.png

Nghĩa là dữ liệu mới được ghi nối tiếp xuống phía dưới cột A:B tương ứng với cell A2, B2.




cả câu này nghĩa là gì
1681957410636.png

Nghĩa là dữ liệu được nhập vào bằng thiết bị ngoại vi (máy quét) tại cell A2, B2.
Trỏ chuột chỉ di chuyển qua lại giữa 2 cells A2 và B2. Dữ liệu nhập ở A2 xong thì trỏ chuột nhảy sang B2, dữ liệu nhập ở B2 xong thì trỏ chuột nhảy sang A2, và cứ tuần tự lặp lại như thế cho tới khi chóng mặt... hiểu yêu cầu và viết code script thôi.
 
thiết bị máy quét thông thường tự động bấm phím enter khi quét dữ liệu. Như vậy là mong muốn của chủ thớt là A2 sau khi quét dữ liệu sẽ bị nhảy xuống A3, code lại cho nó chọn vào B2 để sử dụng máy quét tiếp. và máy quét sẽ cho xuống dòng b3 thì đưa trỏ chuột vê A3. Có đúng vại ko
 
A2 sau khi quét dữ liệu sẽ bị nhảy xuống A3

Enter nhảy đi đâu là do con người quyết định, và nhảy đi đâu thì mặc kệ chứ.
Yêu cầu rõ ràng vậy rồi. Code VBA đã có, giờ chuyển thành Apps script thôi (chạ liên quan gì tới Enter nhảy đi đâu cạ).
 
Thường thông lệ là mấy quét xong là tự động xuống dòng.
Mình muốn chuyển code vba qua app script như trên:
Tại vị trí máy quét tại a2 nhảy qua b2 nhảy a2 tiếp diễn như vậy. Dữ liệu được đẩy về bên dưới ạ. Ae dân làm gps biết giúp mình chuyển về cript với ạ.
 

File đính kèm

  • 0D20F528-85BA-477C-A990-82C720705B04.png
    0D20F528-85BA-477C-A990-82C720705B04.png
    183.7 KB · Đọc: 12
Nhờ anh em xử lý giúp em.
Hiện tại e có mã code trên excel offline nhờ ae chuyển giúp qua google sheet giúp ạ e cảm ơn rất nhiều:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row <> 2 Or Target.Column > 2 Then
Exit Sub
End If
If Target.Text = "" Then Exit Sub
Application.EnableEvents = False
If Target.Column = 1 Then
Range("A1").End(xlDown).Offset(1, 0).Value = Target.Value
Range("B2").Select
Else
Range("B1").End(xlDown).Offset(1, 0) = Target.Value
Range("A2").Select
End If
Application.EnableEvents = True

End Sub
-e muốn như excel là tại vị trí scanr ở a2 thì nhảy qua b2 và ngược lại. Sau khi scanr thì dữ liệu đẩy dồn xuống bên dưới ạ.
Đây là bài gần giống và có script, có hướng dẫn đầy đủ
Tất nhiên phải thay đổi vận dụng cho thích hợp với bài hiện tại
 
...
Tất nhiên phải thay đổi vận dụng cho thích hợp với bài hiện tại
Thay đổi được thì đã chả lên đây hỏi.
Nói chung, thớt nhận việc ngoài sức của mình.
Công ty muốn dùng đồ tự động cho hoành tráng thì phải chịu khó bỏ tiền mướn người có khả năng đi theo các phần mềm hiện đại.

Người có khả năng sẽ tự viết code, chỉ hỏi một đôi chỗ bí. Đâu có ai biết hết, nhưng ít nhất trước khi xây nhà thì phải biết cái nhà đại khái xây ra sao.

Tôi có cảm tưởng công ty này hà tiện tối đa, chuyển ứng dụng sang đồ chùa cho khỏi mất tiền và bắt nhân viên tự thích ứng. Quả bom nổ chậm là nhân viên có thể chỉ giả vờ thích ứng.
 
Thay đổi được thì đã chả lên đây hỏi.
Nói chung, thớt nhận việc ngoài sức của mình.
Công ty muốn dùng đồ tự động cho hoành tráng thì phải chịu khó bỏ tiền mướn người có khả năng đi theo các phần mềm hiện đại.

Người có khả năng sẽ tự viết code, chỉ hỏi một đôi chỗ bí. Đâu có ai biết hết, nhưng ít nhất trước khi xây nhà thì phải biết cái nhà đại khái xây ra sao.

Tôi có cảm tưởng công ty này hà tiện tối đa, chuyển ứng dụng sang đồ chùa cho khỏi mất tiền và bắt nhân viên tự thích ứng. Quả bom nổ chậm là nhân viên có thể chỉ giả vờ thích ứng.
Đúng rồi. Lên hỏi ae code được thì quá tốt, mình cảm ơn nhiều.
 
Ái chà đồng nghiệp. đừng bảo là HN SOC nhé.
Dùng đoạn script này nha b
function onEdit(e) {
if (e && e.range) {
var sheet = e.range.getSheet();
if (sheet.getSheetName() == "Data") {
var row = e.range.getRow();
var col = e.range.getColumn();
if (col == 1) {
sheet.getRange(row, col+1).activate();
} else if (col == 2) {
sheet.getRange(row+1, col-1).activate();
}
}
}
}
 
Web KT
Back
Top Bottom