PDA

View Full Version : Hỏi: Cách tạo Macro trong excel?



kamelot
05-02-09, 03:28 PM
Chào các bạn mình có một số thắc mắc về Macro trong excel. Các bạn giúp mình nhé:

- Làm sao tạo được một macro trong excel.

- Sub và Function khác nhau như thế nào, mình có một số ví dụ về Coding nhưng đôi lúc thấy họ bắt đầu bằng sub, đôi lúc lại function.

Hoặc ai có tài liệu hướng dẫn thì cho mình xin nhé
Xin cám ơn trước **~**

Po_Pikachu
05-02-09, 03:45 PM
Tạo Macro thì dễ thôi. Bạn vào Tools -> Macro -> Record New Macro -> Nhập tên -> OK.
Việc tiếp theo là bạn thao tác cái gì đó trên bảng tính đi. Khi đã làm xong thì nhấn Stop trên Menu Stop Recording. Vậy là quá trình tạo Macro đã xong.
Muốn xem code mình tạo thì nhấn Alt + F11 thì sẽ thấy thôi.
Còn tạo Function thì cũng gần giống như vậy. Nhưng không tạo được bằng lệnh New Macro đâu. Bạn vào VBA (nhấn Alt + F11) và viết 1 cái Function bên đó thôi.
Thân.

ptlong04x1
06-02-09, 08:36 AM
Chào các bạn mình có một số thắc mắc về Macro trong excel. Các bạn giúp mình nhé:

- Làm sao tạo được một macro trong excel.

- Sub và Function khác nhau như thế nào, mình có một số ví dụ về Coding nhưng đôi lúc thấy họ bắt đầu bằng sub, đôi lúc lại function.

Hoặc ai có tài liệu hướng dẫn thì cho mình xin nhé
Xin cám ơn trước **~**

Bạn vào đây xem thêm nhé!
http://www.giaiphapexcel.com/forum/showthread.php?t=888

vietlge
12-02-09, 02:12 PM
Mình viết code của hai hàm tính nội suy 1 chiều và 2 chiều trên excel theo những file mình down trên diễn đàn về. Những code này đúng và qua thử thì thấy kết quả là ok.
Nhưng mà mình không hiểu tại sao khi vùng tra đặt tại một số ô trong work sheet thì không thực hiện được hai phép tính nội suy này. Khi mình copy vùng tra ra ô khác thì lại thực hiện được 2 phép tính và kết quả là đúng!
Mình nghĩ hay là do virus bởi vì khi mình bật file excel của mình nên thì có thấy dòng chữ sau:
macros may contain viruses. It is usually safe to disable macros, but if the macros are legitimate, you might lose some functionality!
Vậy là macros bị virus nên nó bị như vậy.
Bạn nào biết cách khắc phục trong trường hợp này làm ơn chỉ mình với.
Thanks and best regards!

dhs88
12-02-09, 03:50 PM
À, nếu bạn chắc chắn file của mình ko chứa virus thì cứ mở, câu đấy xuất hiện vì bạn chọn mức Security (trong Tool/Macro/Security) là "medium" đấy mà, nếu bạn chuyển sang "Low" nà nó sẽ ko xuất hiện nữa...

ThienSonET
04-09-09, 11:45 AM
Chào các bạn.
Mình lập một bảng báo giá tạo phông bằng file excel, sau này, khi cần báo giá cho nhìwu khách hàng, mình phải coppy sang 1 sheet khác, như vậy nếu trong 1 tháng thì file excel sẽ có rất rất nhiều sheet. Mình muốn làm thế nào để chỉ trong 1 sheet và chỉ cần 1 click là có thể mở 1 bảng báo giá mới mà các thông số báo giá trước vẫn được lưu lại để sau này còn cần đến không? Có phải liên quan đến macro hay VBA gì gì đó không? Mong các bạn hướng dẫn cụ thể, mình mới học excel nên chưa biết gì nhiều lắm :D

Thank 4 all

vanbongtiensinh
06-09-09, 05:04 PM
Mình nghĩ không cần VBA gì cả: Bạn nghiên cứu đi
Sheet 1 là sheet cặp nhật giá, sheet 2 bạn chỉ cần nhập ngày tháng thời điểm bạn muốn có bảng giá lập tức bảng giá ứng với thời gian ban cần hiển thị ngay.
Sheet 1: Chia cột :STT, mã, Tên hàng,ĐV, giá
Chia hàng:hàng thứ nhất là Ngày tháng năm,
(mỗi cột giá ứng với 1 ngày bạn nhập đầy đủ)các hàng sau là STT,
sau đó là nhập các hàng bao gồm nhập đủ cột
Sheet 2:Lập bảng tương tự, nhưng các ô được thiết lập từ các công thức như =hlookup(ô chứa ngày in giá, vùng bảng sheét, cột thứ,0), chú ý phải lập nhiều công thức để náy đọc ra ngày đó thuộc cột thứ mấy trong bảng, dùng hàm trim để xóa bỏ số 0....Giá mình gần bạn mình sẽ chỉ cho.

baby1982
06-10-09, 10:53 PM
Mình nghĩ không cần VBA gì cả: Bạn nghiên cứu đi
Sheet 1 là sheet cặp nhật giá, sheet 2 bạn chỉ cần nhập ngày tháng thời điểm bạn muốn có bảng giá lập tức bảng giá ứng với thời gian ban cần hiển thị ngay.
Sheet 1: Chia cột :STT, mã, Tên hàng,ĐV, giá
Chia hàng:hàng thứ nhất là Ngày tháng năm,
(mỗi cột giá ứng với 1 ngày bạn nhập đầy đủ)các hàng sau là STT,
sau đó là nhập các hàng bao gồm nhập đủ cột
Sheet 2:Lập bảng tương tự, nhưng các ô được thiết lập từ các công thức như =hlookup(ô chứa ngày in giá, vùng bảng sheét, cột thứ,0), chú ý phải lập nhiều công thức để náy đọc ra ngày đó thuộc cột thứ mấy trong bảng, dùng hàm trim để xóa bỏ số 0....Giá mình gần bạn mình sẽ chỉ cho.

Dạng này cũng y chang như mình lập Sơ yếu lý lịch đó ThienSonET (http://www.giaiphapexcel.com/forum/member.php?u=75185). Sheet 1 chứa CSDL bao gồm các record tham chiếu theo chiều ngang hoặc dọc (để use HLOOKUP hoặc VLOOKUP). Sheet 2 chứa các thông tin và nhập 1 trong 2 hàm trên.

hukhongphudu
30-10-09, 10:22 PM
Tạo Macro thì dễ thôi. Bạn vào Tools -> Macro -> Record New Macro -> Nhập tên -> OK.
Việc tiếp theo là bạn thao tác cái gì đó trên bảng tính đi. Khi đã làm xong thì nhấn Stop trên Menu Stop Recording. Vậy là quá trình tạo Macro đã xong.
Muốn xem code mình tạo thì nhấn Alt + F11 thì sẽ thấy thôi.
Còn tạo Function thì cũng gần giống như vậy. Nhưng không tạo được bằng lệnh New Macro đâu. Bạn vào VBA (nhấn Alt + F11) và viết 1 cái Function bên đó thôi.
Thân.
trong excel 2007 thì tạo macro như thế nào hả bạn . minh đang gặp kho khăn trong vấn đề nay

nhat021181
17-12-10, 10:30 AM
Mình cũng sưu tầm cách này cũng hơn nhưng rất đơn giản, thông thường bà con rất hay sử dụng. Xin gửi cho cả nhà cùng xem...@$@!^%

Để thực hiện tự động hóa một số thao tác thường làm ta sử dụng công cụ Tập lệnh ( macro ) trong Excel.
Macro là các lệnh và hàm được lưu trữ trong Visual basic Module (nơi có thể viết các hàm, thủ tục bằng ngôn ngữ visual basic) của Excel.
CÁCH TẠO MACRO:
Có thể tạo macro đơn giản bằng cách ghi lại những thao tác ( Record ) sau đó cho chạy macro nó sẽ thực hiện lại các thao tác đã ghi.
Ngoài ra ta có thể tạo macro bằng cách tạo trực tiếp các lệnh bằng ngôn ngữ visual basic.
Tạo macro bằng phương pháp ghi (record)
Vào menu Tools – Macro – Record new macro…

Chi tiết xem file hướng dẫn kèm theo

demiyeu
04-10-11, 05:06 PM
Chào cả nhà, Demi không biết như thế này thì gọi là gì nên mạn phép up câu hỏi vào đây. Demi muốn tạo như trong hình file đính kèm , nhờ cả nhà giúp Demi với ạ. Vì Demi làm kế toán nên muốn cho nhiều sổ cái vào một sheet thôi và chỉ cần tích và chọn vào mã Tài khoản là sổ của tài khoản đó hiện ra ngay.
Cám ơn cả nhà rất nhiều ạ^^

tanlanhnvthd
16-11-11, 05:30 PM
tôi muốn tạo mật khẩu bằng VBA nhưng không có tài liệu nào hướng dẫn,Xin chỉ dùm

BICHNGOCGMC
15-02-12, 03:44 PM
Mình là thành viên mới. Xin chào các bạn.
Mình có một bài tập nhờ các bàn giúp mình với nhé.
Trong sheet ct xk minh đã nhập tất cả chi tiết hàng xuất trong container . Sheet invoice mình muốn tạo macro để chỉ khi mình nhập số invoice tương ứng ( như file ct xk ) thì chi tiết sẽ hiện thị trong file excel này.
Các bạn giúp mình nhé, cảm ơn nhiều.

mymymymy121212
25-07-12, 10:04 AM
Em đang làm cái bảng tính mà trong đó có nhiều bảng tra. (bảng tra rất nhiều) :-)
Chẳng lẻ mỗi lần đến một số cần tra nào đó thì lại mở sách hay file ra tra sao? như thế rất mất thời gian.
Em có đọc trên diễn đàn là có thể áp dụng VBA để tra tự động- 1 hoặc 2 chiều đều được.
Loay hoay mãi mà chưa viết được code cho số cần tra đó: vì có học qua VB nhưng mà bỏ lâu quá nên quên tuốt tùn tụt rồi ! :(.
vậy nay em viết bài này kính mong các sư huynh, đại tỷ có thể gởi cho em đoạn code để em có thể tra dễ dàng không?
Em cảm ơn trước nhá ! nếu được em có thể mời mấy sư huynh và dại tỷ đi "en" hay là gì cũng được há !! - có giới hạn nhá-
Tại sếp tất cả mà !

concogia
25-07-12, 11:01 AM
Em đang làm cái bảng tính mà trong đó có nhiều bảng tra. (bảng tra rất nhiều) :-)
Chẳng lẻ mỗi lần đến một số cần tra nào đó thì lại mở sách hay file ra tra sao? như thế rất mất thời gian.
Em có đọc trên diễn đàn là có thể áp dụng VBA để tra tự động- 1 hoặc 2 chiều đều được.
Loay hoay mãi mà chưa viết được code cho số cần tra đó: vì có học qua VB nhưng mà bỏ lâu quá nên quên tuốt tùn tụt rồi ! :(.
vậy nay em viết bài này kính mong các sư huynh, đại tỷ có thể gởi cho em đoạn code để em có thể tra dễ dàng không?
Em cảm ơn trước nhá ! nếu được em có thể mời mấy sư huynh và dại tỷ đi "en" hay là gì cũng được há !! - có giới hạn nhá-
Tại sếp tất cả mà !
Đoạn code đó đây:

Public Sub ChaChaCha()
If Tiểu đệ hay Tiểu muội gì đó gởi file lên then
If Tiểu đệ hay Tiểu muội gì đó trình bày thật rõ mình muốm làm gì then
Có thể có câu trả lời
Else
Cóc có câu trả lời đâu, đừng có mà chờ
End If
End If
End Sub
Híc -0-0-0-

mymymymy121212
25-07-12, 02:06 PM
lần thứ 2 post bài mà bị su huynh hay sư tỷ concogia gội gáo nước nóng vô mặt 'mát quá', nhưng mà không sao, có thế mới tỉnh ngủ được mà gởi cái file cần sữa lên đây cho "cò già" hay " cô gia" gì đó giúp đỡ vậy !!
em gởi cái file lên cho anh chị em xem giúp với nhá !
ngàn lần xin cảm tạ !!
-yêu cầu:
+ có hệ số anpha 1, nội suy bởi 2 hệ số A và B. ---> nhờ anh chị viết dùm cái VBA cho nó,
hay là cách nào đó mà chỉ cần có 2 số A, B thì ngay lập tức nội suy được an pha 1.
+ Bảng tra được ghi chú riêng một sheet.

http://www.mediafire.com/view/?jb45a95h7gs04ry

mymymymy121212
26-07-12, 07:38 AM
sao không thấy huynh nào giúp đỡ vậy ta !! buồn quá đi...hic hic !

SA_DQ
26-07-12, 09:16 AM
sao không thấy huynh nào giúp đỡ vậy ta !! buồn quá đi...hic hic !

Bạn xem trong file
}}}}} }}}}} }}}}} }}}}} @$@!^% @$@!^% @$@!^%

mymymymy121212
26-07-12, 01:03 PM
đa tạ sư huynh SA_DQ.
em đang nghiên cứu thêm để ứng dụng vào coogn việc, cảm ơn anh nhiều nha !
có gì không hiểu em xin phiền anh again vậy !
phả chi anh ở gần em xin dẫn đi hậu tạ ! hé hé !
P/S: anh ơi cho em hỏi cái: các số trong bảng tra phải bắt buộc phải thay đổi ngược lại như thế sao anh?- để cho tuyến tính thấp đến cao hay sao anh ơi !

khoa186
15-08-12, 05:53 PM
các bạn cho mình hỏi , mình mới tạo macro c1= a1+b1,c2=a2+b2, khi đó mình bấm vào c1 thì macro mới chạy đúng còn mấy ô khác thì không, nay mình muốn dù mình có nhấn vào ô nào thì khi macro chạy cũng nằm ở ô c1 và c2 . mình mới biết macro mong các bạn giúp mình

phamhoakt
01-07-13, 12:14 AM
Chào các bác. E là thành viên mới. E có vấn đề này mong các bác chỉ giúp.
Muốn tạo một menu liên kết như thế này thì phải làm thế nào ah?