- Tham gia
- 25/9/09
- Bài viết
- 5,729
- Được thích
- 8,854
- Giới tính
- Nam
- Nghề nghiệp
- Giáo viên
- Thành thật xin lỗi, không biết có phải lúc đó buồn ngủ quá không nữa. bạn xem lại file đính kèm ở bài trên (#25)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
- Trong cách không gộp ô, dữ liệu thu được là từ công thức, nghĩa là khi dữ liệu nguồn thay đổi thì dữ liệu ở file tổng hợp cũng tự động cập nhật theo, còn với file của bạn (có gộp ô) thì dữ liệu thu được không phải là từ công thức mà là copy dữ liệu ở file nguồn rồi dán giá trị sang file tổng hợp, do đó nó sẽ không thể tự động cập nhật giá trị được.
- "Ở đây, mình vẫn còn vướng mắc 2 vấn đề":
1 - Nếu chọn ngày có file tương ứng (10/11/2009) thì không thấy ngày đã chọn trên Calendar.
2 - Mình đã nói rõ: Bạn cứ nhập text bất kỳ (VD: abc), bạn sẽ thấy lỗi ở dòng lấy tên file dữ liệu. Mình đã xử lý anh chàng này (hơi "củ chuối" một xíu): Vào Module1, thay đổi Sub sau:
PHP:
Sub Copy_Data_TC1() 'Sao chep du lieu cho S3'
Dim Ngay, FName As String
Dim FileS As FileSearch
Ngay = [B11]
If Ngay = "" Then
MsgBox "Phai chon mot ngay nao do.", vbOKOnly, "Thong bao loi"
[C11:J11].ClearContents
Exit Sub
End If
On Error GoTo Day_Error
FName = Right("0" & Year(Ngay) Mod 100, 2) & " " & Month(Ngay) & " " & Day(Ngay) & ".xls"
Set FileS = Application.FileSearch
With FileS
.NewSearch
.Filename = FName
.LookIn = ThisWorkbook.Path & "\CSDL"
.SearchSubFolders = False
.Execute
End With
If FileS.FoundFiles.Count = 0 Then
MsgBox "Khong ton tai file du lieu tuong ung.", vbOKOnly, "Thong bao loi"
[C11:J11].ClearContents
Exit Sub
Else
FName = Replace(FName, ThisWorkbook.Path & "\CSDL\", "")
[C11].Formula = "='" & ThisWorkbook.Path & "\CSDL\[" & FName & "]BC1'!D14"
[C11].Copy Destination:=[D11:J11]
Exit Sub
End If
Day_Error: MsgBox "Nhap ngay khong hop le.", vbOKOnly, "Thong bao loi": [B11:J11].ClearContents: Exit Sub
End Sub
Lần chỉnh sửa cuối: