Cùng học vba với tôi nhé (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

thangteotdtt

Thành viên hoạt động
Tham gia
12/12/13
Bài viết
152
Được thích
42
Xin chào các thành viên trên diễn đàn.
Thật sự nói về công thức tôi cũng chưa rành lắm, nói về vba cũng vậy ( hai cái này nếu nhờ sự trợ giúp của các thành viên thì mình copy vào bài của mình thì được --=0 +-+-+-+. Bù lại có cái tính mê Excel. VD khi nhập công thức sẽ cho ra kết quả mình mong muốn thấy đã đã trong người.
Tôi tìm tòi trên diễn đàn cũng nhiều, tuy nhiên không biết học VBA bắt đầu từ đâu, theo 1 số đàn anh đi trước nói là học vòng lập, rồi for next v.v.....
Hôm nay mình mở topic này cùng những người mới hoặc chưa biết, cùng vào đây học hỏi, hi vọng rằng các đàn anh, chị cũng như các thành viên khác trợ giúp thêm để mọi người biết thêm về VBA. Trân trọng cảm ơn nhiều.
Mình sẽ mở hàng 1 bài đơn giản trước nhé. Các bạn khác cũng có thể tiếp theo cùng mình tại đây hỏi các anh chị....nhưng bài đơn giản thôi nhé.
+ Mình sẽ học xác định 1 ô nào đó trong bảng tính.
VD như mình muốn ô A1 ở sheet 1 nó hiện lên dòng chữ "Giai Phap Excel".
Thì mình viết code như thế nào đây. Mình đặt đoạn code dưới đây vào sheet 1
Private Sub Worksheet_Change(ByVal Target As Range)
Sheet1.[A1] = "Giai Phap Excel"
End Sub
Hoặc cũng có thể
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Sheet1.[A1] = "Giai Phap Excel"
End Sub
Hoặc đưa đoạn code này vào module, với code này mình dùng nút để mình bấm thì nó sẽ hiển thị.
Sub VD()
Sheet1.[A1] = "Giai Phap Excel"
End Sub
Mình làm như thế các đàn anh, chị....bạn cho mình thêm ý kiến nhé. Cảm ơn các bạn.
 
Lần chỉnh sửa cuối:
VD như mình muốn ô A1 ở sheet 1 nó hiện lên dòng chữ "Giai Phap Excel".
.

Cái này thì e rằng phải nói thêm: Hiện chuỗi tại A1 khi nào?
Và dù là khi nào hiện thì cũng không lý gì ta dùng code sự kiện Change hoặc SelectionChange cho nó phí ---> Code sự kiện sẽ cứ chạy hoài mặc dù chuỗi ấy đã hiện ra rồi
Bạn nghĩ sao?
 
Upvote 0
Cái này thì e rằng phải nói thêm: Hiện chuỗi tại A1 khi nào?
Và dù là khi nào hiện thì cũng không lý gì ta dùng code sự kiện Change hoặc SelectionChange cho nó phí ---> Code sự kiện sẽ cứ chạy hoài mặc dù chuỗi ấy đã hiện ra rồi
Bạn nghĩ sao?

Mới học thôi huynh, đừng làm em nó sợ. Code ở các sự kiện trong sheet ta có thể vận dụng linh hoạt theo ý đồ riêng.
 
Upvote 0
Cảm ơn các bạn đã ủng hộ. Mình xin nói, code chạy như thế nào thì kệ code. Vấn đề là mình xác định được 1 ô nào đó trong bảng tính nhé các bạn. Vì bài học đầu tiên mà ( Bài học này có tên là xác định 1 ô trong bảng tính). Còn nữa các bạn. Mình sẽ nói thêm về vấn đề xác định 1 ô nào đó trong bảng tính có sự khác biệt nhưng nó vẫn là ô A1.
 
Upvote 0
Cảm ơn các bạn đã ủng hộ. Mình xin nói, code chạy như thế nào thì kệ code. Vấn đề là mình xác định được 1 ô nào đó trong bảng tính nhé các bạn. Vì bài học đầu tiên mà ( Bài học này có tên là xác định 1 ô trong bảng tính). Còn nữa các bạn. Mình sẽ nói thêm về vấn đề xác định 1 ô nào đó trong bảng tính có sự khác biệt nhưng nó vẫn là ô A1.
Đành rằng bạn mới viết và đang học, không ai cấm bạn, nhưng bạn nên trình bày bài viết của bạn rõ ràng. Nếu không muốn nói là cẩu thả, mà cẩu thả thì người mới như mình đây sao biết đường mà lần.
 
Upvote 0
Có viết tí code nào đâu mà sợ nhỉ? Tôi chỉ góp ý thôi mà
Nếu các bạn cảm thấy áp lực quá thì tôi... biến đây.

Sợ là sợ không tự tin để tiếp tục. Tuy nhiên có lời góp ý cũng đáng học hỏi và trân trọng. Có gì mà phải biến hả sư huynh... haiz
 
Upvote 0
Đành rằng bạn mới viết và đang học, không ai cấm bạn, nhưng bạn nên trình bày bài viết của bạn rõ ràng. Nếu không muốn nói là cẩu thả, mà cẩu thả thì người mới như mình đây sao biết đường mà lần.
Chào bạn. Mình viết như vậy bạn thấy chổ nào mà bạn chưa hiểu thì bạn cho ý kiến để mình còn biết thế nào là cẩu thả. Mình viết như vậy thấy được rồi mà bạn.
 
Upvote 0
Chào bạn. Mình viết như vậy bạn thấy chổ nào mà bạn chưa hiểu thì bạn cho ý kiến để mình còn biết thế nào là cẩu thả. Mình viết như vậy thấy được rồi mà bạn.

Theo bạn thì được rồi, theo tôi thì chưa đâu. Tôi chép mấy cái câu lệnh của bạn vào cửa sổ code nó báo đỏ. Vậy lệnh bạn viết có chuẩn hay chưa? Bạn có đọc lại bài khi post không?

Untitled.jpg
 
Lần chỉnh sửa cuối:
Upvote 0
Bây giờ tiếp theo vẫn là xác định ô A1 qua offset nhé
VD: Offset (1,1) thì các bạn hiểu là số 1 là hàng (row). số 1 là cột (column). Bắt đầu để hiểu là
+ Nếu là số Dương thì dịch xuống dướiqua phải.
+ Nếu là số Âm thì dịch lên trênqua trái.
Muốn làm được điều đó thì mình phải xác định 1 ô được kích hoạt
VD: Tôi kích hoạt ô B1. Vậy bắt đầu từ ô B1 ---> offset (1,1) theo bạn thì sẽ nằm ô nào?
Mình đưa file lên Xác định ô A1 nhé
 

File đính kèm

Upvote 0
Upvote 0
Đôi điều gởi tới chủ topic

(1) Các macro của từng bài nên đánh số, vì có lúc tên của nó rất dài, khó thể nhớ mà nêu lại được;

(2) Mới chập chững thì khoan các macro sự kiện cái đã.

Cứ macro ở module 1 mà mần chí chet cái cho đã nư đã!

Ví dụ

PHP:
Sub Macro01()
'Macro 01 '

  MsgBox [A1].Address
  MsgBox Cells(1,1).Value 
  MsgBox Range("A1").Row

End Sub

Chúc bạn thành công
 
Upvote 0
.................................................
Mình làm như thế các đàn anh, chị....bạn cho mình thêm ý kiến nhé. Cảm ơn các bạn.
Bạn dùng sự kiện change mà tôi thấy chả có điều kiện gì để cho ô A1 nhận được giá trị là "Giai Phap Excel" cả! Bạn nên xem lại các bài tập liên quan đến việc sử dụng các sự kiện change nhé!
 
Upvote 0
Bạn dùng sự kiện change mà tôi thấy chả có điều kiện gì để cho ô A1 nhận được giá trị là "Giai Phap Excel" cả! Bạn nên xem lại các bài tập liên quan đến việc sử dụng các sự kiện change nhé!
Cảm ơn bạn. Bạn có thể cho mình bài tập nào nho nhỏ đơn giản về sự kiện change nhé, mong bạn hướng dẫn giúp.
 
Upvote 0
Uh bạn đúng rồi. Tôi cẩu thả.
Đến đây để học hỏi, không phải khúc mắc mấy chuyện cỏn con đó.

Có thể nó cỏn con đối với bạn nhưng không hề cỏn con với người khác. Tôi là người mới, tôi không biết thế nào là đúng, tôi chỉ biết là bạn ghi thế nào tôi học thế ấy. Vậy bạn viết như vậy đối với tôi có cỏn con hayy là không?
 
Upvote 0
Các anh chị có tài liệu nào về VBA không ạ, share cho em học hỏi với. Em cũng chưa biết gì về VBA -+*/
 
Upvote 0
Các anh chị có tài liệu nào về VBA không ạ, share cho em học hỏi với. Em cũng chưa biết gì về VBA -+*/
Tài liệu thì có nhiều lắm. Như mình trình bày ở bài 1 ấy. Bạn thấy thế nào? Có hiểu chưa bạn?
Như các anh chi đi trước khuyên nên thu ghi macro lại trước đi hả từ từ tính tiếp. Vậy bạn biết thu macro chưa vậy.
 
Upvote 0
mình không biết về VBA, nhưng cũng tập tành qua loa thu macro. Nhưng mình có 1 thắc mắc thế này, mình muốn định dạng 1 vùng (ví dụ như từ A1:D10) là khung viền đen, dòng tiêu đề bôi vàng, và các dòng kẻ là nét mờ. Nhưng nếu thu macro thì macro chỉ nhận định dạng ở vùng A1:D10, còn các vùng khác thì không được, mình muốn vào 1 bảng tính, bôi đen 1 vùng bất kỳ và chạy macro là được định dạng như trên thì trong lúc thu macro mình phải làm thế nào, mong các bạn giúp đỡ
 
Upvote 0
[thongbao]Nhưng nếu thu macro thì macro chỉ nhận định dạng ở vùng A1:D10, còn các vùng khác thì không được, mình muốn vào 1 bảng tính, bôi đen 1 vùng bất kỳ và chạy macro là được định dạng như trên thì trong lúc thu macro mình phải làm thế nào, mong các bạn giúp đỡ [/thongbao]

Thì trước khi thu macro bạn đừng chọn vùng nào cả;
Chỉ khi mở bộ thu bạn mới chọn 1 vùng; & khi đó macro sẽ gọi vùng bạn chọn là selection.

Sau này trước khi chạy macro bạn chọn trước vùng ưng í & bấm chạy macro xem sao.

Nếu vẫn chưa được thì bạn đưa macro mà VBE thu cho bạn lên diễn đàn.

Chúc thành công!
 
Upvote 0
Hình như topic này em chưa đủ trình độ để học. Mấy bài hướng dẫn của chị HYen17 em thấy đơn giản và dễ hiểu hơn.
 
Upvote 0
Các anh chị có tài liệu nào về VBA không ạ, share cho em học hỏi với. Em cũng chưa biết gì về VBA -+*/

Bên phải trang web này có hai cuốn sách VBA tổ bố. Bạn còn muốn hỏi gì nữa?
Nếu bạn thấy trong sách có chỗ nào không thích hợp hoặc khó hiểu thì đưa lên đây, anh chị em trong diễn đàn sẽ giải thích giúp cho.

Hình như topic này em chưa đủ trình độ để học. Mấy bài hướng dẫn của chị HYen17 em thấy đơn giản và dễ hiểu hơn.

Bạn nhận định đúng. Chính tôi cũng chả hiểu mục đích của những bài này muốn học gì.
 
Upvote 0
Em chưa ạ. Em mới chỉ sử dụng các hàm thôi, chưa sử dụng macro hay VBA ạ. Em làm nhân sự vậy ứng dụng của thu macro hoặc VBA có cần thiết trong công việc không ạ?
 
Upvote 0
Em chưa ạ. Em mới chỉ sử dụng các hàm thôi, chưa sử dụng macro hay VBA ạ. Em làm nhân sự vậy ứng dụng của thu macro hoặc VBA có cần thiết trong công việc không ạ?
Mình mới tìm hiểu, theo mình biết VBA được ứng dụng cho mỗi nhu cầu công việc khác nhau như kinh tế, khoa học, kỹ thuật... Rất rất nhiều bạn ạ. Chỉ tiếc là mình vẫn đang mù mờ chưa biết chi cả.
 
Upvote 0
Lần chỉnh sửa cuối:
Upvote 0
Thật sự tôi chưa viết code được. Theo những gì tìm hiểu trên diễn dàn dẫu sao cũng biết hơn người chưa biết, vậy các bạn cứ theo dõi đi rồi cũng từ từ biết. Định mở topic này cho những người như tôi hoặc các bạn chưa biết cùng vào đây để mở mang kiến thức thêm. Theo tôi tình hình như thế này chắc không học được, vì thầy nhiều hơn trò. Mới viết được bài đầu bị ông 2 lúa miền tây, ổng cố ý chụp cái hình code của tôi lại và để phán tôi 1 câu cẩu thả rồi. Theo tôi nhận định ông ấy ông biết được code tại cố ý vậy.
Thật sự mà nói học VBA hỏi vậy chứ học cái nào trước, chắc có lẻ học thu macro lại. Vậy sau học thu macro là gì ? Nói ra thì đụng chạm.
Cuối cùng xin các Mod, Smod xóa topic này dùm. Trân trọng cảm ơn nhiều.
Lý do: Chẳng giúp ích gì cho các thành viên khác. Một lần nữa cảm ơn rất nhiều.
 
Lần chỉnh sửa cuối:
Upvote 0
Theo tôi tình hình như thế này chắc không học được, vì thầy nhiều hơn trò.

Mới học chưa được bài nào mà đã nản rồi sao? Đã đam mê thì phải quyết "dấn thân", bất chấp mọi trở ngại nào
----------------------------------------
Mới viết được bài đầu bị ông 2 lúa miền tây, ổng cố ý chụp cái hình code của tôi lại và để phán tôi 1 câu cẩu thả rồi.
Thì người ta nhận xét cũng đúng chứ đâu có sai. Bạn nghĩ lại xem!
Ngày xưa tôi viết sai chính tả tè lè (giờ cũng còn nhưng đở hơn). Vậy khi người ta chê tôi viết cẩu thả chẳng lẻ tôi giận họ. Thay vào đó, tôi quyết tâm "rèn" mình cho... bớt cẩu thả hơn là được rồi
Ẹc... Ẹc...
----------------------------------------
Bạn nên nhớ rằng: BẠN HỌC CHO BẠN, không phải cho bất kỳ ai
 
Lần chỉnh sửa cuối:
Upvote 0
Thế bạn có đọc dòng chữ này ở bài 1 không vậy
Mình sẽ học xác định 1 ô nào đó trong bảng tính

Muốn xác địnhh một ô thì nói chuyện ký hiệu cách dùng 2 dấu ngoặc vuông [], hay dùng hàm/thuộc tính Range, cao hơn nữa thì Offset, Resize. Tự dưng đi nói ba cái hàm bắt sự kiện worksheet_change này nọ. Mục đích như vậy là không xác định.

Học thì cứ cắm cúi học. Muốn hiểu biết mà còn tự ái, sợ bái sư.

Cứ tìm hiểu [a1] khác với Range("a1") như thế nào rồi nói chuyện tiếp. Không biết cách tìm hiểu thì chớ bày đặt than "thầy nhiều trò ít"
 
Upvote 0
Muốn xác địnhh một ô thì nói chuyện ký hiệu cách dùng 2 dấu ngoặc vuông [], hay dùng hàm/thuộc tính Range, cao hơn nữa thì Offset, Resize. Tự dưng đi nói ba cái hàm bắt sự kiện worksheet_change này nọ. Mục đích như vậy là không xác định.

Học thì cứ cắm cúi học. Muốn hiểu biết mà còn tự ái, sợ bái sư.

Cứ tìm hiểu [a1] khác với Range("a1") như thế nào rồi nói chuyện tiếp. Không biết cách tìm hiểu thì chớ bày đặt than "thầy nhiều trò ít"
Tôi biết theo cách của tui, nếu ông biết rồi thì vào đây làm gì? Ông giỏi quá rồi thì kệ ông đi
Ai bày đặt, mấy ông giỏi vào topic này để bắt dò bắt cẳng.
Chẳng gì phải tự ái cả ---> tui biết ông không? ông biết tui không?
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn muốn rủ 1 nhóm người tụ tập với bạn để xào nấu VBA, đó cũng là điều tốt & không hại đến diễn đàn.

Nhưng vì là diễn đàn nên ai cũng có quyền nêu í kiến của mình về các khía cạnh liên quan đến VBA;

Có người sẽ chỉ cho bạn hướng đi, có người sẽ bình luận/nhận xét cách bạn tiếp cận & bước đi trên con đường VBA như thế nào (?)
Thậm chí có người có thể sẽ nói rằng bạn đang làm ô uế VBA nữa kia.
Chẳng lẽ như vậy bạn cự nự & đuổi hết người này lại người khác khỏi topic của mình, vì những người này không cùng suy nghĩ như mình?

. . . . . .
 
Upvote 0
Bạn muốn rủ 1 nhóm người tụ tập với bạn để xào nấu VBA, đó cũng là điều tốt & không hại đến diễn đàn.

Nhưng vì là diễn đàn nên ai cũng có quyền nêu í kiến của mình về các khía cạnh liên quan đến VBA;

Có người sẽ chỉ cho bạn hướng đi, có người sẽ bình luận/nhận xét cách bạn tiếp cận & bước đi trên con đường VBA như thế nào (?)
Thậm chí có người có thể sẽ nói rằng bạn đang làm ô uế VBA nữa kia.
Chẳng lẽ như vậy bạn cự nự & đuổi hết người này lại người khác khỏi topic của mình, vì những người này không cùng suy nghĩ như mình?

. . . . . .
Cảm ơn anh chia sẽ. Nếu góp ý thì góp ý chân thành, mọi vấn đề tôi đây cảm kích, tôi xin cảm ơn rất nhiều.
Những bài viết trên đọc kỹ không phải là vạch ra hướng đi mà là có ý chê bay, còn nói bài đặt này nọ. Tự ái này kia.
Trước khi mở topic tôi cũng bâng khuâng không biết có ai ủng hộ mình không, các bạn có đóng góp thêm để mình học thêm kiến thức không? thôi làm liều 1 phen thử thế nào?
Tôi thấy có góp ý đâu toàn soi bói. Thậm chí dùng những lời lẽ không lọt lỗ tai. Nên ở bài 28 tôi mới thốt lên nhờ mod xóa dùm topic.
Đến đây tôi chấm dứt không vào đây để viết thêm gì nữa? Cảm ơn các bạn.
 
Upvote 0
Cảm ơn anh chia sẽ. Nếu góp ý thì góp ý chân thành, mọi vấn đề tôi đây cảm kích, tôi xin cảm ơn rất nhiều.
Những bài viết trên đọc kỹ không phải là vạch ra hướng đi mà là có ý chê bay, còn nói bài đặt này nọ. Tự ái này kia.
Trước khi mở topic tôi cũng bâng khuâng không biết có ai ủng hộ mình không, các bạn có đóng góp thêm để mình học thêm kiến thức không? thôi làm liều 1 phen thử thế nào?
Tôi thấy có góp ý đâu toàn soi bói. Thậm chí dùng những lời lẽ không lọt lỗ tai. Nên ở bài 28 tôi mới thốt lên nhờ mod xóa dùm topic.
Đến đây tôi chấm dứt không vào đây để viết thêm gì nữa? Cảm ơn các bạn.
Theo tôi bạn dễ bị kích động quá! Bạn phải thật bình tĩnh trước mọi tình huống gặp phải trong topic. Theo tôi mục đích bạn mở Topic để cho bạn cũng như 1 số thành viên mới bắt đầu tìm hiểu về VBA có thể hiểu được VBA căn bản từ đó từng bước nâng cao nên. Vậy để đạt được mục đích này thì bạn không nên bức xúc quá trước bài viết của 1 số bạn. Thực ra tôi thấy được góp ý rất là tốt, người ta vẫn nói: "Thuốc đắng dã tật mà bạn".
Tóm lại: Theo tôi bạn mở topic này rất tốt, và trong topic này bạn ko thể cấm người này hay người kia vào topic của mình được. Chính vì vậy bạn thấy bài viết nào tốt cho bạn thì bạn học còn bài nào bạn cảm thấy không có gì để học thì thôi không để ý đến nó! Vài lời chia sẻ. THÂN!!!
 
Upvote 0
Trước khi mở topic tôi cũng bâng khuâng không biết có ai ủng hộ mình không, các bạn có đóng góp thêm để mình học thêm kiến thức không? thôi làm liều 1 phen thử thế nào?
Tôi thấy có góp ý đâu toàn soi bói. Thậm chí dùng những lời lẽ không lọt lỗ tai. Nên ở bài 28 tôi mới thốt lên nhờ mod xóa dùm topic.

Nếu là tôi thì tôi sẽ ủng hộ bạn trong việc mở topic này nhưng tôi cũng sẽ góp ý, thậm chí có thể là "chửi" nếu tôi cảm thấy có gì đó "ngứa mắt" trong code VBA của bạn. Vậy chắc là bạn sẽ giận tôi rồi?
Quan điểm của tôi có hơi khác: Anh A chửi tôi gì tôi mặc kệ, miễn là trong 10 lần chửi ấy tôi học được 1 phần kiến thức của anh ta là tôi được lời to rồi. Cho dù không học được gì mà chỉ toàn nghe "chửi" thì... cũng đâu có sao! Bạn đã bị "thiệt hại" gì nào?
Cái sự học phải "chịu đấm ăn xôi" là như vậy đó!
Bạn biết không, ngày trước khi mà vốn kiến thức về VBA của tôi chỉ mới võ vẽ ABC, tôi đã dám "cả gan" mở một topic ĐỐ VUI VỀ VBA đấy. Cái thằng "nhà quê" như tôi dám đố VBA với các cao thủ trên diễn đàn, ngon lành không? Vừa học, vừa đố, lấy ý kiến của mọi người làm hành trang riêng cho mình. "Búa rìu" cũng nhiều nhưng tôi đâu có ngán. Ẹc... Ẹc...
Đến đây tôi chấm dứt không vào đây để viết thêm gì nữa? Cảm ơn các bạn.
Sao bạn không làm giống như tôi ngày xưa? Chưa gì đã chịu thua rồi sao?
Nghiên cứu khoa học không có chỗ cho "tự ái" đâu bạn à!
-------------------------
Vài lời chân tình! Quyết định sao là quyền của bạn
 
Lần chỉnh sửa cuối:
Upvote 0
Thật sự tôi chưa viết code được. Theo những gì tìm hiểu trên diễn dàn dẫu sao cũng biết hơn người chưa biết, vậy các bạn cứ theo dõi đi rồi cũng từ từ biết. Định mở topic này cho những người như tôi hoặc các bạn chưa biết cùng vào đây để mở mang kiến thức thêm. Theo tôi tình hình như thế này chắc không học được, vì thầy nhiều hơn trò. Mới viết được bài đầu bị ông 2 lúa miền tây, ổng cố ý chụp cái hình code của tôi lại và để phán tôi 1 câu cẩu thả rồi. Theo tôi nhận định ông ấy ông biết được code tại cố ý vậy.
Thật sự mà nói học VBA hỏi vậy chứ học cái nào trước, chắc có lẻ học thu macro lại. Vậy sau học thu macro là gì ? Nói ra thì đụng chạm.
Cuối cùng xin các Mod, Smod xóa topic này dùm. Trân trọng cảm ơn nhiều.
Lý do: Chẳng giúp ích gì cho các thành viên khác. Một lần nữa cảm ơn rất nhiều.

Hê hê, tôi có chụp mũ ai đâu, tôi thấy bạn viết không đúng thì tôi nói không đúng thôi, có gì mà phải xoá?
 
Upvote 0
@chủ thớt:
Tôi biết là bạn không thích nghe lời gì của tôi cả. Cho nên câu này:

Bạn nhận định đúng. Chính tôi cũng chả hiểu mục đích của những bài này muốn học gì.

Tôi chỉ chủ yếu nói với bạn THANHTRUNGT.

 
Upvote 0

Bài viết mới nhất

Back
Top Bottom