Lấy tổng số liệu 24 giờ trong File .txt gán vào File Excel (2 người xem)

Liên hệ QC

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

phulien1902

GPE - My love
Tham gia
6/7/13
Bài viết
3,543
Được thích
4,425
Xin chào các thành viên của diễn đàn!
Tôi có 1 khó khăn trong công việc, mong nhận được sự giúp đỡ của mọi người.
- Ngày 1 lấy tổng giá trị trong khung màu đỏ,từ giờ 1 đến giờ 24
Tiếp đến ngày 2,3……..( Từ giờ 1 đến giờ 24).
Xin trân trọng cảm ơn!
 
Lần chỉnh sửa cuối:
Cháu cảm ơn chú Sealand!
Cháu rất ngại khi phải nói ra điiều này "lại lỗi" như ngày hôm qua, nhưng chắc máy tính ở nhà cháu chạy Code của chú không bị lỗi. Có điều cháu không hiểu tại sao cùng 1 Code mà máy ở cơ quan khi chạy bị lỗi, còn máy tính ở nhà thì không. Mặc dù cả 2 máy đều cài WindowXP và Office 2003.
 
Upvote 0
Cháu cảm ơn chú Sealand!
Cháu rất ngại khi phải nói ra điiều này "lại lỗi" như ngày hôm qua, nhưng chắc máy tính ở nhà cháu chạy Code của chú không bị lỗi. Có điều cháu không hiểu tại sao cùng 1 Code mà máy ở cơ quan khi chạy bị lỗi, còn máy tính ở nhà thì không. Mặc dù cả 2 máy đều cài WindowXP và Office 2003.

Phulien 1902 nên kiểm tra lại các Setting trong Control Panel cũng như Excel xem sao? Code của mình không dùng bất cứ thư viện nào khác của MS Office mà xung đột tên file xảy ra thường là do các thiết lập ngày tháng v.v... trùng với dấu phân cách thư mục.
Lưu ý mình test tất cả các code của Kuldokk đều tốt không có lỗi mà của bạn lại có lỗi cũng là vấn đề này. Với người sử dụng Office phục vụ cho công việc nên để các thiết lập quy chuẩn tránh xảy ra những lỗi không đáng có.
 
Lần chỉnh sửa cuối:
Upvote 0
Chủ topic thử code này xem
PHP:
Sub ImportTextToExcel()
Dim StartStr, EndStr, n, x
Dim FileToOpen, ItemsOfLine, TextItem, TemVal, TemRes
Dim LineNum&, TotalLines, Res(1 To 34, 1 To 1)
StartStr = """CORR_HOURLY_GRAPH_DATA"""
EndStr = """DAILY_GRAPH_DATA"""
FileToOpen = Application.GetOpenFilename("*.txt, *.txt")
If FileToOpen = False Then End
TotalLines = GetAllData(FileToOpen)
For LineNum = 1 To UBound(TotalLines)
   If TotalLines(LineNum) = StartStr Then
      n = LineNum + 1
      Exit For
   End If
Next
For LineNum = n To UBound(TotalLines)
   If TotalLines(LineNum) = EndStr Then Exit For
   ItemsOfLine = TotalLines(LineNum)
   TextItem = Split(ItemsOfLine, ";")
   TemVal = Val(TextItem(3))
   TemRes = Val(TextItem(9))
   If TemVal < 11 Then
      x = TemVal
      Res(11, 1) = Res(11, 1) + TemRes
   ElseIf TemVal < 21 Then
      x = TemVal + 1
      Res(22, 1) = Res(22, 1) + TemRes
   Else
      x = TemVal + 2
      Res(34, 1) = Res(34, 1) + TemRes
   End If
   Res(x, 1) = Res(x, 1) + TemRes
Next
[C3].Resize(34) = Res
End Sub
Function GetAllData(Path)
Dim TxtSource As Object
With CreateObject("Scripting.FileSystemObject")
   Set TxtSource = .OpenTextFile(Path, 1, , -2)
   GetAllData = Split(TxtSource.ReadAll, vbCrLf)
End With
End Function
 
Upvote 0
Chủ topic thử code này xem
PHP:
Sub ImportTextToExcel()
Dim StartStr, EndStr, n, x
Dim FileToOpen, ItemsOfLine, TextItem, TemVal, TemRes
Dim LineNum&, TotalLines, Res(1 To 34, 1 To 1)
StartStr = """CORR_HOURLY_GRAPH_DATA"""
EndStr = """DAILY_GRAPH_DATA"""
FileToOpen = Application.GetOpenFilename("*.txt, *.txt")
If FileToOpen = False Then End
TotalLines = GetAllData(FileToOpen)
For LineNum = 1 To UBound(TotalLines)
   If TotalLines(LineNum) = StartStr Then
      n = LineNum + 1
      Exit For
   End If
Next
For LineNum = n To UBound(TotalLines)
   If TotalLines(LineNum) = EndStr Then Exit For
   ItemsOfLine = TotalLines(LineNum)
   TextItem = Split(ItemsOfLine, ";")
   TemVal = Val(TextItem(3))
   TemRes = Val(TextItem(9))
   If TemVal < 11 Then
      x = TemVal
      Res(11, 1) = Res(11, 1) + TemRes
   ElseIf TemVal < 21 Then
      x = TemVal + 1
      Res(22, 1) = Res(22, 1) + TemRes
   Else
      x = TemVal + 2
      Res(34, 1) = Res(34, 1) + TemRes
   End If
   Res(x, 1) = Res(x, 1) + TemRes
Next
[C3].Resize(34) = Res
End Sub
Function GetAllData(Path)
Dim TxtSource As Object
With CreateObject("Scripting.FileSystemObject")
   Set TxtSource = .OpenTextFile(Path, 1, , -2)
   GetAllData = Split(TxtSource.ReadAll, vbCrLf)
End With
End Function

Em lại phải nói với anh Quang Hải 1 câu là Code của anh quá tuyệt vời, không còn gì hay hơn nữa. Em xin cảm ơn anh rất nhiều!
 
Upvote 0
To Sealand:
Vừa rồi cháu đã chạy Code của chú tại máy tính nhà thấy rất ngon lành.
Code của bạn Kuldokk cũng vậy.
Cháu sẽ tìm nguyên nhân tại sao lại như vây.
Cuối cùng cháu xin cảm ơn chú Sealand.
Cảm ơn anh Quang Hải và bạn Kuldok .
Cảm ơn tất cả mọi người đã nhiệt tình quan tâm và giúp đỡ tôi vượt qua khó khăn trong công việc của tôi.
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom