Vba lấy tên sheet hiệ hành
Đ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? Lỗi xẫy ra khi bạn Rename Tên Sheet (không còn là tên mặcđịnh nữa) Minh hoa file
goi kem Name Sheet.zip 10.9 KB · Đọc: 138 Lần chỉnh sửa cuối:
22/12/08
Lỗi xẫy ra khi bạn Rename Tên Sheet (không còn là tên mặcđịnh nữa) Minh hoa file goi kem Vậy thì sửa như tôi đã nói ở trên là OK ngay PHP: Sub Sh2_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 Nói thêm vể Sheets
Properties PHP: Sub Test()
Sheets("ndu2").Activate
End Sub thì nó hoạt động bình thường PHP: Sub Test()
Sheets("Sheet2").Activate
End Sub hoặc PHP: Sub Test()
Sheets(Sheet2).Activate
End Sub thì
... quên đi ---> Không bao giờ chạy được Lần chỉnh sửa cuối: 22/12/08
Vậy thì sửa như tôi đã nói ở trên là OK ngay 2 Đ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? 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.
cadafiWorking with mind, Living with nature!
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? Bạn dùng code sau:
2 Đ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? 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. Như Ca_dafi nói, đó là .Index ---> Lấy thứ tự sheet Thứ tự ở đây là vị trí, tính từ trái sang phải, không liên quan gì đến SheetName và SheetCodeName cả ---> Dời sheet sang nơi khác thì thứ tự của nó cũng thay đổi theo
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 Chú ý bẫy lỗi : Trước hết phải kiểm tra có File Book1.xls hay không ?? Thân!
Các bạn cho mình hỏi là: sub layten() end sub
Tôi khẳng định code này không lỗi trừ phi bạn vẫn để đoạn ghi chú sau 2 gạch ché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
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 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 đó
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 đó Lâu lâu lôi bài cũ lên trả lời chơi. Chọn vào sheet hiện hành, trong Immediate, gõ
câu lệnh ?ActiveSheet.Type Kết quả ra giá trị (Value) nào thì tra tại bảng này: SheetType.jpg
24.1 KB · Đọc: 128
Sẳn đây tôi muốn hỏi: Tôi có 2 file đang mở, tạm gọi File1 và File2, code từ File1 muốn ghi gì đó cho File2. Giả sử File2 có 2 sheet lần lượt có tên là "HoangTrongNghia_1", "HoangTrongNghia_2", còn SheetCodeName lần lượt là "Nghia_1", "Nghia_2" Tôi muốn lấy giá trị của Range("A1") của File1 gán cho ô B1 của sheet1 và C5 của sheet2 của File2 Tôi làm như
sau: Tại File1 tôi viết code: Mã: 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 Nếu tôi đổi 2 dòng màu đỏ với tên là CodeName, tức "Nghia_1" và "Nghia_2" thì tôi phải viết như thế nào? Tức không động chạm gì đến Name của Sheet hết?
Các đại ca cứ hay sơ ý: Đáng lý là... .Activate thì lại ghi là .Active 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.
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 activate khi bạn muốn chọn sheet hoặc range nào đó 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.
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. đôi khi với người nghiêm túc quá nói chơi cũng kì .
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. 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ó 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... Trong tiếng Anh Phương thức có thể có tác dụng nội (thay đổi thuộc tính của chính đối tượng), hay tác dụng ngoại (thay đổi thuộc tính của môi trường hoặc đối tượng khác); hay cả nội lẫn ngoại; hay không thay đổi gì cả (loại hàm chỉ đưa về thông tin) Ví dụ điển hình là đối
tượng của lớp Sheet. Active là một thuộc tính kín (code không thấy được) của từng đối tượng Sheet. Activate là phương thức mà lúc gọi lên thì nó chuyển Active của sheet gọi nó là true và Active của các sheets khác là false.
cảm ơn bạn, đúng ý mình đang tìm hiểu. đổi tên kiểu gì cũng chạy
Giờ thay code bằng (Worksheets(Activesheet.Index).Activate) là ok, Mình tầm thường quá nên không hiểu ý lớn vĩ đại Mã: Worksheets(Activesheet.Index).Activate Tức là đưa Activesheet vào trạng thái hoạt động? Nếu sheet đang đeo huy hiệu
"Activesheet" thì sao lại đưa nó vào trạng thái hoạt động? Nếu sheet đang Active - đang trong trạng thái hoạt động thì tại sao lại phải đưa nó vào trạng thái hoạt động? Để cho chắc chắn 200% là sheet ấy sẽ ở trong trạng thái hoạt động? |