Tạo FIle tự điền giá trị Vào cell theo hàng (1 người xem)

Liên hệ QC

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

phuongloc_159

Thành viên mới
Tham gia
20/5/09
Bài viết
5
Được thích
0
Chào các anh/chị !

Em đang gặp một vấn đề rắc rối với EXCELL, mong anh chị giúp đỡ.

Tình hình là em có một bảng tính gồm 2 cột là Từ và Đến
Bây giờ em muốn tự động điền các giá trị nằm trong khoảng từ và đến ra thành một dòng.
VD:A2(TỪ)= 123 , B2(ĐẾN)= 125
EM MUỐN TỰ ĐỘNG ĐIỀN GIÁ TRỊ CÀO CÁC CELL C2=123, D2=124, E2=125 THÌ PHẢI LÀM SAO

Mong các cao thủ giúp cho em.
 
Chào các anh/chị !

Em đang gặp một vấn đề rắc rối với EXCELL, mong anh chị giúp đỡ.

Tình hình là em có một bảng tính gồm 2 cột là Từ và Đến
Bây giờ em muốn tự động điền các giá trị nằm trong khoảng từ và đến ra thành một dòng.
VD:A2(TỪ)= 123 , B2(ĐẾN)= 125
EM MUỐN TỰ ĐỘNG ĐIỀN GIÁ TRỊ CÀO CÁC CELL C2=123, D2=124, E2=125 THÌ PHẢI LÀM SAO

Mong các cao thủ giúp cho em.
Nếu A2(TỪ)=1 và B2(ĐẾN)=300 thì điền thế nào
- Cho file lên đây
- Nói rõ độ chênh lệch giữa TỪ và ĐẾN tối đa = bao nhiêu?
- Muốn dùng công thức hay lập trình VBA?
 
Upvote 0
Nếu A2(TỪ)=1 và B2(ĐẾN)=300 thì điền thế nào
- Cho file lên đây
- Nói rõ độ chênh lệch giữa TỪ và ĐẾN tối đa = bao nhiêu?
- Muốn dùng công thức hay lập trình VBA?


Trước hết em cảm ơn anh rất nhiều đã nhận lời giúp em.

Hiện tại độ chênh lệch giữa từ và đến em đang làm là 50 ạh.

Em đã dùng công thức để giải quyết,nhưng làm rất tồn thời gian.
VÌ vậy em muốn nhờ anh giải bài toán bằng VBA.
Em cảm ơn anh!
 

File đính kèm

Upvote 0
Trước hết em cảm ơn anh rất nhiều đã nhận lời giúp em.

Hiện tại độ chênh lệch giữa từ và đến em đang làm là 50 ạh.

Em đã dùng công thức để giải quyết,nhưng làm rất tồn thời gian.
VÌ vậy em muốn nhờ anh giải bài toán bằng VBA.
Em cảm ơn anh!
Chạy thử code này xem
Mã:
Public Sub TuDen()
    Dim Vung, I, J, Mg(), iMax
        Vung = Range([b6], [b10000].End(xlUp)).Resize(, 3).Value
        iMax = Application.WorksheetFunction.Max(Range([d6], [d10000].End(xlUp)))
        ReDim Mg(1 To UBound(Vung), 1 To iMax)
            For I = 1 To UBound(Vung)
                For J = 0 To Vung(I, 3) - 1
                    Mg(I, J + 1) = Vung(I, 1) + J
                Next J
            Next I
    [f6].CurrentRegion.ClearContents
    [f6].Resize(UBound(Vung), iMax) = Mg
End Sub
Thân
 
Upvote 0
Trước hết em cảm ơn anh rất nhiều đã nhận lời giúp em.

Hiện tại độ chênh lệch giữa từ và đến em đang làm là 50 ạh.

Em đã dùng công thức để giải quyết,nhưng làm rất tồn thời gian.
VÌ vậy em muốn nhờ anh giải bài toán bằng VBA.
Em cảm ơn anh!
Tạm làm vầy đi
PHP:
Private Sub AutoOrderNum(StartNum As Long, EndNum As Long, Target As Range)
  Target.Resize(, EndNum - StartNum + 1).Value = _
  Evaluate("COLUMN(1:1)+" & StartNum - 1)
End Sub
PHP:
Sub Main()
  Dim Clls As Range
  For Each Clls In Range([B6], [B65536].End(xlUp))
    AutoOrderNum Clls.Value, Clls.Offset(, 1).Value, Clls.Offset(, 4)
  Next
End Sub
 

File đính kèm

Upvote 0
Xài tạm macro sự kiện này ở trang tính nha

PHP:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
 On Error Resume Next
 
 If Not Intersect(Target, Range("C6:C999")) Is Nothing Then
    Dim jJ As Double, Timer_ As Double, Num As Double
    Timer_ = Timer
    With Target
        Num = .Offset(, -1).Value:              .Offset(, 3).Value = Num
        .Offset(, 4).Value = 1 + Num
        .Offset(, 1).Value = .Value - Num + 1
        .Offset(, 3).Resize(, 2).AutoFill _
            Destination:=.Offset(, 3).Resize(, .Offset(, 1).Value), Type:=xlFillDefault
    End With
    [iu5].End(xlToLeft).Offset(, 1).Value = Timer - Timer_
 End If
End Sub
 
Upvote 0

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

Back
Top Bottom