Hỏi về thuật toán (1 người xem)

Liên hệ QC

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

Nguyen Rem

Tất cả chỉ là đưa ra quyết định đúng đắn
Tham gia
23/2/22
Bài viết
211
Được thích
32
Giới tính
Nữ
Em chào các anh chị :))))
Em đang có một chút vấn đề sau mong anh chị cho em hướng giải quyết . Em cảm ơn anh chị nhiều
Giả sử trong một sheet tên là "Hello" ta có một bảng dữ liệu có số cột là x
Nếu x chia hết cho 3 thì
Ta tạo x/3 sheet mới bên trong một workbook khác
Câu hỏi:
Viết câu lệnh thế nào để cứ mỗi 3 cột trong sheet tên "Hello" sẽ "đưa" được vào trong mỗi sheet vừa được tạo . Em mới học VBA nên mong các anh chị giải thích code của anh chị giúp em ^^
 
Lần chỉnh sửa cuối:
Em chào các anh chị :))))
Em đang có một chút vấn đề sau mong anh chị cho em hướng giải quyết . Em cảm ơn anh chị nhiều
Giả sử trong một sheet tên là "Hello" ta có một bảng dữ liệu có số cột là x
Nếu x chia hết cho 3 thì
Ta tạo x/3 sheet mới bên trong một workbook khác
Câu hỏi:
Viết câu lệnh thế nào để cứ mỗi 3 cột trong sheet tên "Hello" sẽ "tống" được vào trong mỗi sheet vừa được tạo . Em mới học VBA nên mong các anh chị giải thích code của anh chị giúp em ^^
Phai chăng là như thế này
Mã:
Sub ABC()
Dim Wb As Workbook, X&, i&
X = 12
Workbooks.Add
Set Wb = ActiveWorkbook
With ThisWorkbook.Sheets("Hello")
    For i = 1 To X Step 3
        Wb.Sheets.Add
        .Columns(i).Resize(, 3).Copy Wb.ActiveSheet.Range("A1")
    Next
End With
End Sub
 
Upvote 0
Phai chăng là như thế này
Mã:
Sub ABC()
Dim Wb As Workbook, X&, i&
X = 12
Workbooks.Add
Set Wb = ActiveWorkbook
With ThisWorkbook.Sheets("Hello")
    For i = 1 To X Step 3
        Wb.Sheets.Add
        .Columns(i).Resize(, 3).Copy Wb.ActiveSheet.Range("A1")
    Next
End With
End Sub
Lấy toàn bộ 3 cột liệu có chậm hơn là chỉ lấy đến dòng cuối không nhỉ?
 
Upvote 0
Phai chăng là như thế này
Mã:
Sub ABC()
Dim Wb As Workbook, X&, i&
X = 12
Workbooks.Add
Set Wb = ActiveWorkbook
With ThisWorkbook.Sheets("Hello")
    For i = 1 To X Step 3
        Wb.Sheets.Add
        .Columns(i).Resize(, 3).Copy Wb.ActiveSheet.Range("A1")
    Next
End With
End Sub
Anh ơi! Anh cho em hỏi cái X& với i& nó có phải là
X& = X&"" (có kiểu dữ liệu là String)
i& = i&"" (có kiểu dữ liệu là String)
đúng không ạ ?
Bài đã được tự động gộp:

Phai chăng là như thế này
Mã:
Sub ABC()
Dim Wb As Workbook, X&, i&
X = 12
Workbooks.Add
Set Wb = ActiveWorkbook
With ThisWorkbook.Sheets("Hello")
    For i = 1 To X Step 3
        Wb.Sheets.Add
        .Columns(i).Resize(, 3).Copy Wb.ActiveSheet.Range("A1")
    Next
End With
End Sub
Em thấy hình như là ổn rồi anh ạ . Để em thử rồi có gì báo lại anh sau ^^
 
