Em đang dùng Excel 2003 , và đang gặp phải vấn đề khó cần giúp đỡ .Em có 1 thư mục tên : CSDL chứa các file excel (*.xls) ,em muốn lọc lấy dữ liệu của các file này để xử lý trên 1 file excel mới nhưng làm không được ,em có gởi kèm file .
Một số hướng dẫn em thấy có một số cách dùng mã PHP là dùng như thế nào ? Em nhìn mà như mù đi đêm vậy , nếu có thể xin gởi hướng dẫn kèm hình ảnh
Xin cảm ơn rất nhiều
Em đang dùng Excel 2003 , và đang gặp phải vấn đề khó cần giúp đỡ .Em có 1 thư mục tên : CSDL chứa các file excel (*.xls) ,em muốn lọc lấy dữ liệu của các file này để xử lý trên 1 file excel mới nhưng làm không được ,em có gởi kèm file .
Một số hướng dẫn em thấy có một số cách dùng mã PHP là dùng như thế nào ? Em nhìn mà như mù đi đêm vậy , nếu có thể xin gởi hướng dẫn kèm hình ảnh
Xin cảm ơn rất nhiều
Wa!!!! tuyệt !!!! xin hỏi bạn nếu mình muốn dùng trong file khác thì làm sao ? (xin bạn nói chi tiết dùm , phải copy cái gì , sửa lại cái gì) .xin cám ơn bạn rất nhiều vì nó mà mình mất ngủ 2 ngày (vì không biết dùng hàm gì ? mình ko biết về code PHP đâu) Xin cám ơn bạn rất nhiều
Bạn Nghiaphuc ơi , mình áp dụng công thức tương tự với file khác thì không được vậy
$N$9 : ô nhập ngày dữ liệu
N10:N13 : là vùng xuất kết quả lọc từ file XLS
B2 : Là ô đầu tiên trong các file XLS cần lọc (bắt đầu từ ô này)
sau đó tạo liên kết tới file : ='E:\BFO\Excel\Noidung\[09 11 03.xls]Sheet1'!B2 (ví dụ là vậy đi)
Đổi Sheet1 là sheet tương ứng của file XLS ,nhưng do tên sheet XLS của em có dấu ("Kê tiền" ,rename từ sheet 3) ,nên em thay Sheet1=Sheet3
----vẫn không chạy được ,chương trình tô màu vàng tại dòng này : S1.Range("U8:U23").ClearContents
----Xin giúp đỡ ,cin cám ơn rất nhiều
Bạn Nghiaphuc ơi , mình áp dụng công thức tương tự với file khác thì không được vậy
$N$9 : ô nhập ngày dữ liệu
N10:N13 : là vùng xuất kết quả lọc từ file XLS
B2 : Là ô đầu tiên trong các file XLS cần lọc (bắt đầu từ ô này)
sau đó tạo liên kết tới file : ='E:\BFO\Excel\Noidung\[09 11 03.xls]Sheet1'!B2 (ví dụ là vậy đi)
Đổi Sheet1 là sheet tương ứng của file XLS ,nhưng do tên sheet XLS của em có dấu ("Kê tiền" ,rename từ sheet 3) ,nên em thay Sheet1=Sheet3
----vẫn không chạy được ,chương trình tô màu vàng tại dòng này : S1.Range("U8:U23").ClearContents
----Xin giúp đỡ ,cin cám ơn rất nhiều
Nếu bạn để ý thì tên Sheet ở file Noidung.xls là Sheet1 nhưng trong lệnh VBA (Visual Basic for Application, bạn thường thấy chữ Code PHP, nhưng thực chất đó là Code VBA) mà bạn nhìn thấy lại là S1.Range("N10:N13") hoặc S1.Range("N10") chứ không phải là WorkSheets("Sheet1").Range("N10:N13") hay WorkSheets("Sheet1").Range("N10"). Cũng cần nói thêm trong trường hợp này "Sheet1" là tên trong Excel (Name) còn "S1" là tên trong VBA (CodeName). Sở dĩ mình dùng CodeName mà không dùng Name bởi vì Name thì có thể sử dụng tiếng Việt (tiếng Việt Unicode không thể hiện được trong code VBA), còn CodeName thì không, dùng CodeName thì đỡ rắc rối hơn, bạn có thể đổi tên Sheet trong Excel thoải mái mà không ảnh hưởng đến code VBA.
Bạn làm theo hình này xem có được không nhé.
Còn vấn đề tên Sheet của các file dữ liệu thành phần có tên tiếng Việt có dấu:
sau đó tạo liên kết tới file : ='E:\BFO\Excel\Noidung\[09 11 03.xls]Sheet1'!B2 (ví dụ là vậy đi)
Đổi Sheet1 là sheet tương ứng của file XLS ,nhưng do tên sheet XLS của em có dấu ("Kê tiền" ,rename từ sheet 3) ,nên em thay Sheet1=Sheet3
em làm đúng như anh nhưng cũng không làm thay đổi vấn đề , em gởi kèm anh những hình ảnh miêu tả sự thay đổi ,nhờ anh xem qua có gì sai sót mong anh chỉnh lại dùm ,xin cám ơn
Em lựa chọn : Tiếng việt và dùng Merge Cells (vì em dễ bố trí nội dung ,giống như anh đang viết 1 giao diện chương trình bằng . . .excel ấy mà - xin lỗi vì em ko được học lập trình VBA nên em viết thủ công bằng các hàm trong excel vậy)
Em đã làm giống anh chỉ và thành công nhưng có điều các file XLS phải cùng nằm chung thư mục với file KLT.xls , em muốn file XLS nằm trong folder : CSDL , còn folder này và file KLT.xls sẽ nằm cùng 1 thư mục .Vậy em sửa như thế nào đây
Cách này rất hay nếu ta ứng dụng để kiểm tra bất kì này này đó thì quả là tuyệt .nhưng trong TH của em thì khác , Giá trị kê tiền từng ngày được người kê (người tạo ra file XLS ấy) tạo ra và đưa cho em cùng với tiền .Nhiệm vụ của em là nhận tiền và kê lại xem có đúng ko ,nếu sót thì ở đâu .Nhưng do muốn anh dễ hiểu em đã đơn giản hóa vấn đề lại ,mong anh thông cảm
Em đã làm giống anh chỉ và thành công nhưng có điều các file XLS phải cùng nằm chung thư mục với file KLT.xls , em muốn file XLS nằm trong folder : CSDL , còn folder này và file KLT.xls sẽ nằm cùng 1 thư mục .Vậy em sửa như thế nào đây
Tất nhiên là mình không hề áp đặt, và mình cũng đã nêu ra cách xử lý trong tình huống này rồi, nhưng như bạn thấy, nếu dùng Merge Cells thì code sẽ dài hơn, đúng không?
Thực ra thì mình cũng không được học qua 1 lớp VBA nào, kể cả VB cũng vậy. Mình bắt đầu với VBA bằng cách sử dụng chức năng Record Macro của Excel, sau đó xem và chỉnh lại code trong VBE, có thể sử dụng chức năng Help trong VBE cũng rất tốt. Thú thật là từ khi đăng ký thành viên GPE, mình học hỏi được rất nhiều.
Thực ra thì mình cũng không được học qua 1 lớp VBA nào, kể cả VB cũng vậy. Mình bắt đầu với VBA bằng cách sử dụng chức năng Record Macro của Excel, sau đó xem và chỉnh lại code trong VBE, có thể sử dụng chức năng Help trong VBE cũng rất tốt. Thú thật là từ khi đăng ký thành viên GPE, mình học hỏi được rất nhiều.
chức năng Record Macro của Excel bắt đầu học sử dụng ra sao ? Ví dụ : em muốn nhập ngày vào ô A1 bằng chức năng Calender thì áp dụng như thế nào (bằng cái record macro ấy) .... thật thú vị
chức năng Record Macro của Excel bắt đầu học sử dụng ra sao ? Ví dụ : em muốn nhập ngày vào ô A1 bằng chức năng Calender thì áp dụng như thế nào (bằng cái record macro ấy) .... thật thú vị
Hay quá, tớ cũng đang cần một code như vậy bạn Nghiaphuc giúp tớ với. Tớ có 1 Folder "Don hang" gồm các đơn hàng số 001;002;003;... tớ muốn nó tự động update dữ liệu trong các đơn hàng đó vào một File theo dõi tổng hợp "Master" với các thông tin giống như trong đơn hàng.
Bạn giúp tớ với nhé, cảm ơn bạn nhiều!
Tớ có 1 Folder "Don hang" gồm các đơn hàng số 001;002;003;... tớ muốn nó tự động update dữ liệu trong các đơn hàng đó vào một File theo dõi tổng hợp "Master" với các thông tin giống như trong đơn hàng.
Bạn giúp tớ với nhé, cảm ơn bạn nhiều!
Thường trước nay mình chỉ sử dụng 1 workBook để chứa hầm bà lằng các dữ liệu phát sinh;
& chỉ 1 WorkBook nữa, nếu cần thiét, để lưu những số liếu không biến đổi trong thới gian dài;
(Đến đây là phải cụ thể, mà cụ thể e rằng không đúng nghề của bạn. Muốn tiếp ta phải xét 1 trường hợp cụ thể nào đó chung nhất - do tác giả topic đưa ra; nhưng tiếc là chưa có)
. . . .
Xin cám ơn anh Nghiaphuc rất nhiều , em đã áp dụng thành công rồi .trong cách anh hướng dẫn học VBA bằng marco em làm thử (VD : Cột A là số nguyên , cột B = Cột A * 2) sau đó em mở Edit code lên thì nhìn vào cũng chẳng hiểu gì hết .Cũng như trong ví dụ của em mà anh đã hướng dẫn (nhập ngày bằng calender ấy) thì bí mật cũng ở chổ làm cách nào để tìm và dùng dòng lệnh : Selection.LinkedCell = "A1"
Em từng học qua lập trình Pascal rồi nhưng ko ứng dụng được ,Anh có thể giúp em nhập môn này được ko ? Hay chỉ giúp em sách nào có thể tự học được vì em ko có nhiều thời gian .
Sẵn đây anh cho em hỏi thêm , để viết 1 chương trình quản lý kinh doanh (ở dạng giao diện hộp thoại) thì em nên đầu tư và học VBA hay Access
Vì chương trình ko lớn , mà mua thì ko đủ kinh phí , nên em chọn giải pháp : "Viết các hàm chuyên dùng rồi đóng gói chúng dưới dạng Add-in" ,Không biết anh có hứng thú với đề tài này ko !?
Thường trước nay mình chỉ sử dụng 1 workBook để chứa hầm bà lằng các dữ liệu phát sinh;
& chỉ 1 WorkBook nữa, nếu cần thiét, để lưu những số liếu không biến đổi trong thới gian dài;
(Đến đây là phải cụ thể, mà cụ thể e rằng không đúng nghề của bạn. Muốn tiếp ta phải xét 1 trường hợp cụ thể nào đó chung nhất - do tác giả topic đưa ra; nhưng tiếc là chưa có)
. . . .
Bạn Hyén7 ơi ! Bạn có thể nói rõ hơn ý tưởng của bạn ko ? Mình nghĩ bạn nói như thế là muốn chia sẽ kinh nghiệm của mình với mọi người thì đây sẽ là một cơ hội tốt cho những người như tôi vậy !
Anh Nghiaphuc ơi , có một vấn đề lại phát sinh rồi .
File KLT.xls được đặt password chỉ cho phép nhập giá trị vào ô U7 ,nhưng khi đó thì ô kết quả U8:Y23 không thể cập nhật được giá trị ,vậy mình sửa code như thế nào đây anh! (Đặt Password tránh việc công thức bị mất hoặc thay đổi) .Xin anh giúp dùm
Anh Nghiaphuc ơi , có một vấn đề lại phát sinh rồi .
File KLT.xls được đặt password chỉ cho phép nhập giá trị vào ô U7 ,nhưng khi đó thì ô kết quả U8:Y23 không thể cập nhật được giá trị ,vậy mình sửa code như thế nào đây anh! (Đặt Password tránh việc công thức bị mất hoặc thay đổi) .Xin anh giúp dùm
Bây giờ mình có thể sử dụng KLT.xls một cách thuận tiện ,xin cám ơn Anh .
Anh Nghiaphuc ơi , em áp dùng cho file khác ko làm được , File KLT.xls có vùng kết quả ở dạng cột (U8:Y23) còn trong trường hợp này File BC1.xls có vùng kết quả ở dạng hàng (F11:AR11) ,trong vùng kết quả có nhiều ô mà các ô này lại có mergi cell ko bằng nhau nữa .Xin anh giúp dùm ,xin cám ơn
Mình đã làm theo yêu cầu mới của bạn tại Sheet "Báo cáo TC" tương ứng với dữ liệu tại Sheet "BC" theo hướng: mở file dữ liệu => Copy => đóng file dữ liệu. Tuy nhiên mình vẫn thấy không ưa cách gộp ô của bạn. Hẳn bạn cũng thấy trường hợp gộp ô lại thì xử lý khó chịu hơn và dữ liệu được sao chép chỉ là giá trị, nó không tự động cập nhật khi file dữ liệu nguồn thay đổi.
Mình cũng đã sửa lại cấu trúc các Sheet "Báo cáo TC" và "BC" theo hướng bỏ gộp ô (tại các Sheet tương ứng là "Báo cáo TC 1" và "BC1"), mình gộp các Sheet này vào file KLT.xls luôn, nếu bạn muốn đưa sang file khác thì chỉ cần Move or Copy sheet là xong.
Ở đây, mình vẫn còn vướng mắc 2 vấn đề: 1 là Calendar không hiển thị như ý muốn và 2 là ở ô nhập ngày tháng, nếu nhập dữ liệu không phải là Date thì Macro không chạy được. Vấn đề đó xử lý sau. Trước mắt, bạn tham khảo ở file đính kèm này đã nhé.
Chúc thành công!
Anh Nghiaphuc ơi, anh gởi nhầm file cho em rồi , chỉ có 1 file nhập ngày bằng giao diện Calender thôi (cái này gởi rồi) ,xin gởi lại dùm em nha ,cám ơn nhiều
"...trường hợp gộp ô lại thì xử lý khó chịu hơn và dữ liệu được sao chép chỉ là giá trị, nó không tự động cập nhật khi file dữ liệu nguồn thay đổi..."anh có thể nói rõ hơn ý này ko ? có phải dữ liệu sao chép ngoài giá trị ra rồi còn gì nữa ko , ko tự động cập nhật khi dữ liệu nguồn thay đổi - là thay đổi gì
". . .Ở đây, mình vẫn còn vướng mắc 2 vấn đề . ."Anh có thể nói rõ hơn ko , em chưa hiểu ý anh muốn nói gì
". . . Hẳn bạn cũng thấy trường hợp gộp ô lại thì xử lý khó chịu hơn . ." Em đang có 1 ý tưởng mới giúp khắc phục điều này ,xin anh chờ trong giấy lát