Lấy dữ liệu theo điều kiện trong nhiều file excel khác nhau

Liên hệ QC

xuandoan

Thành viên mới
Tham gia
29/9/09
Bài viết
3
Được thích
0
Em có một bộ số liệu lượng mưa theo giờ rất lớn, số liệu lại chia nhỏ theo từng file excel riêng, nhiệm vụ của e là mở từng file và tổng hợp lại dữ liệu như sau (việc này là không tưởng vì số liệu lên đến vài chục nghìn file): tại vị trí vĩ độ 35,65 (Cột A) kinh độ 139,75 (Cột B) vào thời điểm đó thì lượng mưa là bao nhiêu? vấn đề là nếu như vị trí của kinh độ và vĩ độ ko thay đổi theo hàng thì e đã tham khảo macro tren GPE và làm được, nhưng tọa độ này thay đổi theo hàng trong từng file excel do dữ liệu ko đầy đủ, giả sử trong file này thì tọa độ 35,65 và 139,75 nằm ở A4589 và B4589 nhưng ở file excel khác nó lại nằm ở vị trí khác.
Các bác giúp e như thế này được không ạ, lấy dữ liệu ở từng file excel riêng theo điều kiện là giá trị cột A mà bằng 35,65 và giá trị cột B bằng 139,75 thì lấy số liệu ở cột C (là số liệu lượng mưa cần tổng hợp) theo hàng tương ứng.

e gửi đính kèm 2 file excel các bác xem giúp hộ e với,
 

File đính kèm

nếu như vị trí của kinh độ và vĩ độ ko thay đổi theo hàng thì e đã tham khảo macro tren GPE và làm được

Đây là phần code e tham khảo trên GPE và làm được cho trường hợp vị trí của dữ liệu cần lấy ko thay đổi



Còn vấn đề e đang gặp phải thì vẫn chưa có cách giải quyết, xin các cao nhân chỉ giúp ạ,
 

File đính kèm

Hiện tại là e đã giải quyết được vấn đề rồi, cám ơn các những bác có quan tâm,
e xin gưi file code đã làm
 

File đính kèm

Hiện tại là e đã giải quyết được vấn đề rồi, cám ơn các những bác có quan tâm,
e xin gưi file code đã làm
Mình không hiểu hết ý của bạn muốn xử lý cái gì, nhưng cách dò tìm file mở lên và xử lý hơi kỳ kỳ
Mình cho bạn code này sẽ chạy nhanh hơn
Hàm này bạn chỉ copy vào thôi
PHP:
Function GetFiles(ByVal StrFolder As String, Search As String, insub As Boolean)
Dim sComm As String, tmpFile As String, Res
   With CreateObject("Scripting.FileSystemObject")
      tmpFile = .GetTempName
      sComm = "DIR " & StrFolder & Search & " /B " _
      & IIf(insub, "/S", vbNullString) & " > " & tmpFile
      CreateObject("Wscript.Shell").Run "cmd /u/c " & sComm, 0, 1
      GetFiles = Split(.OpenTextFile(tmpFile, 1, , -1).ReadAll, vbCrLf)
      Kill tmpFile
   End With
End Function
Chạy Sub Main để xử lý dữ liệu
Chỗ này extension = "*.xls" thay bằng loại định dạng bạn cần
PHP:
Sub Main()
Dim path As String, Files, extension As String, i As Long
extension = "*.xls"
With Application.FileDialog(msoFileDialogFolderPicker)
   If .Show Then
      path = .SelectedItems(1)
      If Right(path, 1) <> "\" Then path = path & "\"
      path = """" & path & """"
      Files = GetFiles(path, extension, True)
      For i = 0 To UBound(Files) - 1
         With Workbooks.Open(Files(i))
            'code xu ly
            .Close
         End With
      Next
   End If
End With
End Sub
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom