Hỗ trợ tìm dòng cuối cùng

Liên hệ QC

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

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.
 
Em xin bổ sung hình ảnh dòng cuối màn hình SAP, dòng cuối chỗ mũi tên đỏ, còn table thuộc tính thì ở mũi tên vàng. Ở trường hợp hình ảnh này thì dòng cuối là dòng 5, nhưng SAP đếm theo kiểu 0,1,2,3,4 nên ở đây sẽ là số 4. Lastrow = 4
 

File đính kèm

  • SAP.jpg
    SAP.jpg
    79.6 KB · Đọc: 30
  • SAP.rar
    195.7 KB · Đọc: 8
Upvote 0
Em xin bổ sung hình ảnh dòng cuối màn hình SAP, dòng cuối chỗ mũi tên đỏ, còn table thuộc tính thì ở mũi tên vàng. Ở trường hợp hình ảnh này thì dòng cuối là dòng 5, nhưng SAP đếm theo kiểu 0,1,2,3,4 nên ở đây sẽ là số 4. Lastrow = 4
Dùng phương thức đếm trong SAP, tôi nhớ ko nhầm thì là .RowsCount
Bài đã được tự động gộp:

Em xin bổ sung hình ảnh dòng cuối màn hình SAP, dòng cuối chỗ mũi tên đỏ, còn table thuộc tính thì ở mũi tên vàng. Ở trường hợp hình ảnh này thì dòng cuối là dòng 5, nhưng SAP đếm theo kiểu 0,1,2,3,4 nên ở đây sẽ là số 4. Lastrow = 4
Dùng phương thức đếm trong SAP, tôi nhớ ko nhầm thì là .RowsCount
 
Upvote 0
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
Đây chỉ là một cách chứ không phải 2. Range("A1000000") in hệt như Cells(1000000,1)

Cách thứ hai thực sự là dùng phương thức Find, và tìm "*".
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom