Góp ý về sách hướng dẫn Lập trình VBA trong Excel (NXB TKê) (1 người xem)

Liên hệ QC

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

PhanTuHuong

VBA & VB.NET for Excel & AutoCad
Thành viên danh dự
Tham gia
13/6/06
Bài viết
7,216
Được thích
24,736
Để đáp ứng nhu cầu học tập kiến thức VBA ngày càng cao, vừa rồi tôi đã viết cuốn Lập trình VBA trong Excel tại Nhà xuất bản Thống kê. Các bạn có thể xem qua đường link ở đây:

http://www.giaiphapexcel.com/forum/showthread.php?p=65580#post65580

Đây là nguồn kiến thức từ tài liệu tổng hợp, dịch sách nước ngoài, thu thập trên nhiều trang web, box Học tập online, kiến thức cá nhân + đóng góp của BQT,... Chính vì vậy, việc tổng hợp và xử lý dữ liệu để hoàn thành cuốn sách này là khá vất vả, không thể tránh được sai sót. Tôi mong muốn được sự góp ý của các thành viên về hình thức, nội dung, phương pháp trình bày để lần tái bản sau hoàn thiện hơn. Nội dung trao đổi trực tiếp trên diễn đàn hoặc qua email.

Email: tuhuongdcct36@yahoo.com hoặc phantuhuong@humg.edu.vn
 
hoangdanh282vn đã viết:
Cảm ơn Anh về tài liệu VBA, rất hay.
Em thấy nội dung hình như là thiếu đi hàm ISNumeric thì phải.
Anh xem lại giúp em nha.
Hy vọng sắp tới sẽ nhận được nhiều hơn nữa từ Anh.
Thanks

Bạn kiểm tra lại nhé, đầy đủ mà:

Isnumeric.jpg
 
Sách hướng dẫn về VBA

Để đáp ứng nhu cầu học tập kiến thức VBA ngày càng cao, vừa rồi tôi đã viết cuốn Lập trình VBA trong Excel tại Nhà xuất bản Thống kê. Các bạn có thể xem qua đường link ở đây:

http://www.giaiphapexcel.com/forum/showthread.php?p=65580#post65580

Đây là nguồn kiến thức từ tài liệu tổng hợp, dịch sách nước ngoài, thu thập trên nhiều trang web, box Học tập online, kiến thức cá nhân + đóng góp của BQT,... Chính vì vậy, việc tổng hợp và xử lý dữ liệu để hoàn thành cuốn sách này là khá vất vả, không thể tránh được sai sót. Tôi mong muốn được sự góp ý của các thành viên về hình thức, nội dung, phương pháp trình bày để lần tái bản sau hoàn thiện hơn. Nội dung trao đổi trực tiếp trên diễn đàn hoặc qua email.

Email: tuhuongdcct36@yahoo.com hoặc phantuhuong@humg.edu.vn

Bác cho em hỏi, ở Hà Nội đã phát hành ra ngoài chưa ạ, nghĩa là ngoài hiệu sách hoặc cửa hàng giới thiệu sách của NXB Thống kê.?
 
Lần chỉnh sửa cuối:
Cám ơn anh hoangdanh282vn, tôi kiểm tra thấy thiếu sót là ví dụ của hàm IsError lại bị nhầm sang IsNumeric :-=.
Tôi sẽ sửa lại sau.
 
Cám ơn anh Hướng đã tặng cho tôi và bạn tôi 2 cuốn sách này.Tôi sẽ cố gắng tham khảo và ứng dụng.
Vì chưa biết rõ về VBA nên không biết đóng góp ý kiến gì cho cuốn sách.Nói chung tôi rất thích.
Cám ơn anh.Nếu có buổi Offline nào đừng quên thông báo nhé .Hẹn gặp lại anh cùng mọi người.
 
Nhặt thóc

Mỉnh đã nhận được sách anh Hướng tặng, xin cám ơn Anh Hướng và GPE. Mình đã đọc ngay nhưng chưa được nhiều.
Có vài chỗ mình nghĩ chắc là lỗi typing:
- Trang 66:
Mã:
Sheets("Sheet1").[COLOR=blue]Active[/COLOR],

mình đoán là Activate
- Trang 77:
Mã:
Sử dụng thuộc tính Value: 
ActiveSheet.Range("A1:C4").Value = [COLOR=blue]"= 4 * 25"[/COLOR]
Sử dụng thuộc tính Formula: 
ActiveSheet.Range("A1:C4").Formula = "= 4 * 25"
Mình đoán là ActiveSheet.Range("A1:C4").Value = 4 * 25

Không biết mình có đúng không?
 
Mỉnh đã nhận được sách anh Hướng tặng, xin cám ơn Anh Hướng và GPE. Mình đã đọc ngay nhưng chưa được nhiều.
Có vài chỗ mình nghĩ chắc là lỗi typing:
- Trang 66:
Mã:
Sheets("Sheet1").[COLOR=blue]Active[/COLOR],
mình đoán là Activate
- Trang 77:
Mã:
Sử dụng thuộc tính Value: 
ActiveSheet.Range("A1:C4").Value = [COLOR=blue]"= 4 * 25"[/COLOR]
Sử dụng thuộc tính Formula: 
ActiveSheet.Range("A1:C4").Formula = "= 4 * 25"
Mình đoán là ActiveSheet.Range("A1:C4").Value = 4 * 25

Không biết mình có đúng không?

chưa biết nội dung sách này, nhưng theo tigertiger thì:
NHƯNG
Sử dụng thuộc tính Formula ==> THÌ NHƯ THẾ NÀY cũng LÀ ĐÚNG:
PHP:
ActiveSheet.Range("A1:C4").Formula = "= 4 * 25"
vì khi đó là ô có công thức là =4*25
thường người ta sử dùng dạng này cho đúng theo công thức -> vì nếu giá trị thì dùng value

P/S: thử cả 2 trường hợp .Value và .Formula của PhanTuHuong vẫn thấy đều đúng và cho dạng công thức hết, ==> cũng có thể ý đồ tác giả là như vậy (???)
 
Lần chỉnh sửa cuối:
Mã:
Sử dụng thuộc tính Value: 
ActiveSheet.Range("A1:C4").Value = [COLOR=blue]"= 4 * 25"[/COLOR]
Sử dụng thuộc tính Formula: 
ActiveSheet.Range("A1:C4").Formula = "= 4 * 25"
Mình đoán là ActiveSheet.Range("A1:C4").Value = 4 * 25

Không biết mình có đúng không?

Cái này là ý đồ anh ptm0412 ạ, bình thường gán value thì không có gì, nhưng em đã cố tình đưa công thức. Nếu chỉ value thì cho luôn

ActiveSheet.Range("A1:C4").Value = 100

cho đỡ mệt :-=
 
Mình lại tưởng!
Tưởng rằng cho 1 thí dụ
ActiveSheet.Range("A1:C4").Value = 4 * 25

để mở rộng ra:

PHP:
 ActiveSheet.Range("A1:C4").Value = 4 ^ 25

hoặc

PHP:
ActiveSheet.Range("A1:C4").Value = bienX + bienY

Vì trước đó chưa có cái thí dụ nào (để định nghĩa thuộc tính Value) như là

PHP:
ActiveSheet.Range("A1:C4").Value = 100
 
Hiệu đính ngoài lề:(luôn cập nhật)

- Trang 478, dòng 17: Thay chữ D_ngangP bằng DoanngangP.
 
To: Phantuhuong,
Nếu trước khi gởi nhà xuất bản, mà gởi anh xem lại cho mấy cái code thì hay biết mấy.
Anh đọc một vài mục, thấy có nhiều lỗi về code hoặc code không rõ ràng, hay cho lắm.

Lê Văn Duyệt
 
To: Phantuhuong,
Nếu trước khi gởi nhà xuất bản, mà gởi anh xem lại cho mấy cái code thì hay biết mấy.
Anh đọc một vài mục, thấy có nhiều lỗi về code hoặc code không rõ ràng, hay cho lắm.

Lê Văn Duyệt

Bác Duyệt ơi, phần lớn code em đã test mấy lần rồi và đều chạy tốt, bác cho ví dụ đi để em kiểm tra lại.
 
Đề nghị tác giả hay nhà xuất bản (?)

Vừa rồi tôi đã viết cuốn Lập trình VBA trong Excel . . . việc tổng hợp và xử lý dữ liệu để hoàn thành cuốn sách này là khá vất vả, không thể tránh được sai sót. Tôi mong muốn được sự góp ý của các thành viên về hình thức, nội dung, phương pháp trình bày để lần tái bản sau hoàn thiện hơn.
Trước đây mấy quyển sách mang tính học thuật thường có vài trang chứa những từ, mà thời @ nay hay gọi là từ khóa; bên cạnh các từ khóa đều liệt kê số những trang có đề cập đến từ khóa í! Điều này giúp cho người dùng tìm nhanh thứ cần tìm. Với máy vi tính thì cái này càng dễ lập, phải khộng bạn!
Mong rằng rất nên lập lại thói quen vì người tiêu dùng này trong quyễn tái bản của bạn!
Một lần nữa xin chân thành cảm ơn tác giả & tác phẩm rất nhiều!!
 
Trước đây mấy quyển sách mang tính học thuật thường có vài trang chứa những từ, mà thời @ nay hay gọi là từ khóa; bên cạnh các từ khóa đều liệt kê số những trang có đề cập đến từ khóa í! Điều này giúp cho người dùng tìm nhanh thứ cần tìm. Với máy vi tính thì cái này càng dễ lập, phải khộng bạn!
Mong rằng rất nên lập lại thói quen vì người tiêu dùng này trong quyễn tái bản của bạn!
Một lần nữa xin chân thành cảm ơn tác giả & tác phẩm rất nhiều!!

Cám ơn bác, em cũng nghĩ đến vấn đề này rồi nhưng còn phụ thuộc vào người biên tập chính. Các sách nước ngoài đều có cả, nếu tái bản thì dem đề nghị NXB bổ sung vào.
 
Chào các bạn !

Mình đang đọc cuốn sách của thầy Hướng, và mong muốn có được nhiều bài tập (càng nhiều càng tốt) để thực hành những điều mình vừa được học nhưng đáng tiếc là mình tìm nhưng không có.

Vậy có ai biết được ở đâu bán sách về bài tập VBA cho excel hoặc những web có bài tập thì làm ơn chỉ giúp mình với.

Cảm ơn !

L.T.Tùng
 
Chào các bạn !

Mình đang đọc cuốn sách của thầy Hướng, và mong muốn có được nhiều bài tập (càng nhiều càng tốt) để thực hành những điều mình vừa được học nhưng đáng tiếc là mình tìm nhưng không có.

Vậy có ai biết được ở đâu bán sách về bài tập VBA cho excel hoặc những web có bài tập thì làm ơn chỉ giúp mình với.

Cảm ơn !

L.T.Tùng

Tôi cũng rất muốn nhưng đối tượng sử dụng VBA rất đa dạng, vì vậy ví dụ phải phù hợp với ngành nghề ---> điều này khó khả thi.
Ví dụ người làm kế toán sẽ khó hiểu khi yêu cầu làm bài về lĩnh vực bê tông, sắt thép,... và ngược lại (bản thân tôi hoàn toàn mù tịt về lĩnh vực kế toán --=0).
Ở 1 mức độ nào đó, trong sách hay trên diễn đàn đã có nội dung để bạn tham khảo rồi.

Bạn nên tự nghĩ ra 1 bài toán trong ngành nghề của bạn và xây dựng chương trình, kết hợp kiến thức của sách + diễn đàn,...
 
Nên lập 1 chủ đề mới riêng hẳn - cho Người Đọc dễ tìm, PhanTuHuong ah

Khi nào ổn ổn mới lập chủ đề riêng bác ạ, cứ để mọi người cho ý kiến đã.

Còn tôi vẫn không ưng người biên tập vì kiểu chữ lộn xộn quá (trong mục lục lại có mình biên tập mới chết chứ !$@!!). In thì mờ mờ ... -+*/
 
BÁC HƯỚNG NÀY! Ở TRANG 262 , PHẦN XÓA DÒNG TRỐNG CÓ ĐOẠN CODE

If Application.CountA(Rows(i)) = 0 ThenRows(i).DeleteNext i

TÔI NGHỈ LÀ CÒN THIẾU End If PHẢI KHÔNG ?
 
BÁC HƯỚNG NÀY! Ở TRANG 262 , PHẦN XÓA DÒNG TRỐNG CÓ ĐOẠN CODE

If Application.CountA(Rows(i)) = 0 Then Rows(i).DeleteNext i

TÔI NGHỈ LÀ CÒN THIẾU End If PHẢI KHÔNG ?
Không phải vậy đâu bạn Hổ à;
Với câu lệnh If có máy cách viết sau:
PHP:
If Anh = Em Then ChungTa = KetHon
PHP:
 If Em <17 Then
     Em = "Chua Lo Lay Chong Voi Lam Gi, Doi Them Buon"
 End If
PHP:
If Em > 35 And CacAnhEmCuaEm = "Da Co Gia Dinh" Then _
     Em = "Hay Lay Anh Lam Chong!"
PHP:
If Em = Thuong And _
   And = "Chua Vo" And _
   Em = "Chua Chong" then 
   ChungTa =" Mot Doi Dua"
 Else
   ChungTa = " Chia Hai Nga Cho Roi!" :                       End If
 