Lần chỉnh sửa cuối:
Upvote 0
Upvote 0
Em chào các anh chị :))))
Em đang có một chút vấn đề sau mong anh chị cho em hướng giải quyết . Em cảm ơn anh chị nhiều
Giả sử trong một sheet tên là "Hello" ta có một bảng dữ liệu có số cột là x
Nếu x chia hết cho 3 thì
Ta tạo x/3 sheet mới bên trong một workbook khác
Câu hỏi:
Viết câu lệnh thế nào để cứ mỗi 3 cột trong sheet tên "Hello" sẽ "đưa" được vào trong mỗi sheet vừa được tạo . Em mới học VBA nên mong các anh chị giải thích code của anh chị giúp em ^^
Tiêu đề là hỏi thuật toán trong bài là hỏi code là sao.Bạn có biết thuật toán là thế nào không.Và vẽ sơ đồ thuật toán chưa.
 
Upvote 0
Nó bằng X as Long, i as Long

Ba cái kiểu viết #$%& đó bỏ đi. Chỉ có hại.

Copy đại nên không nhớ nguồn.
Người ta đang hỏi về tầm vực, tại sao lại chọn kiểu Long, mà không phải là Double, Integer, Byte, String, Variant.

tại sao nó lại có kiểu Long không
 
Upvote 0
Tiêu đề là hỏi thuật toán trong bài là hỏi code là sao.Bạn có biết thuật toán là thế nào không.Và vẽ sơ đồ thuật toán chưa.
À cái này em nghĩ là hoàn toàn bình thường mà anh ^^ . Nếu anh góp ý thuật toán giúp em thì em vẫn sẵn sàng thảo luận mà , em có bỏ dở bài viết của ai đâu :)) em vẫn đang theo dõi từng bài viết mọi người ấy anh góp ý mà anh . Mọi người góp ý code thì em cũng thảo luận về mặt code . Còn về thuật toán thì anh nói đúng . Em chưa học nên nếu có thể nói sai thuật ngữ nhiều . Mong anh sửa giúp em
 
Upvote 0
Nói về thuật toán:
- đi tìm X. Không phải X có sẵn là 12 như code trên: tìm cột cuối, X = cuối - đầu + 1
- Tạo 1 workbook
- Duyệt từ 1 đến X, bước là 3.
- mỗi lần tạo 1 sheet mới trong workbook mới
- mỗi lần lấy 3 cột, copy và paste vào
Nói về chi tiết:
- Có thể lưu workbook liền hoặc từ từ rồi lưu
- Có thể đặt tên mỗi sheet khi tạo ra
- Đặt trường hợp chia không hết cho 3: Xử lý thế nào?
- Copy cả cột hay tìm dòng cuối từng nhóm 3 cột? Không cần thiết lắm.
- Lưu ý khi tạo workbook mới thì workbook đó là activeworkbook. Tạo sheet mới cũng thế. Copy từ đâu, paste vào đâu phải cẩn thận.
 
Upvote 0
Em cảm ơn các anh đã đọc bài của em . Em đã hoàn thành được rồi ạ ^^. Nó ở trong Module 3 ạ :)))))
 

File đính kèm

Upvote 0
$ # &:
Hồi xưa, BASIC không có khai báo kiểu. Máy thì bộ nhớ rất giới hạn. Trình dịch theo tên đặt mà biết kiểu. Thường thì cuối tên có $ là chuỗi, ký tự mắt đầu IJKLMN thì là Integer (lúc đó chưa có Long) các tên khác thì là Float (Single) - tôi quên mất Double là gì rồi.
Từ khoá Dim giành cho khai báo mảng.

Với kỹ thuật hiện đại, máy chạy rất hiệu quả cho nên trình dịch đọc Dim abc$ chẳng khác Dim abc as String bao nhiêu. Và dân khai báo chia ra làm hai trường phái:
1. dân bênh vực các dấu hiệu kia thì nói rằng đọc quen sẽ biết, và gõ vậy cho gọn.
2. dân bênh vực khai rõ ràng As cái gì đó thì thống nhất ngôn ngữ dùng hơn - không lý gì khai báo object thì dùng As trong khi khai báo kiểu căn bản lại dùng ký hiệu.

Tôi lười khai báo lắm. Chỉ khai khi có khả năng bị lẫn với biến toàn cục.

Ba cái kiểu viết #$%& đó bỏ đi. Chỉ có hại.
...
Bên trường phái kia cũng có lý của họ. Tuy nhiên tôi đồng ý với bạn là mới học thì NÊN dùng loại khai As cái gì đó. Loại kia cần yếu tố "quen".

...
Người ta đang hỏi về tầm vực, tại sao lại chọn kiểu Long, mà không phải là Double, Integer, Byte, String, Variant.
Tầm vực là scope (toàn cục, cục bộ,...) của biến. Kích cỡ là số bytes mà biến chiếm trong bộ nhớ (memnory size). Giới hạn là độ lớn/nhỏ của số mà biến có thể chứa (range).

Hiện nay, với Win 7 thì kiểu Long là hiệu quả nhất. Các kiểu khác chỉ dùng khi bị bắt buộc. Ví dụ mảng rất lớn thì kiểu Byte chỉ bằng nửa kiểu Integer và 1/4 kiểu Long. Số lớn hơn 2 tỷ thì nên đổi qua Double tốt hơn.
 
Upvote 0
Tiêu đề là hỏi thuật toán trong bài là hỏi code là sao.Bạn có biết thuật toán là thế nào không.Và vẽ sơ đồ thuật toán chưa.
Đúng ra là hỏi thuật toán. Chỉ do thớt bị lạc đường.

Thuật toán là như vầy:
- dùng con toán tính ra cột cuối cùng colLast (con toán tương tự như tính dòng cuối).
- nếu colLast \ 3 <> 0 Then Exit Sub
điều kiện này thớt nêu ra ở bài #1: Nếu x chia hết cho 3 thì
nếu không phải vậy thì thớt nên tìm học cách xác định lô gic trước khi học thuật toán và code. Khong biết cách trình bày lô gic thì không thể học được cái gì cả.
- mở workbook mới
- Set rg = Range("A:A")
For i = 1 To colLast Step 3
' code tạo sheet mới và copy rg sang ở đây
Set rg = rg.Offset(0, 3)
Next i
 
Upvote 0
Upvote 0
Em cảm ơn các anh nhiều ^^ . Nhưng hiện tại em đang bận quá vẫn chưa có thời gian xem mọi người thảo luận thuật toán hi . Nhưng không sao có thời gian là em vô xem lại liền
 
Upvote 0
Upvote 0
anh có giáo án nào hay group nào học cái này như bạn ý không cho em theo với
Từ "hay" có tính cách chủ quan. Bắt buộc nó phải trong môi trường "trường phái" thì mới có ý nghĩa.
Ví dụ, tôi theo căn bản về lý thuyết lập trình cho nên đi sát với lý thuyết ấy mới hay. Nhưng dân GPE theo trường phái tốc độ cho nên cách viết code chạy nhanh mới là hay. Tôi theo trường phải chỉ chú ý vào cách vận hành nên code của tôi phân biệt từng công việc, mỗi công việc là một sub. Dân GPE chủ yếu về hiệu quả trước mắt cho nên hay viết code dồn nhiều công việc vào một sub.
 
Upvote 0
Tôi theo trường phải chỉ chú ý vào cách vận hành nên code của tôi phân biệt từng công việc, mỗi công việc là một sub.
Cháu là người học ngang, Không được đào tạo bài bản. Cũng toàn học đọc của các anh chị thầy cô trên này. Thành ra cứ chập choạng cái được cái không.
Nhiều lúc thấy chú nói có vẻ buâng quơ nhưng nó lại thấy có lý.
Đúng là lúc mới học thì mỗi công việc 1 sub.
Thế nào dần dần đúng như chú nói. Cứ dồn hết vào 1 sub
Và bản thân cháu đã bị và rất hay bị là chia nhỏ sub ra rồi. Tới lúc sửa chữa gì đó. Không biết cái nút nào là của cái sub nào. Có lẽ vì thế nên mới dồn hết vào 1 sub í ạ
 
Upvote 0
Và bản thân cháu đã bị và rất hay bị là chia nhỏ sub ra rồi. Tới lúc sửa chữa gì đó. Không biết cái nút nào là của cái sub nào (1). Có lẽ vì thế nên mới dồn hết vào 1 sub í ạ (2)
(1). Tại không đặt tên cho sub và tên cho nút đúng cách. Nên đặt tên cho khớp với công việc muốn làm. (nói chung là đặt tên tất cả control: combobox, scrollbar, listbox, ...) Các subcon thì đặt tên theo công việc đã chia nhỏ
(2). Có vẻ ngụy biện
 
