Macro trong EXcel

  • Thread starter thonon
  • Ngày gửi
T

thonon

Sơ cấp
9/5/05
28
0
0
40
hanoi
#1
Minh co 1 file lam ke toan *.Xla, khi mo file khong thay sheet nao, vao tool\marco\Visual basic khong thay co sheet nao ca, chi co 2 modul khong cai Password, xoa thu hai modul do,khi chay excelrepair 4.03 demo de sua file do thi xuat hien 9 sheet chua code. Minh muon hoi moi nguoi file XLA do da su dung cach nao de che dau cac sheet do vay.
 
Sửa lần cuối:
B

Bình_OverAC

Over Abnormal / Crazy
14/5/04
845
7
18
37
Nha Trang
#2
Chuyện này có vẻ hay đấy nhỉ. Bạn có thể vui lòng gởi file đó cho tôi được không?

Lần sau bạn nhơ gỏ tiếng Việt có dấu nhé. Kô thì bài của bạn có thể được đăng ký tạm trú ở thùng rác đấy.
 
Sửa lần cuối bởi điều hành viên:
L

levanduyet

Welcome
16/10/04
535
13
18
HCM
my.opera.com
#3
thonon nói:
Minh co 1 file lam ke toan *.Xla, khi mo file khong thay sheet nao, vao tool\marco\Visual basic khong thay co sheet nao ca, chi co 2 modul khong cai Password, xoa thu hai modul do,khi chay excelrepair 4.03 demo de sua file do thi xuat hien 9 sheet chua code. Minh muon hoi moi nguoi file XLA do da su dung cach nao de che dau cac sheet do vay.
To: thonon,
Để che dấu các sheet có các cấp sau:
_Format/Sheet/Hide, với các này bạn có thể làm ngược lại. Format/Sheet/Unhide
_Với cách vào VBE và vào của sổ Properties, chọn thuộc tính Visible với giá trị 2 (veryhidden thì phải !) thì bạn chỉ có thể Unhide bằng đọan code của VBA.
_Bạn chú ý cách mở VBE của bạn, cách sắp xếp các cửa sổ properties...
Chúc bạn khỏe.
Lê Văn Duyệt
 
F

ForestC

Cao cấp
11/1/05
377
1
0
39
E'rywhere
#4
Này anh Duyệt, câu trả lời của anh là không thoả đáng, chỉ là sự tổng hợp lại các kiến thức đã có trên diễn đàn thôi nhé. Ở đây theo ý em hiểu là họ vào cửa sổ VBA mà vẫn không thấy sheet nào, chỉ cho đến khi họ dùng công cụ hỗ trợ của bên thứ 3 họ mới nhìn thấy. Có nhiều khả năng cái cách ẩn sheet này là dùng mã VBA, nếu ThoNon đưa file lên đây thì chúng tôi mới có thể dễ dàng giải đáp thắc mắc của bạn hơn. Cũng là một vấn đề thú vị phải không?

P/S: dạo này anh không fone-call 2 MaiKa nữa à? bro LVD?
 
L

levanduyet

Welcome
16/10/04
535
13
18
HCM
my.opera.com
#6
thonon nói:
add: checkexcel@yahoo.com
pass: 29l52455

Nếu có kết quả xin hãy nhắn lại ngay. Cảm ơn trước
To: thonon,
Trong file add-in này có 2 form và 2 module. Không có gì đặc biệt cả? Không hiểu bạn có "nghiên cứu" kỹ không?
Add-in này nhằm giúp cho việc "thẩm định dự án và quyết tóan các công trình xây dựng cơ bản"...
Địa chỉ liên hệ: Nguyễn Tiến Khoa 0912107487
Nguyễn Quốc Chinh 0912370337
Trần Đức Bá Cao 0912171785
Có 2 Module tên là: Module1 và Program. Có 2 form: Gioithieu và TTfrm.
Mục đích của bạn là gì? Bạn muốn xem mã...xin liên hệ với các Tác Giả trên! Bạn không biết sử dụng ra sao! Xin liên hệ với các Tác Giả trên!...Hay bạn cần tìm hiểu các vấn đề khác?

Thân,
Lê Văn Duyệt
 
T

thonon

Sơ cấp
9/5/05
28
0
0
40
hanoi
#7
tool for you

Nếu như vậy thì không cần đưa ra câu hỏi để làm gì.Bạn hãy dowload tool ExcelFix 4.23 demo tại: http://www.cimaware.com/main/download/index.php và fix file đấy. Chú ý trước khi click vào Recover phải cài đặt lại cấu hình cho excelrepair: Vào Options-đánh dấu vào ShowFormulas thì mới hiện lên Code được.
 
L

levanduyet

Welcome
16/10/04
535
13
18
HCM
my.opera.com
#8
thonon nói:
Nếu như vậy thì không cần đưa ra câu hỏi để làm gì.Bạn hãy dowload tool ExcelFix 4.23 demo tại: http://www.cimaware.com/main/download/index.php và fix file đấy. Chú ý trước khi click vào Recover phải cài đặt lại cấu hình cho excelrepair: Vào Options-đánh dấu vào ShowFormulas thì mới hiện lên Code được.
To: thonon,
Chắc có lẻ nếu bạn đọc thử đọan code dưới đây thì bạn có câu trả lời, hay ít ra là một phần của câu trả lời.
Thân,
Lê Văn Duyệt.
To:Tranchau,
Chắc khi Anh đọc đọan code dưới đây, Anh có thể tham gia một vài ý kiến vào diễn đàn Anh hả?
Chúc Anh khỏe.

'------------------------------------------------------------------------------
Sub Hien_DMTHEP()
On Error GoTo KetthucSUB
If ExecuteExcel4Macro("WINDOWS()") = "" Then
Exit Sub
End If
If Val(Application.Version) < 8 Then

On Error GoTo InputErrHandler
Dim lbMenus As ListBox
Dim i, VLROW, SDONG, SCOT As Integer
' Dim KCROW, KCROW1 As Double

InputErrHandler10:

ExecuteExcel4Macro ("ECHO(FALSE)")
If ExecuteExcel4Macro("GET.NOTE(""R1C1"")") = "Du toan" Then

SCOT = ExecuteExcel4Macro("COLUMN(ACTIVE.CELL())")
If SCOT = 5 Then
SDONG = ExecuteExcel4Macro("ROW(ACTIVE.CELL())")
' Range("E" & SDONG).Select
' KCROW1 = ExecuteExcel4Macro("GET.CELL(45)")
' KCROW = 0
' For i = 1 To SDONG
' Range("E" & i).Select
' KCROW = KCROW + ExecuteExcel4Macro("GET.CELL(17)")
' Next

ActiveSheet.ListBoxes.Add(0, 0, 120, 110).Select
With Selection
.PrintObject = False
.Display3DShading = True
End With

Selection.Name = "List Box"
Selection.OnAction = "An_DMTHEP"

If Val(Application.Version) > 7 Then
ActiveWindow.ScrollRow = 1
Range("A1").Select
Range("A7").Select
ActiveWindow.FreezePanes = True
Else
Range("A1").Select
Range("A7").Select
ActiveWindow.FreezePanes = True
End If

ExecuteExcel4Macro ("ECHO(FALSE)")
ExecuteExcel4Macro ("SELECT(""RC5"")")
Set lbMenus = ActiveSheet.ListBoxes("list Box")
lbMenus.RemoveAllItems
Sheets("Config").Select
Range("G1").Select
VLROW = 1
While ExecuteExcel4Macro("GET.FORMULA(""R" & VLROW & "C7"")") <> ""
lbMenus.AddItem ExecuteExcel4Macro("GET.FORMULA(""R" & VLROW & "C7"")")
VLROW = VLROW + 1
Wend

Sheets("Du toan").Select
' KCROW1 = (KCROW - KCROW1)
' i = 0
' While KCROW1 >= -5
' ExecuteExcel4Macro ("SELECT(""R" & i & "C" & SCOT & """)")
' KCROW1 = KCROW1 - ExecuteExcel4Macro("GET.CELL(17)")
' i = i + 1
' Wend
' i = i + 1
' ActiveWindow.ScrollRow = i
Range("E" & SDONG).Select
End If
Exit Sub
End If

Else
On Error GoTo InputErrHandler10

ExecuteExcel4Macro ("ECHO(FALSE)")

SCOT = ExecuteExcel4Macro("COLUMN(ACTIVE.CELL())")
SDONG = ExecuteExcel4Macro("ROW(ACTIVE.CELL())")

ActiveSheet.Shapes("List Box").Select
Selection.Delete

ActiveWindow.ScrollRow = 1
Range("A1").Select
ActiveWindow.FreezePanes = False

Range("E" & SDONG).Select

End If
Exit Sub
InputErrHandler:
Selection.Delete
ActiveSheet.DrawingObjects("List Box").Select
Selection.Delete
Range("A7").Select
ActiveWindow.FreezePanes = False
Range("E" & SDONG).Select
Exit Sub
KetthucSUB:
End Sub

Function FAn_DMTHEP()
Dim THUTUTHEP, SCOT, SDONG As Integer
Dim lbMenus As ListBox
SCOT = ExecuteExcel4Macro("COLUMN(ACTIVE.CELL())")
SDONG = ExecuteExcel4Macro("ROW(ACTIVE.CELL())")

Set lbMenus = ActiveSheet.ListBoxes("list Box")
THUTUTHEP = lbMenus.Value
' If THUTUTHEP = 1 Then
' If THUTUTHEP = 1 Then
' THUTUTHEP = 0
' End If
' ActiveSheet.DrawingObjects("List Box").Select
' Selection.Delete
' Range("A7").Select
' ActiveWindow.FreezePanes = False
' End If
ExecuteExcel4Macro ("SELECT(""R" & SDONG & "C" & SCOT & """)")
FAn_DMTHEP = THUTUTHEP
End Function
 
L

levanduyet

Welcome
16/10/04
535
13
18
HCM
my.opera.com
#9
To:thonon,
Xin lỗi bạn vì những trả lời vừa rồi! Thực sự tôi không tham khảo kỹ về các Excel 4.0 hay các macro của các phiên bản Excel trước. Đối với phiên bản Excel 4.0 này có những vấn đề, nếu muốn thì phải tìm hiểu rất là nhiều.
Nhân đây tôi xin upload file help của Anh Tranchau lên đây để các bạn nếu muốn có thể tham khảo. (Anh Tranchau và tôi đã thử nhưng sao không thể upload lên thư viện được! Sau này upload lên được tôi sẽ xóa file này!)
Thân,
Lê Văn Duyệt
(Sao tôi upload lên cũng không được!!!, cố gắng upload lại lên thư viện)
 
T

Tuanktcdcn

Lão già ham vui
18/6/04
548
51
28
42
Hà Nội
www.bluesofts.net
#10
File mà Thonon miêu tả thực chất là dùng WorksheetMacro4.0. Như có bài I đã nói người ta dùng kỹ thuật này là từ khi VBA chưa phát triển. Để viết mã, thay vì phải viết code trong các Module của VBA thì phải viết các hàm (gọi là Macro4.0) trên Sheet có đặc tính Macro4.0 (Trong môi trường EXCEL bạn gõ tổ hợp phím CTRL+F11), trong SheetM4.0 này người ta dùng các hàm trong bộ Macro4.0 có thể chạy và thực hiện được các chức năng gần như VBA.
Các phiên bản từ EXCEL97 về trước để tạo SheetMacro4.0 vào Insert\Worksheet... bạn sẽ được chọn lựa SheetMacro4.0, nhưng từ EXCEL2000 trở về đây thì Microsoft hướng người dùng sang làm VBA vì tích tích hợp và ưu việt nổi bật. Tuy nhiên để bảo toàn giữa cũ và mới người ta vẫn giữ thuộc tính Sheetmacro4.0 nhưng phải bấm CTRL+F11.
Những tiền bối dùng EXCEL từ khi I còn nhỏ đã làm như vậy và bây giờ họ đã chuyển viết ứng dụng trên VBA. Việc dùng Macro4.0 bây giờ chỉ để đối phó những vấn đề nhỏ hoặc để giải trí mà thôi.
 
L

levanduyet

Welcome
16/10/04
535
13
18
HCM
my.opera.com
#11
Tuanktcdcn nói:
File mà Thonon miêu tả thực chất là dùng WorksheetMacro4.0. Như có bài I đã nói người ta dùng kỹ thuật này là từ khi VBA chưa phát triển. Để viết mã, thay vì phải viết code trong các Module của VBA thì phải viết các hàm (gọi là Macro4.0) trên Sheet có đặc tính Macro4.0 (Trong môi trường EXCEL bạn gõ tổ hợp phím CTRL+F11), trong SheetM4.0 này người ta dùng các hàm trong bộ Macro4.0 có thể chạy và thực hiện được các chức năng gần như VBA.
Các phiên bản từ EXCEL97 về trước để tạo SheetMacro4.0 vào Insert\Worksheet... bạn sẽ được chọn lựa SheetMacro4.0, nhưng từ EXCEL2000 trở về đây thì Microsoft hướng người dùng sang làm VBA vì tích tích hợp và ưu việt nổi bật. Tuy nhiên để bảo toàn giữa cũ và mới người ta vẫn giữ thuộc tính Sheetmacro4.0 nhưng phải bấm CTRL+F11.
Những tiền bối dùng EXCEL từ khi I còn nhỏ đã làm như vậy và bây giờ họ đã chuyển viết ứng dụng trên VBA. Việc dùng Macro4.0 bây giờ chỉ để đối phó những vấn đề nhỏ hoặc để giải trí mà thôi.
To: Tuanktcdcn,
Tôi hòan tòan đồng ý với ý kiến của bạn. Bây giờ, tôi thấy còn dùng .Net với Excel và làm được hầu như mọi chuyện. Những thắc mắc về những file dùng Macro 4.0, hay các kỹ thuật của nó theo tôi nếu ai muốn nghiên cứu kỹ thì nên tự tìm hiểu. Chúng ta nên tập trung vào những vấn đề khác.
Thân,
Lê Văn Duyệt
 
T

Tran Chau

Trung cấp
23/11/04
149
0
0
59
TP Ho Chi Minh
#12
http://r.office.microsoft.com/r/rli...D=XT010352321033&CTT=11&Origin=HP010475331033
Excel 4.0 Macro Functions
The Microsoft Excel 4.0 Macro Function Help file contains the reference information for all of the Excel 4.0 macro functions (XLM macros) available in Excel. To obtain this macro function Help file, you can download it from the Microsoft Office Online Web site.
To Duyet
I co gang up len thuvien.wkt 1 lần nửa, nhưng vẫn không được, bạn nao muôn tìm hiểu vui lòng theo link trên để down về xem
 
T

Tran Chau

Trung cấp
23/11/04
149
0
0
59
TP Ho Chi Minh
#13
duong link la trong help Excel các bạn có thể search trong help để có link gốc
 
T

Tran Chau

Trung cấp
23/11/04
149
0
0
59
TP Ho Chi Minh
#14
Nếu có bạn nào vãn còn thích đồ cổ, (Macro4) I xin giới thiệu vài cuốn sách đã dịch sang VN năm ...1995 (!):
-Hướng dẫn sử dụng MS Excel Visual Basic For Application, V5 for Win của Reed Jacobson
Trong sách nầy chủ yếu hướng dẫn cơ bản về lâp trình trên VBA, có nói sơ qua về cách gọi các Sub VBA từ Macro4 và ngược lại ..., các kiến thức về VBA các bạn vẫn có thể áp dụng cho đến Ver Excel 2003.Ban nào thấy hợp với cách dạy của Reed và “hiện đại” hơn thì .. đặt mua sách qua Amazone của Reed,tác giả có update VBA tới 2000,2002 gì đó.
-Cẩm nang tra cứu Excel 4 $ 5: Hàm và Macro, KS Huỳnh tấn Dũng, xuất bản năm 1995.
Đay là 1 cuốn sách tra cứu khà đồ sộ về Excel, hầu như tác giả đã dịch toàn bộ phần help về function, macro4, có thêm phần phụ lục khá lý thú: (1) Bài toán đổi số thành chữ bằng hàm, viết bằng macro4 (2) Một ví dụ dùng macro4 dể quản lý dữ liệu: tạo hộp thoại, menu, xây dựng 1 ch trình macro có cấu trúc, dùng vòng lặp, mail merge trong Excel...
Trong phần help macro4 mà tôi đã đưa đường link, có 1 phần dich 95% các hàm macro4 sang VBA cũng đáng quan tâm.
- Cuốn Inside MS Excel 5/95/97, đã dich sang tiếng Việt. Riêng cuốn nầy I thấy vẫn còn bán tại các hiệu sách lớn tại TP HCM.
 
T

Tran Chau

Trung cấp
23/11/04
149
0
0
59
TP Ho Chi Minh
#15
levanduyet nói:
To: Tuanktcdcn,
Tôi hòan tòan đồng ý với ý kiến của bạn. Bây giờ, tôi thấy còn dùng .Net với Excel và làm được hầu như mọi chuyện. Những thắc mắc về những file dùng Macro 4.0, hay các kỹ thuật của nó theo tôi nếu ai muốn nghiên cứu kỹ thì nên tự tìm hiểu. Chúng ta nên tập trung vào những vấn đề khác.
Thân,
Lê Văn Duyệt
Cuối cùng ... I thấy nên như Duyet đã noi
 
T

Tran Chau

Trung cấp
23/11/04
149
0
0
59
TP Ho Chi Minh
#16
thonon nói:
add: checkexcel@yahoo.com
pass: 29l52455

Nếu có kết quả xin hãy nhắn lại ngay. Cảm ơn trước
Bạn thử cài đặt Excel5, và dùng thử macro4: VBA.MAKE.ADDIN ; WORKBOOK.HIDE xem sao
Ban có thể cung cấp link để có toàn bộ cài đặt chương trình nầy? Còn vài file đi theo nửa
 
N

NgânGiang

Cố lên! Cố lên...
10/5/05
202
0
0
16
Trong Mây mù
www.baominh.com.vn
#17
...
25/06/2005 06:53AM
Tran Chau nói:
Nếu có bạn nào vãn còn thích đồ cổ, (Macro4) I xin giới thiệu vài cuốn sách đã dịch sang VN năm ...1995 (!):
-Hướng dẫn sử dụng MS Excel Visual Basic For Application, V5 for Win của Reed Jacobson
Trong sách nầy chủ yếu hướng dẫn cơ bản về lâp trình trên VBA, có nói sơ qua về cách gọi các Sub VBA từ Macro4 và ngược lại ..., các kiến thức về VBA các bạn vẫn có thể áp dụng cho đến Ver Excel 2003.Ban nào thấy hợp với cách dạy của Reed và “hiện đại” hơn thì .. đặt mua sách qua Amazone của Reed,tác giả có update VBA tới 2000,2002 gì đó.
-Cẩm nang tra cứu Excel 4 $ 5: Hàm và Macro, KS Huỳnh tấn Dũng, xuất bản năm 1995.
Đay là 1 cuốn sách tra cứu khà đồ sộ về Excel, hầu như tác giả đã dịch toàn bộ phần help về function, macro4, có thêm phần phụ lục khá lý thú: (1) Bài toán đổi số thành chữ bằng hàm, viết bằng macro4 (2) Một ví dụ dùng macro4 dể quản lý dữ liệu: tạo hộp thoại, menu, xây dựng 1 ch trình macro có cấu trúc, dùng vòng lặp, mail merge trong Excel...
Trong phần help macro4 mà tôi đã đưa đường link, có 1 phần dich 95% các hàm macro4 sang VBA cũng đáng quan tâm.
- Cuốn Inside MS Excel 5/95/97, đã dich sang tiếng Việt. Riêng cuốn nầy I thấy vẫn còn bán tại các hiệu sách lớn tại TP HCM.
25/06/2005 06:56AM
Tran Chau nói:
Cuối cùng ... I thấy nên như Duyet đã noi
25/06/2005 02:29PM
Tran Chau nói:
Bạn thử cài đặt Excel5, và dùng thử macro4: VBA.MAKE.ADDIN ; WORKBOOK.HIDE xem sao
Ban có thể cung cấp link để có toàn bộ cài đặt chương trình nầy? Còn vài file đi theo nửa
Tran Chau tự mâu thuẫn với chính mình rồi nhé.
Mong rằng mỗi người có nhiều mâu thuẫn, giải quyết chưa xong cái này lại phát sinh thêm cái khác để giải quyết rồi phát triển.
 
L

levanduyet

Welcome
16/10/04
535
13
18
HCM
my.opera.com
#18
NgânGiang nói:
...
25/06/2005 06:53AM
25/06/2005 06:56AM
25/06/2005 02:29PM
Tran Chau tự mâu thuẫn với chính mình rồi nhé.
Mong rằng mỗi người có nhiều mâu thuẫn, giải quyết chưa xong cái này lại phát sinh thêm cái khác để giải quyết rồi phát triển.
To: NganGiang,
Thực sự ra bạn không hiểu được...
Thôi chắc tôi cũng không thể nào giải thích với bạn trên đây được!
Xin bạn cứ việc chia sẻ cùng mình theo địa chỉ e-mail: levanduyet@pmail.vnn.vn
Thân,
Lê Văn Duyệt
 
V

vinhtx77

Sơ cấp
24/7/10
1
0
0
ha noi
#19
Minh co 1 file lam ke toan *.Xla, khi mo file khong thay sheet nao, vao tool\marco\Visual basic khong thay co sheet nao ca, chi co 2 modul khong cai Password, xoa thu hai modul do,khi chay excelrepair 4.03 demo de sua file do thi xuat hien 9 sheet chua code. Minh muon hoi moi nguoi file XLA do da su dung cach nao de che dau cac sheet do vay.
Em cũng có file XLA bị mã hoá không thấy code, module, form đâu cả mà vẫn chạy tốt. Nhờ các cao thủ xem hộ em họ làm như thế nào mà được vậy? Cảm ơn nhiều!!!

File đính kèm: MEGAUPLOAD - The leading online storage and file delivery service
 

BQT trực tuyến

  • Hien
    Hien
    WKTER

Thành viên trực tuyến

  • cactus12
  • Hien
  • daongocnam0603
  • TACAEDU
  • Trâm NTN
  • hoakt05
  • thuyhang75
  • benhvienhadong
  • sinhvienit1503
  • Nguyen Thi My Dung 1
  • kimdungdao
  • thơmvp23101997




Xem nhiều