Bạn Thử Xem Trang 262 Chép Lại Macro đó,trên đoạn Code đó Là For I =...
Rồi Chạy Thử Xem Sau.nó Báo Lổi đấy.
 

File đính kèm

TÔI ĐẢ THẤY ĐƯỢC SỰ KHÁC BIỆT : NẾU ĐỂ DÒNG Rows(i).Delete XUỐNG DÒNG DƯỚI ,CHỨ KHÔNG LIỀN KỀ THEN THÌ PHẢI THÊM END IF
MỚI KHÔNG BỊ BÁO LỖI.
 
TÔI ĐẢ THẤY ĐƯỢC SỰ KHÁC BIỆT : NẾU ĐỂ DÒNG Rows(i).Delete XUỐNG DÒNG DƯỚI ,CHỨ KHÔNG LIỀN KỀ THEN THÌ PHẢI THÊM END IF
MỚI KHÔNG BỊ BÁO LỖI.

Cái này là do chiều rộng hàng không đủ thì tự xuống dòng thôi, đây vẫn là 1 dòng code, bạn ngvanho lưu ý nhiều trường hợp sẽ bị như vậy vì code dài quá 1 dòng. Nếu dòng code vừa đủ 1 dòng thì khoảng cách chữ đều nhau, nếu quá 1 dòng thì khoảng cách chữ thường bị giãn dài ra, ví dụ như dấu "=" hoặc "0" chẳng hạn tại dòng lệnh đó
 
Đúng là nhầm bác Voda ạ, xin lỗi cả nhà nhé! -=

Đây là kết quả của lệnh của bác Voda trên cửa sổ Immediate:

Thoigian.jpg
 
- Đọc cuốn sách của bác Hướng, mình thấy tác giả đã bỏ ra biết bao công sức để mang lại lợi ích cho cộng đồng. Cuốn sách đã giúp mình rất nhiều trong việc học và nghiên cứu VBA. Cám ơn bác Hướng thật nhiều.
-Mình cũng xin nêu một vài chỗ còn thắc mắc nhờ tác giả và các bạn giải đáp giùm:
VẤN ĐỀ 1:
-Trang 192:
14.2.1 - Điều khiển Do...Loop
Thực hiện một khối lệnh với số lần lặp xác định...
-Trang 194:
14.2.5 - Điều khiển For...Next
Bạn có thể lặp hành động với số lần biết trước...
Thắc mắc ở chỗ: Số lần lặp xác định và số lần biết trước có khác nhau gì không?
VẤN ĐỀ 2:
-Trang 194:
14.2.4 - Điều khiển Do Until...Loop
Bạn có thể thực hiện các khối lệnh từ đầu vòng lặp cho đến khi điều kiện vẫn True. Đến khi điều kiện false thì sẽ thoát ra. Phương thức này giống như vòng lặp For...Next
-Thắc mắc ở chỗ, hình như đối Do Until...Loop, khi điều kiện false vòng lặp chạy, khi điều kiện true vòng lặp mới thoát.
-Và Do Until...Loop giống For...Next ở chỗ nào?
Cám ơn nhiều!
 
Khác nhau giữa For..Next và Do While/Do Until..Loop, While WEnd

- Đọc cuốn sách của bác Hướng, mình thấy tác giả đã bỏ ra biết bao công sức để mang lại lợi ích cho cộng đồng. Cuốn sách đã giúp mình rất nhiều trong việc học và nghiên cứu VBA. Cám ơn bác Hướng thật nhiều.
-Mình cũng xin nêu một vài chỗ còn thắc mắc nhờ tác giả và các bạn giải đáp giùm:
VẤN ĐỀ 1:

Thắc mắc ở chỗ: Số lần lặp xác định và số lần biết trước có khác nhau gì không?
VẤN ĐỀ 2:

-Thắc mắc ở chỗ, hình như đối Do Until...Loop, khi điều kiện false vòng lặp chạy, khi điều kiện true vòng lặp mới thoát.
-Và Do Until...Loop giống For...Next ở chỗ nào?
Cám ơn nhiều!


For..Next : Thường được dùng với số vòng lặp được xác định trước

Mã:
Dim Sh As WorkSheet
For I = 1 To Sheets.Count
    Set Sh = Sheets(I)
   Debug.Print Sh.Name
Next I
Hay

Mã:
Dim Sh As WorkSheet
For Each Sh In Sheets
   Debug.Print Sh.Name
Next