Lần chỉnh sửa cuối:
Upvote 0
Tôi nghĩ bạn đã có chừng này rồi mà. VBA cơ bản là vậy thôi.
...
Danh sách đó chỉ là cái sơ đồ, và vài ví dụ.
Muốn tiến vào bậc trung thì phải dựa vào cái sơ đồ ấy mà tìm hiểu thêm.
Muốn lên bậc cao thì chỉ có thời gian và kinh nghiệm. Tuy nhiên, nếu có một vài đề tài mà cứ code qua lại mãi thì có khả năng bị quen lối tư duy.
Đó là dấu hiệu nguy hiểm nếu bạn muốn lập trình. Nếu chỉ muốn vọc VBA thì không sao. Vọc thì gì chẳng được.
(nếu muốn học lập trình thì xem phần chú thích bên dưới - không muốn thì bỏ qua)

...Nhiều lúc thấy chú nói có vẻ buâng quơ nhưng nó lại thấy có lý. ...
Và vì lẽ trên, thỉnh thoảng tôi nói tầm xàm với ẩn ý nhắc tìm hiểu thêm.

Chú thích:
Cái list kia không nói đến một kỹ thuật lập trình: quản lý code.
Phương diện này có rất ít tư liệu, và rất ít sách dạy chỉ dẫn cặn kẽ. Dễ hiểu thôi, cái này không thuộc về ngôn ngữ cần dạy. Bạn chỉ học nó trong chương trình IT đào tạo lập trình viên.
 
Upvote 0
Danh sách đó chỉ là cái sơ đồ, và vài ví dụ.
Muốn tiến vào bậc trung thì phải dựa vào cái sơ đồ ấy mà tìm hiểu thêm.
Muốn lên bậc cao thì chỉ có thời gian và kinh nghiệm. Tuy nhiên, nếu có một vài đề tài mà cứ code qua lại mãi thì có khả năng bị quen lối tư duy.
Đó là dấu hiệu nguy hiểm nếu bạn muốn lập trình. Nếu chỉ muốn vọc VBA thì không sao. Vọc thì gì chẳng được.
(nếu muốn học lập trình thì xem phần chú thích bên dưới - không muốn thì bỏ qua)


Và vì lẽ trên, thỉnh thoảng tôi nói tầm xàm với ẩn ý nhắc tìm hiểu thêm.

Chú thích:
Cái list kia không nói đến một kỹ thuật lập trình: quản lý code.
Phương diện này có rất ít tư liệu, và rất ít sách dạy chỉ dẫn cặn kẽ. Dễ hiểu thôi, cái này không thuộc về ngôn ngữ cần dạy. Bạn chỉ học nó trong chương trình IT đào tạo lập trình viên.
1. "Danh sách đó chỉ là cái sơ đồ, và vài ví dụ"
Bác nói đúng. Đó chỉ là cái cơ bản tối cần thiết cần nắm vững trước khi đi xa hơn. Nhưng theo dòng sự kiện của bài #21 cộng thêm những gì tác giả bài ấy thể hiện, thì tôi nghĩ bạn ấy đã vượt quá VBA cơ bản rồi. Còn bạn ấy đứng ở nấc thang nào của bậc trung thì chưa biết được. Riêng tôi thì cũng chỉ ở mức bậc trung đó thôi, có muốn cũng không phát triển hơn được. Do vậy tôi không sợ lối mòn tư duy dù rất chú ý đến cảnh báo "quen lối tư duy" của bác.
2. "thỉnh thoảng tôi nói tầm xàm với ẩn ý nhắc tìm hiểu thêm..."
Tôi hiểu bác không nói bâng quơ về học thuật (tất nhiên trừ những chỗ cần bâng quơ). Nhưng tôi muốn hỏi bác ở chỗ quản lý code. Bác có thể nói sơ lược để tôi hiểu được không?
 
Upvote 0
Nhưng tôi muốn hỏi bác ở chỗ quản lý code. Bác có thể nói sơ lược để tôi hiểu được không?
Chen ngang 1 phát. Quản lý code là:
- Quản lý bằng tên: Đặt tên thủ tục & hàm tương ứng với nhiệm vụ của code
- Quản lý bằng module: Bỏ những code tương đồng hoặc chung 1 nhiệm vụ vào 1 module. Đương nhiên là phải đặt tên module tương ứng với cái nó chứa bên trong.
- Quản lý chi tiết bên trong code: Tên biến, tên control tương ứng với nội dung chứa trong biến và nhiệm vụ của controls (nút nhấn, combobox, scrollbar)
- Chia nhỏ code. (Lão trên núi thích nói về việc này). Nguyên tắc chia nhỏ. Sau khi chia nhỏ phân loại thủ tục con, hàm con, bỏ vào các module tương ứng. Thủ tục, hàm dùng nhiều lần ở nhiều thủ tục cha khác nhau nên bỏ chung 1 chỗ, và chỗ chứa đó cũng phải có tên để dễ tìm.
- Sự kiện của sheet bỏ trong sheet đúng rồi, nhưng hạn chế dùng từ khóa đại khái "ActiveSheet".
- Quản lý biến dùng chung, biến toàn cục, biến công cộng.

(Chắc lão trên núi sẽ ghét mình đây, và sẽ sửa lưng 1 đống thứ)
 
