Tình nghĩa giang hồ
Thanh sơn bất cải, lục thủy trường lưu
- Tham gia
- 29/9/20
- Bài viết
- 330
- Được thích
- 429
Chào anh em GPE em có bài thực tế nhờ các anh em giúp đỡ
Trong VBA Excel có 2 cách tìm dòng cuối
Em có đoạn CODE cũng là ứng dụng VBA nhưng là VBA dùng SAP
Dim lr As Long
lr = Sheet1.Range("A" & Rows.count).End(xlUp).Row
For i = 2 to lr
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").text = "/nme12"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/ctxtEINA-LIFNR").text = Sheet1.Rows(i).Cells(1)
session.findById("wnd[0]/usr/ctxtEINA-MATNR").text = Sheet1.Rows(i).Cells(2)"
session.findById("wnd[0]/usr/ctxtEINE-EKORG").text = Sheet1.Rows(i).Cells(3)
session.findById("wnd[0]/usr/ctxtEINE-WERKS").text = Sheet1.Rows(i).Cells(4)
session.findById("wnd[0]/usr/ctxtEINE-WERKS").setFocus
session.findById("wnd[0]/usr/ctxtEINE-WERKS").caretPosition = 4
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/tbar[1]/btn[8]").press
session.findById("wnd[1]/usr/tblSAPLV14ATCTRL_D0102/ctxtVAKE-DATAB[0,3]").setFocus
session.findById("wnd[1]/usr/tblSAPLV14ATCTRL_D0102/ctxtVAKE-DATAB[0,3]").caretPosition = 2
session.findById("wnd[1]").sendVKey 2
session.findById("wnd[0]/tbar[0]/btn[11]").press
Sheet1.Rows(i).Cells(7) = “Xong”
Next i
Trong đoạn code này chỉ có 2 dòng em cần chỉnh
session.findById("wnd[1]/usr/tblSAPLV14ATCTRL_D0102/ctxtVAKE-DATAB[0,3]").setFocus
session.findById("wnd[1]/usr/tblSAPLV14ATCTRL_D0102/ctxtVAKE-DATAB[0,3]").caretPosition = 2
Thay vì ở đây là số 3 thì thay bằng dòng cuối……… LƯU Ý: DÒNG CUỐI NÀY LÀ DÒNG CUỐI TRONG MÀN HÌNH SAP, không phải Excel
Nhờ anh em hỗ trợ giúp em, hiện tại khá nhiều công ty sử dụng SAP, VBA ngoài ứng dụng Excel thì còn cho SAP nữa.
Em đang vướng chỗ này không biết xử lý thế nào.
Cảm ơn anh em.
Trong VBA Excel có 2 cách tìm dòng cuối
lastrow = Sheet1.Range("A" & Rows.count).End(xlUp).Row |
lastrow = Sheet1.Cells(Rows.count, 1).End(xlUp).Row |
Em có đoạn CODE cũng là ứng dụng VBA nhưng là VBA dùng SAP
Dim lr As Long
lr = Sheet1.Range("A" & Rows.count).End(xlUp).Row
For i = 2 to lr
session.findById("wnd[0]").maximize
session.findById("wnd[0]/tbar[0]/okcd").text = "/nme12"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/ctxtEINA-LIFNR").text = Sheet1.Rows(i).Cells(1)
session.findById("wnd[0]/usr/ctxtEINA-MATNR").text = Sheet1.Rows(i).Cells(2)"
session.findById("wnd[0]/usr/ctxtEINE-EKORG").text = Sheet1.Rows(i).Cells(3)
session.findById("wnd[0]/usr/ctxtEINE-WERKS").text = Sheet1.Rows(i).Cells(4)
session.findById("wnd[0]/usr/ctxtEINE-WERKS").setFocus
session.findById("wnd[0]/usr/ctxtEINE-WERKS").caretPosition = 4
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/tbar[1]/btn[8]").press
session.findById("wnd[1]/usr/tblSAPLV14ATCTRL_D0102/ctxtVAKE-DATAB[0,3]").setFocus
session.findById("wnd[1]/usr/tblSAPLV14ATCTRL_D0102/ctxtVAKE-DATAB[0,3]").caretPosition = 2
session.findById("wnd[1]").sendVKey 2
session.findById("wnd[0]/tbar[0]/btn[11]").press
Sheet1.Rows(i).Cells(7) = “Xong”
Next i
Trong đoạn code này chỉ có 2 dòng em cần chỉnh
session.findById("wnd[1]/usr/tblSAPLV14ATCTRL_D0102/ctxtVAKE-DATAB[0,3]").setFocus
session.findById("wnd[1]/usr/tblSAPLV14ATCTRL_D0102/ctxtVAKE-DATAB[0,3]").caretPosition = 2
Thay vì ở đây là số 3 thì thay bằng dòng cuối……… LƯU Ý: DÒNG CUỐI NÀY LÀ DÒNG CUỐI TRONG MÀN HÌNH SAP, không phải Excel
Nhờ anh em hỗ trợ giúp em, hiện tại khá nhiều công ty sử dụng SAP, VBA ngoài ứng dụng Excel thì còn cho SAP nữa.
Em đang vướng chỗ này không biết xử lý thế nào.
Cảm ơn anh em.