Đoạn code này tôi không thấy có vấn đề gì cả, đã chạy thử, không báo lỗi gì cả! Bạn có thể nói rõ thông báo lỗi bạn gặp đó là gì không?
Vậy thì sửa như tôi đã nói ở trên là OK ngayLỗi xẫy ra khi bạn Rename Tên Sheet (không còn là tên mặcđịnh nữa)
Và bạn chạy Code ở nhưng Sheet đã sửa tên đó.
Minh hoa file goi kem
Sub Sh1_Shbandau2()
With ActiveSheet
MsgBox "Ten Sheet hien hanh trong VB la: " & .CodeName
Sheets(1).Activate
MsgBox "Da chuyen qua Sheet dau tien"
.Activate
MsgBox "Da chuyen ve Sheet hien hanh ban dau la: " & .CodeName
End With
End Sub
Sub Test()
Sheets("ndu2").Activate
End Sub
Sub Test()
Sheets("Sheet2").Activate
End Sub
Sub Test()
Sheets(Sheet2).Activate
End Sub
2 Đoạn Code của bạn trong 2 bài Run rất OK. Thanks bạn nhiều.Vậy thì sửa như tôi đã nói ở trên là OK ngay
Giả sử mình không đùng Sheet.Name va Sheet.CodeName mà mình sử dụng thứ thự của Sheet có được hông?
Mình không biết lệnh nào để lấy số thứ tự của ActiSheet???
Activesheet.Index
Như Ca_dafi nói, đó là .Index ---> Lấy thứ tự sheet2 Đoạn Code của bạn trong 2 bài Run rất OK. Thanks bạn nhiều.
Giả sử mình không đùng Sheet.Name va Sheet.CodeName mà mình sử dụng thứ thự của Sheet có được hông?
Mình không biết lệnh nào để lấy số thứ tự của ActiSheet???
Bạn hãy thay số thứ tự của Sheet vào 1 trong các Code chuyển sheet giúp mình với.
Minh đã kiểm tra theo ý của bạn, bạn dùng code này sẽ Acti Sheet 1 trong Book1.xls, Code lưu ở bất cứ file nào cũng được.
PHP:Sub Test_pmh() Workbooks("Book1.xls").Sheets("Sheet1").Activate End Sub
Nhân tiện đố mọi người biết làm cách nào xác định được 1 sheet là Worksheet hay Macro Sheet hay.... vân vân ---> Đại khái xác định kiểu của 1 sheet nào đómình biết tại sao rồi, thanks b! mình tạo sheet macro4 nên nó không có code name
Lâu lâu lôi bài cũ lên trả lời chơi.Nhân tiện đố mọi người biết làm cách nào xác định được 1 sheet là Worksheet hay Macro Sheet hay.... vân vân ---> Đại khái xác định kiểu của 1 sheet nào đó
Ẹc... Ẹc...
Sub Test()
Dim GiaTriFile1 As Long
GiaTriFile1 = Sheet4.Range("A1").Value
With Workbooks("File2")
[COLOR=#ff0000] .Sheets("HoangTrongNghia_1").Range("B1") = GiaTriFile1[/COLOR]
[COLOR=#ff0000] .Sheets("HoangTrongNghia_2").Range("C5") = GiaTriFile1[/COLOR]
End With
End Sub
Con đang đọc cuốn sách" Lập trình VBA cho người mới bắt đầu" của tác giả Phan Tự Hướng và sau khi đọc qua bài viết này bây giờ con mới để ý có chỗ thì tác giả dùng Active có chỗ thì tác giả lại dùng Activate nhưng không biết phân biệt 2 cái này khác nhau như thế nào. Con đã thử tìm trên diễn đàn nhưng không tìm thấy đề tài nào nói về sự khác nhau giữa cái này. Mong chú Ndu giải thích giùm con với ạ, khi nào thì ta dùng Active và khi nào thì ta lại dùng Activate.Các đại ca cứ hay sơ ý: Đáng lý là... .Activate thì lại ghi là .Active
Em cháu nhắm mắt làm theo trật lất hết
Ẹc... Ẹc...
Con đang đọc cuốn sách" Lập trình VBA cho người mới bắt đầu" của tác giả Phan Tự Hướng và sau khi đọc qua bài viết này bây giờ con mới để ý có chỗ thì tác giả dùng Active có chỗ thì tác giả lại dùng Activate nhưng không biết phân biệt 2 cái này khác nhau như thế nào. Con đã thử tìm trên diễn đàn nhưng không tìm thấy đề tài nào nói về sự khác nhau giữa cái này. Mong chú Ndu giải thích giùm con với ạ, khi nào thì ta dùng Active và khi nào thì ta lại dùng Activate.
dùng activate khi bạn muốn chọn sheet hoặc range nào đó
dùng active khi bạn muốn nhận được thông báo "Object doesnt support this property" hoặc "method or data member not found"
Câu trên thì em có thể hiểu được chứ câu dưới thì em chịu thua, anh có thể giải thích dễ hiểu hơn một chút được không.
Em mới bập bẹ với VBA được mấy bữa mà anh đã phang những từ ngữ chuyên sâu : "Object doesnt support this property" hoặc "method or data member not found" thế thì quả thực hơi khó hiểu.
Activate là phương thức tương tự như động từ, ví dụ lệnh Sheet1.Activate sẽ làm sheet1 thành sheet hiện hành (ActiveSheet).Câu trên thì em có thể hiểu được chứ câu dưới thì em chịu thua, anh có thể giải thích dễ hiểu hơn một chút được không.
Em mới bập bẹ với VBA được mấy bữa mà anh đã phang những từ ngữ chuyên sâu : "Object doesnt support this property" hoặc "method or data member not found" thế thì quả thực hơi khó hiểu.
... có chỗ thì tác giả dùng Active có chỗ thì tác giả lại dùng Activate nhưng không biết phân biệt 2 cái này khác nhau như thế nào...
cảm ơn bạn, đúng ý mình đang tìm hiểu. đổi tên kiểu gì cũng chạyBạn dùng code sau:
PHP:Activesheet.Index
Mình tầm thường quá nên không hiểu ý lớn vĩ đạiGiờ thay code bằng (Worksheets(Activesheet.Index).Activate) là ok,
Worksheets(Activesheet.Index).Activate