Upvote 0
.... Nhưng tôi muốn hỏi bác ở chỗ quản lý code. Bác có thể nói sơ lược để tôi hiểu được không?
Khi có một Project lớn. Ví dụ vài code modules. Thì bạn cần quản lý. Sub nào trong module nào. Biến toàn cục ở module nào thì nó là Private thay vì Global. Khi nào cần che một sub/function bằng Private.
Đó là chưa kể, tôi nhặt được code nào hay hay thì chép nó vào thư viện (files *.bas). Lúc mới chép vào thì phân loại chúng theo nhóm, ghi chú ró ràng từng nhóm (dùng comments, tức dấu '). Sau một thời gian, thư viện phình ra thì bắt đầu tách chúng ra từng file *.bas. Project nào cần loại nào thì tìm file ấy mà import vào. Các việc này, người khác thì vòi thêm code import, nhưng tôi thích làm thủ công. Đối với tôi, tình trạng kết quả đầu ra mới quan trọng; việc tự động cho nhanh (bấm một phát import code), hay mầu mè kẻ khung tôi ít màng tới.
 
Upvote 0
Khi có một Project lớn. Ví dụ vài code modules. Thì bạn cần quản lý. Sub nào trong module nào. Biến toàn cục ở module nào thì nó là Private thay vì Global. Khi nào cần che một sub/function bằng Private.
Đó là chưa kể, tôi nhặt được code nào hay hay thì chép nó vào thư viện (files *.bas). Lúc mới chép vào thì phân loại chúng theo nhóm, ghi chú ró ràng từng nhóm (dùng comments, tức dấu '). Sau một thời gian, thư viện phình ra thì bắt đầu tách chúng ra từng file *.bas. Project nào cần loại nào thì tìm file ấy mà import vào. Các việc này, người khác thì vòi thêm code import, nhưng tôi thích làm thủ công. Đối với tôi, tình trạng kết quả đầu ra mới quan trọng; việc tự động cho nhanh (bấm một phát import code), hay mầu mè kẻ khung tôi ít màng tới.
Tôi cũng đoán câu chuyện sẽ là như vậy nhưng hỏi để cho chắc mình không hiểu sai về việc quản lý code theo ý của bác.
Về việc này, tôi thấy mỗi người sẽ có mỗi kiểu "quản lý" code theo tầm của mình. Hồi xưa tôi toàn dồn cục code vào 1 chỗ, nhưng giờ khá 1 tí rồi thì phân loại và tách chúng ra theo cách nghĩ của mình. Rồi mai kia lại sẽ có cách tách và liên kết giữa chúng tốt hơn. Chắc cũng tự học cách phân loại và kết nối tối ưu thôi.
 
Upvote 0
.... Rồi mai kia lại sẽ có cách tách và liên kết giữa chúng tốt hơn. Chắc cũng tự học cách phân loại và kết nối tối ưu thôi.
Nếu bạn muốn làm việc này thì cần học kỹ về kỹ thuật "quản lý phiên bản" (version control).
Điển hình, bạn xem một project khá cũ thì cần biết các thư viện nó import ngày xưa thuộc phiên bản nào.
Quản lý phiên bản là một phần của quản lý code (code management, modulisation).
 
Upvote 0
Nếu bạn muốn làm việc này thì cần học kỹ về kỹ thuật "quản lý phiên bản" (version control).
Tôi quản lý phiên bản những bước thực hiện của chính mình. Tôi chia nhỏ dự án lớn thành những phần nhỏ hơn, mỗi phần nhỏ nếu còn lớn thì chia nhỏ hơn nữa. Khi code xong 1 phần, test xong xuôi đâu đấy lưu lại, sao thành phiên bản mới hơn để thực hiện phần tiếp theo.
Lý do là dù chia nhỏ nhưng các phần đó có mối quan hệ mật thiết với nhau: kế tiếp nhau, kế thừa nhau, sử dụng lẫn nhau, bổ sung cho nhau, hoặc cũng có khi độc lập. Code phần sau mà có hư, hoặc lỗi không xác định phải bỏ làm lại, còn có chỗ quay về, không mất trắng.
 
Upvote 0
Tôi quản lý phiên bản những bước thực hiện của chính mình. Tôi chia nhỏ dự án lớn thành những phần nhỏ hơn, mỗi phần nhỏ nếu còn lớn thì chia nhỏ hơn nữa. Khi code xong 1 phần, test xong xuôi đâu đấy lưu lại, sao thành phiên bản mới hơn để thực hiện phần tiếp theo.
Lý do là dù chia nhỏ nhưng các phần đó có mối quan hệ mật thiết với nhau: kế tiếp nhau, kế thừa nhau, sử dụng lẫn nhau, bổ sung cho nhau, hoặc cũng có khi độc lập. Code phần sau mà có hư, hoặc lỗi không xác định phải bỏ làm lại, còn có chỗ quay về, không mất trắng.
Tôi cũng có quản lý phiên bản nhưng không chia nhỏ quá như bác nói. Chia theo kiểu 3.1.0.10 thì nghe oải quá. Còn chỗ để quay về thì tôi có Google Drive quản lý giúp 10 phiên bản gần nhất trong vòng 30 ngày.
 
Upvote 0
Tôi cũng có quản lý phiên bản nhưng không chia nhỏ quá như bác nói. Chia theo kiểu 3.1.0.10 thì nghe oải quá. Còn chỗ để quay về thì tôi có Google Drive quản lý giúp 10 phiên bản gần nhất trong vòng 30 ngày.
Tôi chỉ cần đánh số để biết lối quay về. Có dự án của tôi kéo dài 2, 3 tháng cơ, dù lưu trên Onedrive tôi cũng phải lưu nhiều phiên bản. Tất nhiên những phiên bản theo thứ tự nhỏ nhất không cần nữa, tôi sẽ xóa khi hoàn thành. Tôi có 1 thí dụ như hình sau, mỗi bước có khi cách nhau vài ngày, có khi mươi ngày, có khi hơn nửa tháng tùy theo mức độ của phần đó. Nếu an toàn thì tôi giữ 1 phiên bản nào đó lâu hơn, nếu có cảm giác rủi ro, tôi lưu với tần suất dày hơn, thậm chí sáng 1 bản, chiều 1 bản.
Ngoài ra khi quay về vẫn muốn giữ bản lỗi để dùng 1 phần, hoặc để xem lỗi mà rút kinh nghiệm.

1652196514553.png
 
Upvote 0
Khiếp anh, em còn học thuộc lòng những thứ này roài, nhưng tại sao em chẳng tự viết được sub() nào hở anh?
Tôi đâu có thuộc lý thuyết đó đâu. Thậm chí tôi còn chưa biết nhiều thứ trong đó khi viết code. Công việc buộc và thôi thúc tôi phải viết. Nhờ đó mà sub() ra đời.
 
Upvote 0
Tôi đâu có thuộc lý thuyết đó đâu. Thậm chí tôi còn chưa biết nhiều thứ trong đó khi viết code. Công việc buộc và thôi thúc tôi phải viết. Nhờ đó mà sub() ra đời.
Cái gì mà mình cần. Thực sự cần. Thì thế nào cũng sẽ tìm cách được anh nhỉ. Không đi đường thẳng. Thì đi đường vòng
 
Upvote 0
Tôi đâu có thuộc lý thuyết đó đâu. Thậm chí tôi còn chưa biết nhiều thứ trong đó khi viết code. Công việc buộc và thôi thúc tôi phải viết. Nhờ đó mà sub() ra đời.
Nhưng mừ anh không thuộc lý thuyết thì làm sao mờ làm được.
Anh bốc phét;)
;););)
 
