Chuyên mục xử lý, gỡ rối code VBA (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Status
Không mở trả lời sau này.

ndu96081631

Huyền thoại GPE
Thành viên BQT
Super Moderator
Tham gia
5/6/08
Bài viết
30,703
Được thích
53,954
Chào các bạn. Mình xin hỏi chút về vấn đề sau: Mình có nhiều Sheet trong Workbook., Ví dụ: Sheets("A"); Sheets("B"); Sheets("C").... Vậy dùng câu lệnh nào có thể lấy đc tên Sheet mình vừa DeActivate. Ví dụ: đang ở sheets("A"), mà bấm chọn Sheet bất kỳ thì có 1 Msgbox hiện "A" ....
( ActivateSheet.Name - nhưng nó chỉ lấy sheet hiện hành, chứ kp là lấy tên Sheet vừa đi qua xong )
Như thế này cũng được anh ạ
Mã:
Option Explicit
Public Str As String
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
    Str = Sh.Name
    MsgBox Str
End Sub
 
Upvote 0
Upvote 0
Cho em hỏi! Em đang đứng tại sheet22 gọi code nó chạy ở sheet21 Code dưới đã đúng chưa ạ. Em xin cảm ơn
With Sheets("Sheet21")
code
...
End With
 
Upvote 0
Các bác có thể giúp em là em bị lỗi gì ko ạ. Do em tay ngang vọc vba nên cũng ko được bài bản lắm. Gặp lỗi là đứng hình ko hiểu tại sao? Rât mong được sự giúp đỡ ạ!LOI_VB.png
 

File đính kèm

Upvote 0
Upvote 0
Upvote 0
Thường thì không đúng.
Đây chỉ là nói đúng sai thôi, còn lỗi phải lại là chuyện khác.
Như này sai chỗ nào a nhỉ.. đang đứng ở sheet22
Mã:
Sub GopDuLieu_Delete()
    Dim lr As Long
With Sheet21
    lr = Range("A9999").End(xlUp).row
    Range("BA3:BC" & lr).ClearContents
End With
End Sub
 
Upvote 0
Upvote 0
à à! được rồi, em cảm ơn chị nhiều
 
Upvote 0
Các bác có thể giúp em là em bị lỗi gì ko ạ. Do em tay ngang vọc vba nên cũng ko được bài bản lắm. Gặp lỗi là đứng hình ko hiểu tại sao? Rât mong được sự giúp đỡ ạ!View attachment 195302
Cho chết! cái tội cẩu tha khi viết code.
Mã:
Dim SBD As Double
    SDB = 16

Lẽ ra phải là SBD=16 thì lại viết là SDB=16.

Mà người ta dùng Long là được rùi, không cần sài Double.
 
Upvote 0
Các bác có thể giúp em là em bị lỗi gì ko ạ. Do em tay ngang vọc vba nên cũng ko được bài bản lắm.. . . .
Để vẫn có thể ẩu tả 1 cách đúng đắn, ta xài tên tham biến cho thích hợp;
Ví dụ Nên là SoBD hay sBD thay vì SBD
 
Upvote 0
Chào anh chị!
em muốn cho 1 vùng thành value thì phải làm thế nào ạ
Ví dụ: vùng cần chuyển sang value từ L6:AF
Công thức em làm báo lỗi
Mã:
    Dim lr As Long
    lr = Range("A9999").End(xlUp).row
    Range("L6:AF" & lr).Value
 
Lần chỉnh sửa cuối:
Upvote 0
Chào anh chị!
em muốn cho 1 vùng thành value thì phải làm thế nào ạ
Ví dụ: vùng cần chuyển sang value từ L6:AF
Công thức em làm báo lỗi
Mã:
    Dim lr As Long
    lr = Range("A9999").End(xlUp).row
    Range("L6:AF" & lr).Value
Thêm = chính nó
 
Upvote 0
Chào anh chị!
em muốn cho 1 vùng thành value thì phải làm thế nào ạ
Ví dụ: vùng cần chuyển sang value từ L6:AF
Công thức em làm báo lỗi
Mã:
    Dim lr As Long
    lr = Range("A9999").End(xlUp).row
    Range("L6:AF" & lr).Value
Dòng cuối = dòng cuối.
 
Upvote 0
Status
Không mở trả lời sau này.
Web KT

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

Back
Top Bottom