Ở đây, Sheets.Count là số sheet được xác định trước, vòng lặp chạy từ sheet 1..Sheets.Count (có thể là 0,1....n), giá trị của Sheets.Count sẽ không thay đổi cho đến khi thoát khỏi vòng lặp (cho dù có thể số sheet đã tăng hay giảm trong quá trình chạy vòng lặp.

Do While..Loop, While..WEnd và Do Until..Loop

Xét một ví dụ thực hiện duyệt các giá trị trong Cột A từ dòng 1, vòng lặp chỉ dùng lại khi giá trị ở dòng thứ I là trống (rỗng)

Ở ví dụ này thì số vòng lặp là không biết trước, nó chỉ dừng lại khi thỏa mãn một điều kiện nào đó được xác định ở đầu vòng lặp, sau từ khóa While, Until

Cách 1:
Mã:
    Dim I&
    I = 1
    Do While [COLOR="Red"]Not IsEmpty(Cells(I, 1))[/COLOR]
        Debug.Print I
        I = I + 1
    Loop

Cách 2:
Mã:
    I = 1
    While [COLOR="Red"]Not IsEmpty(Cells(I, 1))[/COLOR]
        Debug.Print I
        I = I + 1
    Wend

Cách 3:

Mã:
    I = 1
    Do Until [COLOR="Red"]IsEmpty(Cells(I, 1))[/COLOR]
        Debug.Print I
        I = I + 1
    Loop

(*) Biểu thức đứng sau từ khóa While, Until được thực hiện với mỗi vòng lặp

Trên là những điều khác nhau rất cơ bản giữa For..Next và Do While/Do Until..Loop, While WEnd.
 
Nguyên văn bởi TuanVNUNI
Khác nhau giữa For..Next và Do While/Do Until..Loop, While WEnd
Cám ơn TuanVNUNI. Mình không hỏi về sự khác nhau giữa For...Next và Do ...Loop...Mình chỉ thắc mắc ở một số dòng, một số ý trong cuốn sách viết về các loại vòng lặp trên. Nếu những thắc mắc của mình là hợp lý thì có thể giúp tác giả hiệu chỉnh sách cho toàn vẹn hơn. Tất nhiên nếu có, thì những chỗ chưa ổn này là rất nhỏ so với một công trình biên soạn trên 500 trang.
 
Cám ơn TuanVNUNI. Mình không hỏi về sự khác nhau giữa For...Next và Do ...Loop...Mình chỉ thắc mắc ở một số dòng, một số ý trong cuốn sách viết về các loại vòng lặp trên. Nếu những thắc mắc của mình là hợp lý thì có thể giúp tác giả hiệu chỉnh sách cho toàn vẹn hơn. Tất nhiên nếu có, thì những chỗ chưa ổn này là rất nhỏ so với một công trình biên soạn trên 500 trang.

Vâng, em viết chi tiết bài trên cũng để những thành viên khác nếu chưa rõ tham khảo thêm. Vấn đề về vòng lặp For, While...nếu người đọc không hiểu hiểu rõ nguyên lý (chỉ hiểu đơn giản là vòng lặp) thì rất tai hại, khi lập trình sẽ dẫn đến sai mà lỗi đó không phải dễ nhận ra đâu (lỗi tiềm ẩn).
Mặc dù 1 dòng chưa rõ ràng, nó có thể nó không thấm vào đâu trong số 500 dòng của cuốn sách nhưng tác giả cũng lưu ý là có thể có 5000 người đọc dòng này.
 
Hỏi về ví dụ 4 trang 479

Tại VD4 trang 479 tác giả có đề cập là khi thay đổi tọa độ trong Excel thì được cập nhật ngay trong AutoCAD, nhưng trong mã code thì không có phần này do đó tác giả có thể bổ sung thêm phần này được không, tác giả có thể đưa lên DĐ hoặc mail riêng dùm : vienbp2004@yahoo.com
 
*-* Trang 66
1.
PHP:
Sheets("Sheet1").active
--> Active sữa lại là
PHP:
Sheets("Sheet1").Activate
.
2.
PHP:
Sheets("sheet1").Range("A1:A12").Select
--> Select method of Range class failed?

Ý 2 chỉ thực hiện được khi mình đã Activate sheet1 rồi, Nhưng nếu như mà Activate sheet1 rồi thì trong câu lệnh không cần thiết phải thêm Sheets("sheet1"). mà chỉ cần Range("A1:A12").Select
=> Ý 2 không phải là 1 câu lệnh tổng quát vì khi mình dang đứng ở sheet2 mà thực hiện lệnh sẽ báo lỗi
Select method of Range class failed?
Em nghĩ trong thực tế mình select là luôn nhìn thấy cái mình đã chọn, nên không thể đứng ở sheet2 mà select 1 vùng ở sheet1 được, Nhưng có thể gán giá trị cho vùng o sheet1 được
VD Thay select = value thi ok.
Sheets("sheet1").Range("A1:A12").Select
Thay bằng:
PHP:
Sheets("sheet1").Range("A1:A12").Value = 100
thì OK.
Xin bo sung 2 ví dụ như vậy để phân biệt cho bạn đọc hiểu rõ hơn
Xin ý kiến của cac ban GPE

Sach VBA for Excel Trang 80
Dong lệnh này bị lỗi Subscript out of range
PHP:
Workbook("Popupmenu").Sheets("Sheet1").Range("B3").Select
Có thể sửa lại cho đầy đủ là, nhưng chi đúng với truong hợp đang activate sheet1, con lai bi lỗi.
PHP:
Workbooks("Popupmenu.xls").Sheets("Sheet1").Range("B3").Select
Khi đứng ở vị trí sheet khác sheet1 (sheet2 chẳn hạn) se bao lỗi Select method of Range class failde
Trang 82:
PHP:
MsgBox "Kiểu đồi tượng được chọn là" & TypeName(Selection)
Mình thấy hình trong sách hiện lên thông báo có dấu tiếng việt đàng hoàng mà mình không thể làm được. Mong cac anh em giup nhe.
Trang 83:
Dòng thứ 2 Câu lệnh Cells(5,A).Select --> Chọn ô đơn A5 là không thực hiện được
Trang 88:
Tai sao thấy hai câu lệnh này không có khác nhau gì hết?
PHP:
ActiveCell.FormulaR1C1 = "=sum(R[-3]C:R[-1]C)"
và
ActiveCell.Formula = "=sum(R[-3]C:R[-1]C)"
Ví dụ 2:
Nhập vào công thức =F2-F4 trong ô D5. Theo Code này thì phải sữa lại là
PHP:
Range("b5").Formula="=R[-3]C[2]-R[-1]C[2]"
Theo Code này thì phải sữa lại là: Nhập vào công thức =D2-D4 trong ô B5.
Ví dụ 3: Đề bài là: G6=G5*G4
PHP:
ActiveCell.Formula="=R[-1]C:R[-2]C" Phải sửa lại là
ActiveCell.Formula="=R[-1]C*R[-2]C"
Hai đoạn Code này có tác dụng là past giá trị (không biết nó khác nhau o cho nào?)
1.
PHP:
Range("c5").PasteSpecial Paste:=xlValues    và
Range("c5").PasteSpecial xlPasteValues
Ba Code này là Thoát khoải lệnh copy (Không biết sự khác biệt của nó ra sao?)
2.
PHP:
application.CutCopyMode = False
application.CutCopyMode =xlCut
application.CutCopyMode =xlCopy

*-* Trang 89
PHP:
?Range("b3").NumberFormat 	Trả về kiểu định dạng số ô A3 
                                         Sửa lại là   Trả về kiểu định dạng số ô B3
*-* Trang 91 Tên vùng có thể được gán theo ý muốn khi sử dụng macro, vi du duoi day:
PHP:
Workbooks("Congty.xls").Names.Add name:="congty", RefersTo:="=Danhsach!d1:d10"
--> Là chọn khối tương đối, Nếu ta nháp vào góc trên bên trái (Names Box) thì mỗi lần chọn "congty" là 1 khối ô được nhảy đến vị trí mới.
Nhưng ko hiểu tại sao Code này lúc nào cũng chọn đúng vùng D1:D10 ??? không biết vì sao???
PHP:
Range("congty").Select
*-* Trang 92 Ở dòng 19 từ trên xuống
PHP:
Range("a4").Cut	   Xóa toàn bộ A4
--> Không xóa được vì Cut mà thiếu Past thi ko thực hiện được lệnh xóa.
*-* Trang 95 Dòng 22 từ trên xuống
Ví dụ sau trả về đối tượng font của ô A1
PHP:
Range("A1").Font
Bị lỗi --> Invalid use of property
Vậy muốn biết Ô A1 đang dùng là Font gì làm cách nào ???

*-* Trang 111 Ví dụ 2: Sao làm mà cứ bị lỗi, hình như là thiếu cái gì đó.
PHP:
Sub vd_Object()
Dim YourObject, MyObject, MyStr
Set MyObject = YourObject
YourObject.Text = "Hello World"
MyStr = MyObject.Text
Set MyObject = Nothing
End Sub
*-* Trang 138 Dòng số 9 từ trên xuống
PHP:
Selection.PasteSpecial Paste:=xlValues, operation:=xlMultiply, SkipBlanks:=False, Transpose:=False
Code nay tai sao past lúc nào cũng cho gia trị =0 hết??? Mình cũng không hiểu được đoạn Code này???
Nhưng nếu xóa đi các phần ở sau như the này thì Past bình thường. Xin GPE chỉ giúp???
PHP:
Selection.PasteSpecial Paste:=xlValues
*-* Trang 144 Dòng số 6 tu duoi len.
PHP:
Sub Log_in_Excel1()    
  Answer = WorksheetFunction.Log(Worksheets("Sheet3").Range("D2"))
  MsgBox "Excel:Gia tri log(" & Range("D2").Value & ")= " & Answer
End Sub
VD Sub này không hợp lý, vì nếu đứng ở sheet1 và chạy thì, Giá trị để tính là Sheets3!D2, nhưng khi hiện lên thông báo với giá trí Sheet1!D2, Sheets3!D2 khác Sheet1!D2 cho nên có khả năng cho ra thông báo sai như sau:
Excel: Gia tri Log(0) = 0.3010 --> Sai.
*-* Trang 151 STT 4 Hàm IsError(expression) --> Phần Ví dụ nhầm với IsNumeric()
 
Chỉnh sửa lần cuối bởi điều hành viên:
Cám ơn anh pmhoang đã dày công nghiên cứu và chỉ ra một số lỗi. Trong quá trình biên soạn, do thời gian và công việc cũng hơi bận nên 1 số chỗ chủ quan, chưa soát kỹ mọi trường hợp xảy ra.:-=
Mong các bạn thông cảm, hy vọng lần sau sẽ hoàn thiện, đầy đủ và ít lỗi hơn.
Tôi xin bổ sung thêm 1 số thông tin như sau:
*-* Trang 66
1.
PHP:
Sheets("Sheet1").active
--> Active sửa lại là
PHP:
Sheets("Sheet1").Activate
.
2.
PHP:
Sheets("sheet1").Range("A1:A12").Select
--> Select method of Range class failed?

Ý 2 chỉ thực hiện được khi mình đã Activate sheet1 rồi, Nhưng nếu như mà Activate sheet1 rồi thì trong câu lệnh không cần thiết phải thêm Sheets("sheet1"). mà chỉ cần Range("A1:A12").Select
=> Ý 2 không phải là 1 câu lệnh tổng quát vì khi mình dang đứng ở sheet2 mà thực hiện lệnh sẽ báo lỗi
Select method of Range class failed?

Như bạn nói là đúng, để Sheets("sheet1").Range("A1:A12").Select hoạt động thì bắt buộc Sheet1 đang được kích hoạt, nếu không sẽ báo lỗi. Một số ví dụ khác tương tự. Lệnh đầy đủ gồm 2 dòng:
Sheets("sheet1").Select
Range("A1:A12").Select

Trang 83:
Dòng thứ 2 Câu lệnh Cells(5,A).Select --> Chọn ô đơn A5 là không thực hiện được

Sửa lại cho A vào trong dấu ngoặc kép: Cells(5,"A").Select


PHP:
Range("a4").Cut	   Xóa toàn bộ A4
--> Không xóa được vì Cut mà thiếu Past thi ko thực hiện được lệnh xóa.

Cái này chỉ là mẹo thôi, nếu cut mà không dán thì coi như là xoá.

*-* Trang 95 Dòng 22 từ trên xuống
Ví dụ sau trả về đối tượng font của ô A1
PHP:
Range("A1").Font
Bị lỗi --> Invalid use of property
Vậy muốn biết Ô A1 đang dùng là Font gì làm cách nào ???

Lệnh trên trả về đối tượng Font (như trong sách), để xem các thuộc tính như Name,Size,... thì bạn chạy 2 dòng dưới đây trong cửa sổ Immediate:
?Range("A1").Font.Name
?Range("A1").Font.Size

*-* Trang 138 Dòng số 9 từ trên xuống
PHP:
Selection.PasteSpecial Paste:=xlValues, operation:=xlMultiply, SkipBlanks:=False, Transpose:=False
Code nay tai sao past lúc nào cũng cho gia trị =0 hết??? Mình cũng không hiểu được đoạn Code này???
Nhưng nếu xóa đi các phần ở sau như the này thì Past bình thường. Xin GPE chỉ giúp???

Nếu không nhầm thì đoạn code này là dán đặc biệt trong Excel 2002, Trong Excel 2003 khác đi 1 chút:
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply, SkipBlanks _
:=False, Transpose:=False

*-* Trang 144 Dòng số 6 tu duoi len.
PHP:
Sub Log_in_Excel1()    
  Answer = WorksheetFunction.Log(Worksheets("Sheet3").Range("D2"))
  MsgBox "Excel:Gia tri log(" & Range("D2").Value & ")= " & Answer
End Sub

Bổ sung thêm địa chỉ tham chiếu cho đúng:
Sub Log_in_Excel1()
Answer = WorksheetFunction.Log(Worksheets("Sheet3").Range("D2"))
MsgBox "Excel:Gia tri log(" & Worksheets("Sheet3").Range("D2").Value & ")= " & Answer
End Sub

*-* Trang 144 Dòng số 6 tu duoi len.
PHP:
Sub Log_in_Excel1()    
  Answer = WorksheetFunction.Log(Worksheets("Sheet3").Range("D2"))
  MsgBox "Excel:Gia tri log(" & Range("D2").Value & ")= " & Answer
End Sub

*-* Trang 151 STT 4 Hàm IsError(expression) --> Phần Ví dụ nhầm với IsNumeric()

Cái này đã được đề cập rồi anh pmhoang ạ.
 
Lần chỉnh sửa cuối:
Tại VD4 trang 479 tác giả có đề cập là khi thay đổi tọa độ trong Excel thì được cập nhật ngay trong AutoCAD, nhưng trong mã code thì không có phần này do đó tác giả có thể bổ sung thêm phần này được không, tác giả có thể đưa lên DĐ hoặc mail riêng dùm : vienbp2004@yahoo.com

Đoạn code này đã có ở trang 480 rồi anh nguyenvanvien ạ.
 
pmhoang đã viết:
PHP:
Selection.PasteSpecial Paste:=xlValues, operation:=xlMultiply, _
SkipBlanks:=False, Transpose:=False
Code nay tai sao past lúc nào cũng cho gia trị =0 hết??? Mình cũng không hiểu được đoạn Code này???
Nhưng nếu xóa đi các phần ở sau như the này thì Past bình thường. Xin GPE chỉ giúp???
PHP:
Selection.PasteSpecial Paste:=xlValues

Xin giải thích: Đây là code paste với cách đặc biệt là nhân ô chọn (hoặc vùng chọn) với 1 số chứa trong 1 ô khác đã copy.
Thí dụ đầy đủ:
PHP:
Sub PasteMultiply()
Cells(1, 1).Copy
Cells(2, 1).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlMultiply, SkipBlanks _
:=False, Transpose:=False
End Sub

Chỉ cần 1 trong 2 ô A1 hoặc A2 có giá trị 0 thì kết quả sẽ bằng zero.
Nghĩa là hễ copy 1 ô có số, paste kiểu này vào ô trống, luôn luôn bằng không. Nếu Paste vào ô có giá trị số, số cũ sẽ được nhân lên.
 
*-* Trang 188
PHP:
Function TrangThai(Doset As Single)   
  Select Case Doset
  Case Is > 1, 1   
    TrangThai = "Chay"
  Case 0.75 To 1    
    TrangThai = "Deo chay"
  Case 0.5 To 0.75
    TrangThai = "Deo mem"
  Case 0.25 To 0.5
    TrangThai = "Deo cung"
  Case 0 To 0.25
    TrangThai = "Nua cung"
  Case Is < 0
    TrangThai = "Cung"
  End Select
End Function

'Doset =1 co 2 Case thoa man "Chay" va "Deo chay" tai sao lai lay gia tri "Chay"???
Nếu ta bỏ bới, 1, sẽ thành như sau:
Giá trị Doset=1 se trả về "Deo chay" nghĩa là sao???
PHP:
 Case Is > 1
    TrangThai = "Chay"
  Case 0.75 To 1    
    TrangThai = "Deo chay"
*-* Trang 196 Ví dụ ExitStatementDemo() mỗi lầ Run là Thoát không thấy gì hết, nên khó hiểu được tác dụng gì hết. Mình đã thêm vài dòng MsgBox như sau sẽ làm người mới học hiểu rõ hơn.
PHP:
Sub Exit_StatementDemo()   
  Dim i, MyNum
  Do
    For i = 1 To 1000
      MyNum = Int(Rnd * 1000)
      Select Case MyNum
        Case 7
          MsgBox "Gia tri MyNum = " & MyNum & Chr(13) & " Exit For"
          Exit For
        Case 29
          MsgBox "Gia tri MyNum = " & MyNum & Chr(13) & " Exit Do"
          Exit Do
        Case 54
          MsgBox "Gia tri MyNum = " & MyNum & Chr(13) & " Exit Sub"
          Exit Sub
      End Select
    Next i
  Loop
End Sub
*-* Trang 204 Dong 8 từ dưới lên.
PHP:
MsgBox "Dia chi o cuoi cung: " & Mang.Cells(Cot, Hang).Address
Sửa lại là		
MsgBox "Dia chi o cuoi cung: " & Mang.Cells(Hang, Cot).Address
*-* Trang 206
PHP:
Sub Input_Bay_Loi()  
  On Error Resume Next  
  Dim Mang As Variant
  Set Mang = Application.InputBox("Nhap vao mang: ", "Tim kiem")
  ''Se bi rong khi an nut Cancel hoac an phim Esc, khi do ban bay duoc truong hop nay.
  If IsEmpty(Mang) Then
    MsgBox "Ban khong nhap noi dung gi ca!"
  Else
    MsgBox "Chuc mung!"
  End If
End Sub
Sao lúc nào cũng cho kết quá là "Ban khong nhap noi dung gi ca!" Không biết lỗi ở đâu???
*-* Trang 221 Dòng 14 dưới lên
PHP:
Select Case Err
Err la bien o dau ra. mà nó lại có các giá trị để vào điều kiện Case ,sao ko thay dinh nghia nó???
PHP:
Sub SelectionSqr2()    
  Dim Cell As Range
  Dim ErrMsg As String
  On Error GoTo ErrorHandler
  If TypeName(Selection) <> "Range" Then Exit Sub
  For Each Cell In Selection
    Cell.Value = Sqr(Cell.Value)
  Next Cell
  Exit Sub
ErrorHandler:
  MsgBox "Err la: " & Err   'Err la bien o dau ra???
  Select Case Err
    Case 5  'So am thi bo qua
      MsgBox "So am bo qua"
      Resume Next
    Case 13 'Sai kieu so lieu nhu la chuoi bo qua
      MsgBox "Kieu text bo qua"
      Resume Next
    Case 1004 'Cells bi khoa hay Sheet bi protect
      MsgBox "Cells bi khoa roi, thu lai lan nua di!"
      Exit Sub
    Case Else
      ErrMsg = Error(Err.Number) 'Cac loi khac
      MsgBox "ERROR: " & ErrMsg
      Exit Sub
    End Select
End Sub

*-* Trang 243 Dòng 6 từ trên xuống.
Nếu bạn chọn No thì sẽ xuất hiện hộp điều khiển này. --> Sai. Sửa lại là: Chon No thi sẽ không lưu.
*-* Trang 254
PHP:
Dim Khoang_Thoi_Gian As Date
Sub CapNhatGio()
  'Cap nhat tai A1 voi gio hien tai
  ThisWorkbook.Sheets(1).Range("A1") = Time
  'Cach 1 giay thi gio cap nhat
  Khoang_Thoi_Gian = Now + TimeValue("00:00:01")
  Application.OnTime Khoang_Thoi_Gian, "CapNhatGio"
End Sub
Sub DungGio() 
  'Huy su kien OnTime (Dung gio tai o A1)
  On Error Resume Next
  Application.OnTime Khoang_Thoi_Gian, "CapNhatGio", , False
End Sub
Không hiểu tại sao DungGio() lại không có tác dụng gì cả, Thời gian vẫn nhảy bình thường???
PHP:
Sub Setup_OnKey() 
  Application.OnKey "{PgDn}", "PgDn_Sub"
  Application.OnKey "{PgUp}" "PgUp_Sub"   'Thiếu dấu ,
End Sub
Sub DgDn_Sub() 
  On Error Resume Next
  If TypeName(ActiveSheet) = "Worksheet" Then
    ActiveCell.Offset(2, 0).Acvivate
End Sub
Sub DgUp_Sub() 
  On Error Resume Next
  If TypeName(ActivaSheet) = "Worksheet" Then
    ActiveCell.Offset(-2, 0).Activate
End Sub
Setup_OnKey() thiếu dấu ,
PgDn_Sub() thiếu End If
PgUp_Sub() Thiếu End If
Và khi sửa lại lỗi thì Run Setup_OnKey() xong ra ngoai bảng tính và bấm Page_Up hay Page_Dn, cung không thấy có tác dụng gì cả???
 
Lần chỉnh sửa cuối:
*-* Trang 188
PHP:
Function TrangThai(Doset As Single)   
  Select Case Doset
  Case [COLOR="Red"]Is > 1, 1[/COLOR]   
    TrangThai = "Chay"
  Case 0.75 To 1    
    TrangThai = "Deo chay"
  Case 0.5 To 0.75
    TrangThai = "Deo mem"
  Case 0.25 To 0.5
    TrangThai = "Deo cung"
  Case 0 To 0.25
    TrangThai = "Nua cung"
  Case Is < 0
    TrangThai = "Cung"
  End Select
End Function

Cái này là tôi cố tình tạo 2 tình huống của Case (được cách bởi dấu ","), nếu không thay bằng
là đủ. Khi có sự trùng lặp giá trị (như là 1 chẳng hạn), hàm sẽ lấy giá trị đầu tiên trong vòng lặp.



Mã:
Sub Exit_StatementDemo()   
  Dim i, MyNum
  Do
    For i = 1 To 1000
      MyNum = Int(Rnd * 1000)
      Select Case MyNum
        Case 7
          MsgBox "Gia tri MyNum = " & MyNum & Chr(13) & " Exit For"
          Exit For
        Case 29
          MsgBox "Gia tri MyNum = " & MyNum & Chr(13) & " Exit Do"
          Exit Do
        Case 54
          MsgBox "Gia tri MyNum = " & MyNum & Chr(13) & " Exit Sub"
          Exit Sub
      End Select
    Next i
  Loop
End Sub

Cái này bạn phải chạy nhiều lần vì nó cho ra số ngẫu nhiên, khi số đúng bằng 7, 29, 54 thì sẽ có thông báo. Còn không thì tự thoát.
 
Cái này bạn phải chạy nhiều lần vì nó cho ra số ngẫu nhiên, khi số đúng bằng 7, 29, 54 thì sẽ có thông báo. Còn không thì tự thoát.
Trong sach VBA Trang 196 Đoạn code trong đó không có thông báo nào. Cái thông báo là em thêm vào cho rõ nghĩa đó. ý em là muốn cho nó rõ nghĩa để người học dể hiểu. còn trong sách thì im rê và Exit âm thầm.
 
*-* Trang 262 dòng 5 từ dưới lên
If thiếu End If
*-* Trang 267 dong 3 trên xuống bi lỗi gì đó.
*-* Trang 268 Sub WorkBook_SheetSelectionChange
Sub này Run là không thể copy, autofill, (nhưng cho có công thức)???
Có cách nào chỉ Protect 1 vùng lựa chọn chẳn hạn như 1 hàng đầu không cho phép chỉnh sửa (vị sợ làm vô tình làm sai công thức), nhưng cho phép người dùng kéo xuống sử dụng bình thường không?
*-* Trang 293 Hàm nội suy 1 chiều như trong VBA đã bị lỗi.
Mình đã sửa lỗi và cũng có ghi một vài điều thắc mắc về nó trong file.Mong GPE giup!
Nhập góc ma sat trong: 21.6 vao ô G3
1. Ô F11=G3, không có tính toán gì mà sao vẫn ra số không chính xác. (bị sai so 0.0000038)???
Nhập góc ma sat trong: 14 vao ô G3
2. 14 là góc chính xác, sao lại nội suy ra toàn là số mang theo 1 đóng dấu phẩy ở đằng sau???
Hàm nội suy 2 chiều không Run được, mình đã tìm cách sửa ma không được, nó bị lỗi dạng Range(0,1) vd ta co range X(n-1,1)
khi n=1->X(0,1)=z/b lúc này nó là text không thể tính toán được, nên gây ra lỗi.
Xin Thầy Hướng và anh em gpe Giup do. để hoàn chỉnh sach VBA (file goi kèm)
 

File đính kèm

Lần chỉnh sửa cuối:
Cám ơn anh pmhoang, trong lần tái bản sau, tôi sẽ sửa các sai sót hoặc những nội dung chưa rõ như anh đã đề cập...
 
Sách mua về em đọc chưa nhiều, vì em vốn lười đọc, đụng đâu thì đọc đó, nhưng em thấy đây là cuốn sách rất hay, rất chi tiết (mặc dù còn vài lỗi nhỏ như các thành viên khác đã chỉ ở trên). Em thực hành cái bài chuyển dữ liệu từ Excel thành bản vẽ AutoCad và thấy nó rất tuyệt vời, công việc của em là phải theo dõi và kiểm tra thi công tuyến ống (pipe line), nên nhờ có đoạn code của bác Hướng mà công việc đỡ vất vả hơn (lại chính xác nữa). Mong bác Hướng (và các cao nhân trong site mình nữa) sẽ có thêm những công trình thiết thực để chia sẻ với mọi người, và để newbie như em được học hỏi thêm nữa. Xin cám ơn.
 
Lần chỉnh sửa cuối:
Anh Hướng có dự định viết tiếp không ? Quyển này chỉ là khởi đầu thôi, nếu lười đọc vào diễn đàn tham khảo có thể được. Nhưng còn nhiều vấn đề nâng cao 1 chút, trong khi tiếng Anh hạn chế thì thật khó mà tham khảo. Như Class, Excel và các chương trình khác, can thiệp sâu hơn vào hệ thống chương trình "bình dân" như bọn mình mù tịt. Nhất là tham khảo code của nước ngoài viết thấy họ sử lý thực hay, kỳ lạ và hiệu quả.Do bất đồng ngôn ngữ không sao học được. Tiếp tục đi anh Hướng à.
 
Anh Hướng có dự định viết tiếp không ? Quyển này chỉ là khởi đầu thôi, nếu lười đọc vào diễn đàn tham khảo có thể được. Nhưng còn nhiều vấn đề nâng cao 1 chút, trong khi tiếng Anh hạn chế thì thật khó mà tham khảo. Như Class, Excel và các chương trình khác, can thiệp sâu hơn vào hệ thống chương trình "bình dân" như bọn mình mù tịt. Nhất là tham khảo code của nước ngoài viết thấy họ sử lý thực hay, kỳ lạ và hiệu quả.Do bất đồng ngôn ngữ không sao học được. Tiếp tục đi anh Hướng à.

Cám ơn mọi người đã góp ý và động viên!

Cũng muốn viết tiếp nhưng bận quá và còn phải đi kiếm ăn nuôi con. Sang đầu năm 2009 tái bản cuốn sách này (đã sửa đổi, bổ sung một số nội dung cho phù hợp, chính xác).

Hy vọng có điều kiện viết thêm tiếp.
 
bây giờ em mới biết thông tin là có cuốn sách như thế. em mơ ước đã lâu về việc có quyển sách TIẾNG VIỆT về VBA for E. là một dân kỹ thuật, em biết áp đụng dược các code vào bảng tính cầu là cực kỳ hữu ích. Mai em đi..mua.
 
Tác giả mong muốn bạn đọc góp ý cho cuốn sách tái bản năm 2012 để đợt sau tái bản hoàn chỉnh hơn!

Xin cám ơn!
 
Tác giả mong muốn bạn đọc góp ý cho cuốn sách tái bản năm 2012 để đợt sau tái bản hoàn chỉnh hơn!

Xin cám ơn!

Tôi đã góp ý nhưng thấy vẫn chưa sửa. Tôi không là bạn đọc, tôi không mua và đọc nhưng mạo muội góp ý.

http://www.giaiphapexcel.com/forum/...ng-Excel-tái-bản-năm-2012&p=416182#post416182

Có thể hàm có lỗi không cần thiết nữa, nếu thế thì nên xóa khỏi ví dụ và xóa khỏi module
 
Lần chỉnh sửa cuối:
Tôi đã góp ý nhưng thấy vẫn chưa sửa. Tôi không là bạn đọc, tôi không mua và đọc nhưng mạo muội góp ý.

http://www.giaiphapexcel.com/forum/...ng-Excel-tái-bản-năm-2012&p=416182#post416182

Có thể hàm có lỗi không cần thiết nữa, nếu thế thì nên xóa khỏi ví dụ và xóa khỏi module

Cám ơn bạn đã phát hiện lỗi hàm trên. Đây là những hàm tôi thu thập được, đã kiểm tra mấy hàm chạy tốt, riêng hàm cuối kết quả không chính xác.
 
Cuốn Lập trình VBA trong Excel cho người ... tại Nhà xuất bản Khoa học Kỹ thuật (2014)

có lỗi ở trang 144 về hàm Trim(string): Giải thích như sách là chỉ đúng cho hàm dùng trong Sheet.

Còn trong Code, muốn có kết quả như giải thích, tôi cứ phải dùng
Application.WorksheetFunction.Trim(string).

Lỗi này cũng có trong
cuốn Lập trình VBA trong Excel tại Nhà xuất bản Thống kê (2012) trang 156.


 
Cuốn Lập trình VBA trong Excel cho người ... tại Nhà xuất bản Khoa học Kỹ thuật (2014)
trang 39, dòng 1, 2 có lối dính chữ

EndSub, EndFunction

Mặc dù hệ soạn thảo code sẽ sinh ra
End Sub (hoặc End Function) nhưng e rằng với "người mới bắt đầu" sẽ sửa theo lỗi trên thì sẽ mất thì giờ cho họ.

Lỗi trên không có ở bản in năm 2012.
 
Cuốn Lập trình VBA trong Excel cho người ... tại Nhà xuất bản Khoa học Kỹ thuật (2014)

có lỗi ở trang 144 về hàm Trim(string): Giải thích như sách là chỉ đúng cho hàm dùng trong Sheet.

Còn trong Code, muốn có kết quả như giải thích, tôi cứ phải dùng
Application.WorksheetFunction.Trim(string).

Lỗi này cũng có trong
cuốn Lập trình VBA trong Excel tại Nhà xuất bản Thống kê (2012) trang 156.



Cám ơn, để tôi xem lại và fix lỗi.


Cuốn Lập trình VBA trong Excel cho người ... tại Nhà xuất bản Khoa học Kỹ thuật (2014)
trang 39, dòng 1, 2 có lối dính chữ

EndSub, EndFunction

Mặc dù hệ soạn thảo code sẽ sinh ra
End Sub (hoặc End Function) nhưng e rằng với "người mới bắt đầu" sẽ sửa theo lỗi trên thì sẽ mất thì giờ cho họ.

Lỗi trên không có ở bản in năm 2012.

Đây là vấn đề đau đầu vì lỗi thường do biên tập và soát xét không cẩn thận. Trong các nhà sách đã xuất bản, có lẽ chỉ NXB Thống kê làm việc chuẩn chỉ và chuyên nghiệp nhất. Bản thân tôi cũng thấy áy náy với các bạn đọc khi sách xuất bản mà bị lỗi chính tả, lỗi lập trình...
Mà anh có nhiều cuốn nhỉ }}}}}
 
Lần chỉnh sửa cuối:
Cám ơn, để tôi xem lại và fix lỗi.




Đây là vấn đề đau đầu vì lỗi thường do biên tập và soát xét không cẩn thận. Trong các nhà sách đã xuất bản, có lẽ chỉ NXB Thống kê làm việc chuẩn chỉ và chuyên nghiệp nhất. Bản thân tôi cũng thấy áy náy với các bạn đọc khi sách xuất bản mà bị lỗi chính tả, lỗi lập trình...
Mà anh có nhiều cuốn nhỉ }}}}}
Mình thấy quyển Lập trình VBA trong Excel cho người ... rất hay rồi thầy ạ, vậy thầy có nghĩ tới việc xuất bản quyển Cuốn Lập trình VBA trong Excel nâng cao ...không vậy thầy?
 
Mình thấy quyển Lập trình VBA trong Excel cho người ... rất hay rồi thầy ạ, vậy thầy có nghĩ tới việc xuất bản quyển Cuốn Lập trình VBA trong Excel nâng cao ...không vậy thầy?

Tập 2 thực ra đã hoàn thành từ trước 2012, định xuất bản nhưng tôi update thêm nên chắc khoảng 1 tháng nữa thì ổn.
 
Trong quyển phát hành 2014, em xem thấy cuối trang "LỜI NÓI ĐẦU" (trang 5) có dòng:
"Đại diện Ban quản trị giải Pháp Exel"
Em thắc mắc tại sao lại viết hoa từ "Pháp"?
trang 5.jpg
 
pac cứ đổ tại NXB hoài vậy, thằng nào nộp và viết vậy, xử. Nếu cứ nhà nhà nó chung quá, cùng lắm thay cả nhà là xong.
Bác nói vậy thì nặng quá, ai lại không sai xót chứ, ăn cơm còn đổ mà. Bác có dám nói là từ nhỏ đến giờ chưa từng bị sai xót không?
 
Sách này e chư thấy ở hcm.ai biết nhà sách nào bán cho e biết để e xem nha
 
Bác nói vậy thì nặng quá, ai lại không sai xót chứ, ăn cơm còn đổ mà. Bác có dám nói là từ nhỏ đến giờ chưa từng bị sai xót không?

Trong GPE không thiếu thành phần vô văn hóa đâu bạn. Có 1 số thành phần lập nhiều nick ăn nói linh tinh đó.
 

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

Back
Top Bottom