Upvote 0
1652204753594.png

Cái gì mà mình cần. Thực sự cần. Thì thế nào cũng sẽ tìm cách được anh nhỉ. Không đi đường thẳng. Thì đi đường vòng
Đi đường vòng cung được. Cái quan trọng là đi xong, thay vì tự mãn là mình có thể đi vòng thì chịu khó tìm hiểu tại sao mình đã không thể đi đường thẳng.
Cái "lý thuyết" nó là chỗ đó.
 
Upvote 0
Đi đường vòng cung được. Cái quan trọng là đi xong, thay vì tự mãn là mình có thể đi vòng thì chịu khó tìm hiểu tại sao mình đã không thể đi đường thẳng.
Cái "lý thuyết" nó là chỗ đó.
Có người thông minh vẫn đi được mà Bác.
 
Upvote 0
Nhưng mừ anh không thuộc lý thuyết thì làm sao mờ làm được.
Anh bốc phét;)
;););)
Thay vì cứ ngồi học mớ chữ nghĩa đó thì tôi viết code. Mà thời chưa có internet thì đâu có dễ mà tìm chỉ dẫn. Tôi mua mấy cuốn sách cầm tay chỉ việc của Ông Văn Thông rồi cứ thế làm theo cả Access lẫn Excel (hồi đó dùng Office 97). Trong khi làm theo thì tôi đọc, cố hiểu các dòng code đó làm gì và cố sửa để chúng theo ý của mình (vì tôi cũng đâu bắt chước 100%). Bởi vậy, tôi có sản phẩm trước khi tôi biết lý thuyết là thế.
 
Lần chỉnh sửa cuối:
Upvote 0
Thay vì cứ ngồi học mớ chữ nghĩa đó thì tôi viết code. Mà thời chưa có internet thì đâu có dễ mà tìm chỉ dẫn. Tôi mua mấy cuốn sách cầm tay chỉ việc của Ông Văn Thông rồi cứ thế làm theo cả Access lẫn Excel (hồi đó dùng Office 97). Trong khi làm theo thì tôi đọc, cố hiểu các dòng code đó làm gì và cố sửa để chúng theo ý của mình (vì tôi cũng đâu bắt chước 100%). Bởi vậy, tôi có sản phẩm trước khi tôi biết lý thuyết là thế.
Tôi cũng là “fan” của Ông Văn Thông thời bắt đầu chập chững tự học.
 
Upvote 0
Upvote 0
Bạn ơi, mình cũng đang quan tâm mảng ứng dụng csdl để sử dụng excel được hiệu quả hơn, b cho mình hỏi chút là bạn đang tham khảo nguồn này ở đâu ko?
"Đọc các bài viết về CSDL, về Python hàng ngày".
Cảm ơn bạn
À ^^ Cái đọc bài viết về CSDL với Python ấy anh . Em mới viết được ra thôi chứ đã đọc được bài nào đâu :))). Em là một "đứa" có nhiều ý tưởng với hay hỏi nên đi trả lời các câu hỏi đó cũng khá mệt rồi ấy anh , nên cũng chưa có thời gian để đọc bài viết CSDL với Python hi . Còn về cái VBA thì em hay đọc bài viết của anh (batman1 , siwtom) . Hình như cùng một người hay sao ấy anh nhưng mà em thấy đây là một nguồn học liệu rất tốt . Em học qua cách mọi người thảo luận , cách mọi người trên này đặt vấn đề , tư duy thôi chứ copy code thì chưa :))) (trong tương lai chắc có @@) . Tuy chưa đọc được bài nào về python với CSDL nhưng mà ở trong mục tìm kiếm nâng cao em thấy có các mục về cái đó ấy anh . Đây là cái suy nghĩ của em hồi em viết ra mục tiêu ^^ . Với em cũng là một đứa mới vào , mọi thứ vẫn đang mơ hồ mà anh hỏi em thì em thực hơi ngại với các anh chị trên này :))))
1652261796465.png
 
Lần chỉnh sửa cuối:
Upvote 0

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

Back
Top Bottom