Bài toán về nhập dữ liệu từ file khác

Liên hệ QC

remisheva

Thành viên mới
Tham gia
21/4/08
Bài viết
5
Được thích
0
Yêu cầu: Viết macro để nhập số liệu vào 4 cột trong file PCDB Review từ dữ liệu trong file PCDBCostScope

File PCDB Review


  • Mỗi cột là dữ liệu về một gói hàng, được đánh mã số riêng (mã số trong F column).
  • Mỗi gói hàng bao gồm nhiều thiết bị ( cụ thể được đề cập trong file PCDBCostScope)
  • Mỗi gói hàng( mỗi mã số ở cột F) có 2 giá: Base cost ( N column , O column) và Additional Cost. Yêu cầu của bài toán là nhập các giá trị này từ dữ liêu trong file PCDBCostScope

Phương pháp nhập dữ liệu:
Cách nhập dữ liệu cho Base Cost và Additional Cost tương tự như nhau. Ở đây mình lấy ví dụ về cách nhập dữ liệu cho Base Cost.

Ví dụ ở gói hàng ở hàng 37:

  • Base Cost ( ô N37)
  • Currency ( loại tiền tệ , ô O37)
  • Mã số 41103 (-ô F37)

Để nhập dữ liệu từ file PCDBCostScope, dùng filter với song song 2 criteria như sau:

  • Criteria= base ( cho H column)
  • Criteria= 41103 cho E column (mã sỗ cho gói hàng, lấy từ ô F37 )

Kết quả cùa filter này như sau:
E____ H___ O____ R___ Q____
41103 Base 29,400 kEUR 29,400
41103 Base 898___ kEUR 898
41103 Base 2,465_ kEUR 2465
41003 Base 51,352 kMXN 2587
41003 Base 872___ kPLN 207
Column O là giá gốc ( Original Value)
Column R là loại tiền gốc ( Currency)
Column Q là giá theo kEUR


Giá trị của Base Cost, Currency ( ô N37 và O37 trong file PCDB Review) được tính như sau:
Nếu toàn bộ cột R giống nhau ( cùng 1 loại currency)

  • Base cost := SUM(“O:O”)
  • Currency:= loại tiền tệ ở cột R
Else

  • Base cost := SUM(“Q:Q”)
  • [FONT=&quot] Currency:= kEUR[/FONT]

Các cao thủ giúp với ! Cám ơn nhiều !!!
 
Lần chỉnh sửa cuối:
Dưới đây là đoạn code mà mình đang làm , vẫn còn nhiều chỗ chưa rõ , vừa viết code vừa học.
Các cao thủ giúp mình bài toán này với !!
Cám ơn nhiều !!!

Mã:
Sub TY_export()
Dim base As Range
Dim rgn1 As Range
Dim cll1 As Object
Dim cell2 As Object
Dim sum As Integer
Dim curren As String


Set base = Range("N127:N841")
For Each cll1 In base
    Set sum = 0
    Windows("PCDBCostScope1.xls").Activate
    Selection.AutoFilter Field:=8, Criteria1:="Base", Operator:=xlAnd
    Selection.AutoFilter Field:=5, Criteria1:=cll1.Offset(0, -8)
    
    Set rgn1 = Intersect(.Range("O:O").SpecialCells(xlCellTypeVisible), .UsedRange)
    For Each cll2 In rgn1
        
        sum1 = sum("O:O")
        sum2 = sum("Q:Q")
       
    'if all cells in colum P the same .... choose final row , if it's equal to the above, use for statement
    '    sum = sum 1     ... use" Exit next" if anything not much..... On Error Resume Next
    '  curren= cll2.offset(0,1) (column P)
    'else
    '    sum = sum 2
    '    curren= kEU
     Next
     cell1.Value = sum
     cell1.Offset(0, 1) = curren
     Next
     
     
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom