Điền tên TB tự động theo số lượng (1 người xem)

Liên hệ QC

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

tiendo1988

Thành viên chính thức
Tham gia
6/8/09
Bài viết
82
Được thích
11
Mong các anh/chị/em và các bạn xử lý giúp

Tôi có dữ liệu gồm các các cột A, B, C, D tương ứng: STT, Tên TB, Số Lượng, Giá trị cần điền
VD: Cột Cột B có các TB: A, B, C... tương ứng Cột C: số lượng A - 4, B - 9, C- 6
Cột D giá trị được điền vào: 4 ô đầu tiên D2-D5: A; D6-D14: B....
Khi thay đổi số lượng, hoặc tên TB thì cột D sẽ tự động thay đổi theo.

VD cụ thể trong file đính kèm
Xin chân thành cảm ơn!
 

File đính kèm

Mong các anh/chị/em và các bạn xử lý giúp

Tôi có dữ liệu gồm các các cột A, B, C, D tương ứng: STT, Tên TB, Số Lượng, Giá trị cần điền
VD: Cột Cột B có các TB: A, B, C... tương ứng Cột C: số lượng A - 4, B - 9, C- 6
Cột D giá trị được điền vào: 4 ô đầu tiên D2-D5: A; D6-D14: B....
Khi thay đổi số lượng, hoặc tên TB thì cột D sẽ tự động thay đổi theo.

VD cụ thể trong file đính kèm
Xin chân thành cảm ơn!
Tên TB có trùng không?
 
Upvote 0
Macro của bạn đây & nếu quá chậm với CSDL thực của bạn thì . . . .
PHP:
Sub DienGiaTriTheoSoLuongThietBi()
 Dim Rws As Long:                           Dim Cls As Range

 Rws = [B2].CurrentRegion.Rows.Count
 [d2].Resize(Rws).ClearContents
 For Each Cls In Range([B2], [B2].End(xlDown))
    [D65500].End(xlUp).Offset(1).Resize(Cls.Offset(, 1).Value).Value = Cls.Value
 Next Cls
End Sub
tìm cách #.
 
Upvote 0
Macro của bạn đây & nếu quá chậm với CSDL thực của bạn thì . . . .
PHP:
Sub DienGiaTriTheoSoLuongThietBi()
 Dim Rws As Long:                           Dim Cls As Range

 Rws = [B2].CurrentRegion.Rows.Count
 [d2].Resize(Rws).ClearContents
 For Each Cls In Range([B2], [B2].End(xlDown))
    [D65500].End(xlUp).Offset(1).Resize(Cls.Offset(, 1).Value).Value = Cls.Value
 Next Cls
End Sub
tìm cách #.
Ké thêm "cách #"
PHP:
Sub GPE()
Dim sArr(), dArr(1 To 50000, 1 To 1), I As Long, J As Long, K As Long, Rws As Long, Num As Long
sArr = Range("B2", Range("B2").End(xlDown)).Resize(, 2).Value
Rws = UBound(sArr)
For I = 1 To Rws
    Num = sArr(I, 2)
    For J = 1 To Num
        K = K + 1: dArr(K, 1) = sArr(I, 1)
    Next J
Next I
Range("D2").Resize(K) = dArr
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom