Sách lập trình VBA trong excel

Liên hệ QC

discover

Thành viên mới
Tham gia
10/6/08
Bài viết
42
Được thích
15
Xin cảm ơn các tác giả cuốn sách này.
Mình thấy sách viết rất hay và rất hữu ích.
Tuy nhiên mình đọc và thử nghiệm thấy một số điều không làm được. Vậy các tác giả chỉ bảo giúp nhé:
Trang 68 (Goto):
Application. goto
Reference :=worksheets("sheet1").Range ("P100"), Scroll:=true"
mình thử nhưng không được.

Tương tự: Trang 92:
Range("A5").Cut
Destination:= Range("A4")

Tương tự trang 91:
Workbooks ("Congty.xls").Names.Add Name:= "Congty", Refersto:= "=Danhsach!D1:D10"
Range ("Congty").Font.Italic = True

Các bạn chỉ giúp nhé. Thêm nữa mình muốn học lập trình. Vậy ngôn ngữ nào tiện cho lập trình trong Excel ?
mình hỏi ở Đại học khoa học tự nhiên HCM thì lập trình VBA rất ít người học, họ giới thiệu những lập trình khác C, PHP, . . . mình không biết có ứng dụng được vào lập trình trong excel không? Các bạn chỉ giúp nhé. Xin chân thành cảm ơn!
 
Xin cảm ơn các tác giả cuốn sách này.
Mình thấy sách viết rất hay và rất hữu ích.
Tuy nhiên mình đọc và thử nghiệm thấy một số điều không làm được. Vậy các tác giả chỉ bảo giúp nhé:
Trang 68 (Goto):
Application. goto
Reference :=worksheets("sheet1").Range ("P100"), Scroll:=true"
mình thử nhưng không được.

Tương tự: Trang 92:
Range("A5").Cut
Destination:= Range("A4")

Tương tự trang 91:
Workbooks ("Congty.xls").Names.Add Name:= "Congty", Refersto:= "=Danhsach!D1:D10"
Range ("Congty").Font.Italic = True

Các bạn chỉ giúp nhé. Thêm nữa mình muốn học lập trình. Vậy ngôn ngữ nào tiện cho lập trình trong Excel ?
mình hỏi ở Đại học khoa học tự nhiên HCM thì lập trình VBA rất ít người học, họ giới thiệu những lập trình khác C, PHP, . . . mình không biết có ứng dụng được vào lập trình trong excel không? Các bạn chỉ giúp nhé. Xin chân thành cảm ơn!

Sách này của thầy Phan Tự Hướng, Tôi cũng đang học lập trình VBA từ cuốn sách này nên xin trả lời trước nếu có gì chưa đúng thì nhờ Thầy Hướng và các bạn sửa sai luôn thể.

Sách in đúng như bạn trình bày nhưng nếu bạn gõ như vậy vào sub thì nó báo lỗi ngay (chữ màu đỏ) vì vậy bạn phải sửa lại câu lệnh như sau thì mới test được

Trang 68 (Goto):
Application.Goto Reference:=Worksheets("sheet1").Range("P100"), Scroll:=True

Trang 92:
Range("A5").Cut Destination:=Range("A4")

Trang 91:
Workbooks("Congty.xls").Names.Add Name:="Congty", RefersTo:="=Danhsach!D1:D10"
Range("Congty").Font.Italic = True

Để test được đoạn code trên trước hết bạn phải đặt tên File là Congty và đặt tên sheets là Danhsach

Những câu hỏi khác của bạn về việc học lập trình... thì tác giả đã nói tại phần Lời nói đầu của cuốn sách.

Nhiều khi do háo hức, nóng vội khám phá mà người đọc hay bỏ qua phần này mặc dù nó được đặt ở vị trí đặc biệt (đầu tiên) và trình bày cũng đặc biệt (chữ trong các trang đều in nghiêng).
 
Cảm ơn bạn Trung Chinh đã chỉ giúp!
Mình đang ở Tp.HCM, bạn biết trung tâm nào dạy lập trình VBA chỉ giúp mình với, mình tìm rồi mà chưa có lớp nào mở hết.
Mình hỏi thêm 1 chút:
Trang 95: Interior
Range("A1").Interior.ColorIndex = vbGreen
(mình thay mã màu bằng giá trị hằng số mà không được)
Các bạn chỉ giáo giùm với. Xin cảm ơn rất nhiều!!!!
 
Cảm ơn bạn Trung Chinh đã chỉ giúp!
Mình đang ở Tp.HCM, bạn biết trung tâm nào dạy lập trình VBA chỉ giúp mình với, mình tìm rồi mà chưa có lớp nào mở hết.
Mình hỏi thêm 1 chút:
Trang 95: Interior
Range("A1").Interior.ColorIndex = vbGreen
(mình thay mã màu bằng giá trị hằng số mà không được)
Các bạn chỉ giáo giùm với. Xin cảm ơn rất nhiều!!!!
Được chứ... thay bằng các số từ 0 đến 56 (ví dụ Range("A1").Interior.ColorIndex = 4)
Cái vụ vbGreen này hình như không ăn thua!
 
Cảm ơn bạn Trung Chinh đã chỉ giúp!
Mình đang ở Tp.HCM, bạn biết trung tâm nào dạy lập trình VBA chỉ giúp mình với, mình tìm rồi mà chưa có lớp nào mở hết.
Mình hỏi thêm 1 chút:
Trang 95: Interior
Range("A1").Interior.ColorIndex = vbGreen
(mình thay mã màu bằng giá trị hằng số mà không được)
Các bạn chỉ giáo giùm với. Xin cảm ơn rất nhiều!!!!

Bạn thử lại xem sao (tôi đã test OK)
Range("A1").Interior.ColorIndex = 3

Tôi thì lại đang ở tít trên núi cao, cách nơi bạn ở khoảng 1.400 km về phía bắc (giáp với nước Lào) nên chẳng biết ở đâu dạy vi tính chứ đừng nói đến dạy lập trình VBA. Tôi cũng bắt đầu học VBA ở đây (GPE) và cuốn sách mà bạn đang xem. Nếu bạn muốn học lập trình bằng VBA thì theo tôi bạn đã đến đúng nơi rồi đó. Hãy cố lên, mọi người trên GPE sẽ giúp bạn.
 
Bạn thử lại xem sao (tôi đã test OK)
Range("A1").Interior.ColorIndex = 3

Tôi thì lại đang ở tít trên núi cao, cách nơi bạn ở khoảng 1.400 km về phía bắc (giáp với nước Lào) nên chẳng biết ở đâu dạy vi tính chứ đừng nói đến dạy lập trình VBA. Tôi cũng bắt đầu học VBA ở đây (GPE) và cuốn sách mà bạn đang xem. Nếu bạn muốn học lập trình bằng VBA thì theo tôi bạn đã đến đúng nơi rồi đó. Hãy cố lên, mọi người trên GPE sẽ giúp bạn.

vbRed, vbBlue, ... là các hằng số màu cơ bản của VBA, VB6. Bạn có thể dò theo từng số để nắm được màu tương ứng.
Bác Trung Chinh tuổi gần 50 rồi nhưng rất ham học hỏi, thật đáng nể -\\/..
 
Bạn thử lại xem sao (tôi đã test OK)
Range("A1").Interior.ColorIndex = 3

Tôi thì lại đang ở tít trên núi cao, cách nơi bạn ở khoảng 1.400 km về phía bắc (giáp với nước Lào) nên chẳng biết ở đâu dạy vi tính chứ đừng nói đến dạy lập trình VBA. Tôi cũng bắt đầu học VBA ở đây (GPE) và cuốn sách mà bạn đang xem. Nếu bạn muốn học lập trình bằng VBA thì theo tôi bạn đã đến đúng nơi rồi đó. Hãy cố lên, mọi người trên GPE sẽ giúp bạn.
---
Tinh thần của anh thật đáng quý.
 
Xin chân thành cảm ơn các thầy cô và các bạn.
Mình thích dùng giá trị hằng số: vbGreen, vbRed. . . vì không nhớ mã màu nhưng chắc thua rồi. Đành dùng mã số màu (1-56) thôi.
 
Xin chân thành cảm ơn các thầy cô và các bạn.
Mình thích dùng giá trị hằng số: vbGreen, vbRed. . . vì không nhớ mã màu nhưng chắc thua rồi. Đành dùng mã số màu (1-56) thôi.
Tôi thì lại thích dùng số hơn... vì không nhớ cũng chẳng sao, ta có thể thí nghiệm!
Ví dụ
PHP:
Sub Test()
  Dim i As Long
  On Error GoTo Thoat
  Do
    i = i + 1
    Cells(i, 1) = i
    Cells(i, 2).Interior.ColorIndex = i
  Loop
Thoat:
End Sub
Chạy code và... nhìn
Vậy là biết màu nào "ăn" với số nào rồi
Bạn có chắc rằng bạn có thể nhớ thuộc lòng 56 giá trị màu được ghi theo kiểu vbRed, vbBlue... không? Tôi thì không hề tin đâu!
 
Để thuộc nằm lòng thì dùng code này (phương cách chia để trị)

PHP:
Option Explicit
Sub Colors()
 Dim jJ As Byte, Ww As Byte
 For jJ = 0 To 9
   For Ww = 1 To 5
      Cells(2 + Ww, 2 + jJ).Interior.ColorIndex = jJ * 5 + Ww
      Cells(2 + Ww, 2 + jJ).Value = jJ * 5 + Ww
 Next Ww, jJ
End Sub
(*) Mỗi tuần xơi ó nhóm; tùy theo khả năng sẽ là nhóm 8 hay nhóm 5 màu;

(*) (Hồi xưa mình đã chứng kiến ông thầy của mình viết lên bảng 108 nguyên tố trong bảng Menđeleev mà chỉ bằng trí nhớ & viên phấn mà thôi!. Chắc giờ thì những trò này không thích hợp nữa rồi!)
 
Chỉnh sửa lần cuối bởi điều hành viên:
PHP:
Option Explicit
Sub Colors()
 Dim jJ As Byte, Ww As Byte
 For jJ = 0 To 9
   For Ww = 1 To 5
      Cells(2 + Ww, 2 + jJ).Interior.ColorIndex = jJ * 5 + Ww
      Cells(2 + Ww, 2 + jJ).Value = jJ * 5 + Ww
 Next Ww, jJ
End Sub
(*) Mỗi tuần xơi ó nhóm; tùy theo khả năng sẽ là nhóm 8 hay nhóm 5 màu;

(*) (Hồi xưa mình đã chứng kiến ông thầy của mình viết lên bảng 108 nguyên tố trong bảng Menđeleev mà chỉ bằng trí nhớ & viên phấn mà thôi!. Chắc giờ thì những trò này không thích hợp nữa rồi!)
Vâng! Nhớ được thì tốt rồi... nhưng em cho rằng phương pháp học hay nhất là "QUÊN ĐI TẤT CẢ" chứ không phải làm ngược lại... Vì ta không phải là.. máy tính
Thời nay máy tính đã thay thế được nhiều thứ, duy chỉ có 1 thứ nó vẫn chưa thay được, đó là KHẢ NĂNG TƯ DUY ---> Vậy em nghĩ nên "phân công" hợp lý để làm việc hiệu quả hơn: TA TƯ DUY, MÁY NHỚ GIÚP VÀ TÍNH TOÁN GIÚP TA
Ngay cả việc NHỚ cũng phải có phương pháp, em cho rằng LÀM NHIỀU TỰ NHIÊN SẼ NHỚ mà không cần phải cố gắng THUỘC LÒNG
 
Web KT
Back
Top Bottom