Code trong worksheet

Liên hệ QC

vudinhgiao

Thành viên mới
Tham gia
31/7/16
Bài viết
47
Được thích
10
Em code các công thức trong worksheet
vi dụ:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Sheet1.Range("H6").Formula = "=IF(B6<>"""",AGGREGATE(15,6,COT/(BANG=B6),1)&AGGREGATE(15,6,HANG/(BANG=B6),1),"""")"
End Sub

Khi làm việc trực tiếp trên sheet1 thì công thức trên chạy luôn, nhưng khi nhập liệu bằng userform thì nó không tự chạy, khi thoát userform về trở lại sheet1, kích chuột vào cell chứa công thức thì nó mới chạy
Các thầy chỉ giúp em cách để code này chạy khi ta nhập liệu từ form a. Em cảm ơn!
 
Em code các công thức trong worksheet
vi dụ:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Sheet1.Range("H6").Formula = "=IF(B6<>"""",AGGREGATE(15,6,COT/(BANG=B6),1)&AGGREGATE(15,6,HANG/(BANG=B6),1),"""")"
End Sub

Khi làm việc trực tiếp trên sheet1 thì công thức trên chạy luôn, nhưng khi nhập liệu bằng userform thì nó không tự chạy, khi thoát userform về trở lại sheet1, kích chuột vào cell chứa công thức thì nó mới chạy
Các thầy chỉ giúp em cách để code này chạy khi ta nhập liệu từ form a. Em cảm ơn!
Sự kiện SelectionChange này là gì bạn hiểu không? Đây là sự kiện xảy ra khi bạn thay đổi vùng chọn (Tức nó sẽ chạy sự kiện khi bạn đang ở ô này mà bạn chọn sang ô khác), còn khi bạn ở trên Form bạn thay đổi giá trị ô nhưng không thay đổi vùng chọn nên nó không xảy ra sự kiện đó là đúng rồi. Bây giờ để thử bạn làm như sau, phía dưới câu lệnh thay đổi giá trị của ô bạn thêm vào lệnh này nửa và xem kết quả thế nào.
Mã:
ActiveCell.Offset(1).Select
 
Upvote 0
Sự kiện SelectionChange này là gì bạn hiểu không? Đây là sự kiện xảy ra khi bạn thay đổi vùng chọn (Tức nó sẽ chạy sự kiện khi bạn đang ở ô này mà bạn chọn sang ô khác), còn khi bạn ở trên Form bạn thay đổi giá trị ô nhưng không thay đổi vùng chọn nên nó không xảy ra sự kiện đó là đúng rồi. Bây giờ để thử bạn làm như sau, phía dưới câu lệnh thay đổi giá trị của ô bạn thêm vào lệnh này nửa và xem kết quả thế nào.
Mã:
ActiveCell.Offset(1).Select
With Sheets("M97")
code gán dữ liệu từ form vào sheet của em như sau:

With Sheets("DL")
EndR = .Range("B" & Rows.Count).End(xlUp).Row
.Range("B" & EndR + 1) = txt1.Text
.Range("C" & EndR + 1) = txt2.Text
.Range("D" & EndR + 1) = txt3.Text
.Range("E" & EndR + 1) = txt4.Text
.Range("F" & EndR + 1) = txt5.Text
ActiveCell.Offset(1).Select

em thử các kiểu mà chỉ chạy được 2 dòng là dừng chạy bác ạ. bác xem có cách nào khắc phục giúp em với
 
Upvote 0
With Sheets("M97")
code gán dữ liệu từ form vào sheet của em như sau:

With Sheets("DL")
EndR = .Range("B" & Rows.Count).End(xlUp).Row
.Range("B" & EndR + 1) = txt1.Text
.Range("C" & EndR + 1) = txt2.Text
.Range("D" & EndR + 1) = txt3.Text
.Range("E" & EndR + 1) = txt4.Text
.Range("F" & EndR + 1) = txt5.Text
ActiveCell.Offset(1).Select

em thử các kiểu mà chỉ chạy được 2 dòng là dừng chạy bác ạ. bác xem có cách nào khắc phục giúp em với
Ủa ,tưởng dùng cấu trúc này để gán chứ
.Range("B" & EndR + 1).Value = txt1.Value
 
Upvote 0
With Sheets("M97")
code gán dữ liệu từ form vào sheet của em như sau:

With Sheets("DL")
EndR = .Range("B" & Rows.Count).End(xlUp).Row
.Range("B" & EndR + 1) = txt1.Text
.Range("C" & EndR + 1) = txt2.Text
.Range("D" & EndR + 1) = txt3.Text
.Range("E" & EndR + 1) = txt4.Text
.Range("F" & EndR + 1) = txt5.Text
ActiveCell.Offset(1).Select

em thử các kiểu mà chỉ chạy được 2 dòng là dừng chạy bác ạ. bác xem có cách nào khắc phục giúp em với
Tôi quên code trên chỉ có tác dụng với sheet đang active. Nói chung muốn nhanh chóng giải quyết vấn đề thì có file cụ thể.
 
Upvote 0
Web KT
Back
Top Bottom