Chèn dòng trong Excel theo dữ liệu cho trước

  • Thread starter nguyenthanhhai
  • Ngày gửi
N

nguyenthanhhai

Guest
12/10/05
2
0
0
45
Hungary, Budapest
Chào các bác,
Tôi đang thử làm dữ liệu cho cty, có 1 bài toán sau, không biết làm thế nào.

Trong Sheet1

ItemNo Piece
AAA 3
BB 2
...

Tôi muốn là ở Sheet2 sẽ có được dữ liệu thế này:
ItemNo Piece
AAA 1
AAA 1
AAA 1
BB 1
BB 1

Bác nào đã gặp qua bài toán này xin chỉ giúp!

Hải
 
Khóa học Quản trị dòng tiền
W

workman

Guest
22/7/05
372
2
0
51
Ho Chi Minh
nguyenthanhhai nói:
Chào các bác,
Tôi đang thử làm dữ liệu cho cty, có 1 bài toán sau, không biết làm thế nào.

Trong Sheet1

ItemNo Piece
AAA 3
BB 2
...

Tôi muốn là ở Sheet2 sẽ có được dữ liệu thế này:
ItemNo Piece
AAA 1
AAA 1
AAA 1
BB 1
BB 1

Bác nào đã gặp qua bài toán này xin chỉ giúp!

Hải

Hừ hừ,

Nếu yêu cầu của bạn là đi từ sheet2 sang sheet1 thì dễ hơn, không cần phải lập trình. CÒn yêu cầu của bạn thì chỉ có thể làm được bằng VBA. Làm tạm như thế này nhé:

sub phanchiasheet()

Dim i, j

i = 2

Sheets("sheet2").Activate
Range("A2").Select

Do While Sheets("sheet1").Range("A" + CStr(i)) <> ""
If Sheets("sheet1").Range("B" + CStr(i)) >= 1 Then
For j = 1 To Sheets("sheet1").Range("B" + CStr(i))
ActiveCell.Formula = Sheets("sheet1").Cells(i, 1)
ActiveCell.Offset(0, 1).Formula = 1
ActiveCell.Offset(1, 0).Select
Next j
Else
ActiveCell.Offset(1, 0).Select
End If
i = i + 1
Loop

End Sub

Thú thực tôi chưa gặp phải bài toán này bao giờ. Ý tưởng hơi lạ và tôi cũng không hiểu rõ mục đích của bạn dùng thuật toán này để làm gì.
 
adam_tran

adam_tran

Guitar inspiration
17/5/05
1,374
36
48
46
Goooogle
Có nghĩa là bài toán đi từ số tổng hợp sang số chi tiết, có thể ứng dụng để làm phiếu lương, phiếu quà tặng, phiếu nhập xuất... chẳng hạn. Với yêu cầu đơn giản như trên thì dùng VBA rất tiện, anh Workman đã đưa ra giải thuật rồi đấy.
Nếu không dùng VBA thì có thể dùng Vlookup, match và Index như file đính kèm... có điều rối rắm!
 

Đính kèm

  • Adam.rar
    1.8 KB · Lượt xem: 181
N

nguyenthanhhai

Guest
12/10/05
2
0
0
45
Hungary, Budapest
Cảm ơn các bác,

Tôi dùng các này để in mấy cái label. Vaasn ddeef là dữ liệu mình nhận được ở dạng tổng hợp, trong khi chương trình in label thì chỉ nhận database theo dữ liệu từng dòng nên mới phải nghĩ cách chia ra như vậy.

Tôi đã dùng được cái script VBA, cảm ơn bác nhiều.

Hải
 
Sửa lần cuối:
adam_tran

adam_tran

Guitar inspiration
17/5/05
1,374
36
48
46
Goooogle
ForestC nói:
Tôi thấy rằng cả 2 giải pháp mà anh Workman và anh Adam đưa ra đều tuyệt vời. Cách anh Adam dùng hàm tuy có phức tạp 1 chút (như lời anh nói) nhưng cũng rất ấn tượng!
Ặc, phức tạp với người chưa sử dụng Excel nhiều, chứ cỡ MaiKa thì ... chuyện nhỏ.
Tớ vẫn prefer VBA hơn, trong trường hợp này dùng VBA vẫn gọn hơn! Công thức đưa ra xem như một ví dụ ứng dụng (trong rất nhiều ứng dụng kết hợp) của các hàm Lookup and Reference. Vấn đề này chị handung107 là số 1! Các bạn nên tìm và đọc thật kỹ bài viết về các ứng dụng thực tế của các hàm trên và cách sử dụng Name của chị handung107! Trên cả tuyệt vời!:biggrin:
 
T

truongcmu

Guest
13/9/10
2
0
0
36
Cà Mau
Sao khi kéo xuống chỉ được một tí là hết tác dụng vậy SẾP?
 
T

truongcmu

Guest
13/9/10
2
0
0
36
Cà Mau
Help me!
Trong file gửi kèm, tôi muốn chúng lặp lại như 3 dòng đầu mà không biết phải làm sao? Giúp tôi với!
 

Đính kèm

  • TD.xls
    30.5 KB · Lượt xem: 133
S

SA_DQ

Thành viên Cố vấn - Webketoan Mentors
29/6/05
568
99
28
66
HCM city
Dùng macro & chèn từ tận cùng trở lên

Mã:
Option Explicit
[B]Sub Them3Dòng()[/B]
 Dim Cls  As Range, Rws As Long, Ma As String, Jj As Byte, Lan As Byte
 
 Set Cls = [a65500].End(xlUp):                        Rws = Cls.Row - 1
 Application.ScreenUpdating = False
 Do
   
   Ma = Cls.Value
   Cls.Resize(2).EntireRow.Insert
   Cells(Rws + 1, "A").Resize(3).Value = Ma
   For Jj = 1 To 3
      Cells(Rws + Jj, "B").Value = Ma & CStr(Jj)
   Next Jj
   Set Cls = Cells(Rws, "A"):                         Rws = Cls.Row - 1
GPE:   If Rws < 9 Then Exit Do  '<=|'
 Loop
[B]End Sub[/B]

Lưu í: Mình chỉ cho chèn đến dòng 10; các dòng trên nó bạn đã chèn

Hãy xem trong file kèm theo
 

Đính kèm

  • GPEf.rar
    21.5 KB · Lượt xem: 117

Xem nhiều

Webketoan Zalo OA