Giúp em tự động chèn dòng trong excel

  • Thread starter mit1301
  • Ngày gửi
M

mit1301

Guest
9/9/08
1
0
0
TPHCM
Xin chào mọi người,mọi người có thể chỉ giùm em bài này với ạ...
Giả sử em có 3 cột:A, B,C. Cột C bằng cột A chia cho B.

Cho em hỏi có cách naò để excel tự động chèn thêm nguyên một dòng khi A chia B không phải là số nguyên và cột B của dòng chèn thêm sẽ bằng số dư của cột A chia cho cột B.
Mong mọi người giúp đỡ.
Em cám ơn mọi người nhiều.
 
Sửa lần cuối:
Khóa học Quản trị dòng tiền
B

Bình_OverAC

Over Abnormal / Crazy
14/5/04
846
10
18
42
Nha Trang
Về mặt bảng tính, Excel chỉ tác động đến giá trị các con số bằng các công thức chứ không tác động tới các đói tượng khác, và chèn dòng, cột như bạn đề cập là một ví dụ. Những thứ như vậy cần được thực hiện bằng công cụ lập trình của Excel (Macro). Bạn thử tìm hiểu thêm vấn đề này ở trang web www.giaiphapexcel.com

Tôi nghĩ rằng vấn đề của bạn có thể không cần dùng tới Macro, hãy gởi đính kèm và thích công việc của bạn, mọi người sẽ giúp bạn tìm một cách làm phù hợp.

Thân.
 
S

SA_DQ

Thành viên Cố vấn - Webketoan Mentors
29/6/05
568
99
28
66
HCM city
Bạn xài macro sau, xem sao nha

Option Explicit
Sub ThemDong()
On Error Resume Next
Dim lRow As Long, Wf As Long
Dim Rng As Range

lRow = [B65432].End(xlUp).Row * 2
For Wf = 1 To lRow
With Cells(Wf + 1, "C")
If (.Value * 10) Mod 10 > 0 Then
.Offset(1).EntireRow.Insert
Wf = Wf + 1
End If
End With
Next Wf
For Wf = 2 To lRow
With Cells(Wf, "B")
If .Value = "" And .Offset(1) <> "" Then
.Value = .Offset(-1, -1) / .Offset(-1) - _
Int(.Offset(-1, -1) / .Offset(-1))
End If
End With
Next Wf
End Sub
 
HongViet

HongViet

Cao cấp
10/11/05
286
10
18
Đà nẵng
Rút gọn hơn, nhằm tăng tốc

Option Explicit
Sub AddRowsFor()
On Error Resume Next
Dim Jf As Long

Application.ScreenUpdating = False
For Jf = 1 To [B65432].End(xlUp).Row * 2
With Cells(Jf + 1, "C")
If (.Value * 10) Mod 10 > 0 Then
.Offset(1).EntireRow.Insert
.Offset(1, -1) = .Offset(, -2) / .Offset(, -1) - _
Int(.Offset(, -2) / .Offset(, -1))
Jf = Jf + 1
If .Offset(2) = "" Then Exit Sub
End If
End With
Next Jf
End Sub
 
QDuc

QDuc

Cao cấp
3/6/06
254
18
18
Biển khơi
Để không tiếp tục chạy lần thứ hai gây sai lỗi

Option Explicit
Sub AddRowsOnlyOne()
On Error Resume Next
Dim Jf As Long

Application.ScreenUpdating = False
For Jf = 1 To [B65432].End(xlUp).Row * 2
With Cells(Jf + 1, "C")
If (.Value * 10) Mod 10 > 0 And .Offset(1) <> "" Then
.Offset(1).EntireRow.Insert
.Offset(1, -1) = .Offset(, -2) / .Offset(, -1) - _
Int(.Offset(, -2) / .Offset(, -1))
Jf = Jf + 1
If .Offset(2) = "" Then Exit Sub
End If
End With
Next Jf
End Sub
:friend::angel:
 
P

pitfe

Guest
20/9/07
4
0
0
33
vietnam
chen dong tong

chèn dòng tính tổng theo từng loại mặt hàng thì làm sao? (vd: lấy cột MaHang làm chuẩn, sau khi sắp xếp thì chèn dòng tổng cuối mỗi loại mặt hàng). em đang cần cái này lắm,
 
C

chinh2265038

Sơ cấp
Em không cần chèn mà sau khi dùng data -> sort để sắp xếp loại nào vào loại đó rối bôi đen từ cột tiêu đề trở xuống (lưu ý không trộn cột và dòng)
- Vào Data -> subtotal; trong hộp subtotal, ở dòng atchangein: chon cột mã hàng; ở dòng use function chọn lệnh sum nếu tính tổng, count nếu đếm; ở dòng add subtotal to: chọn các chỉ tiêu ở các cột cần cộng theo mã hàng đó: ví dụ: số lượng, trị giá ... rồi ok là tự động các mã được chèn tính tổng; màn hình sẽ xuất hiện cấp của tổng; nháy vào số 1 ở góc trái trên cùng thì chỉ ra tổng toàn bộ; nếu để số 3 vừa ra tổng từng mã và tổng của tất cả các mã
xin chào và chúc thành công
 
P

pitfe

Guest
20/9/07
4
0
0
33
vietnam
Chen dong tong

cách như trên thì không ổn cho bảng data có hơn 1000 dòng, em đã tạo nút lệnh sắp xếp rồi, vậy làm thế nào tạo nút chèn dòng tính tổng cho mỗi loại mặt hàng sau khi đã sxếp . thank anh trước nhé
 
C

chinh2265038

Sơ cấp
Khi đã tạo rồi em cứ chèn đúng mặt hàng vào sau đó kiểm tra lệnh subtotal ở mối dòng cộng tính đến dòng cuối là đúng. đừng chèn vào dòng cuối cùng của mặt hàng thì lệnh sẽ cộng luôn, nếu chèn dòng cuối thì phải sửa lại công thức đến sát dòng tổng . công thức này anh làm thường xuyên và rất chuẩn. Miễn là tên mặt hàng phải đánh giống nhau. nếu còn lăn tăn thì bôi đen rồi vào lại data và remove subtotal rồi subtotal lại là ok
chúc bạn thành công
 
K

kim sang

Guest
12/4/09
5
0
0
Từ Liêm, Hà Nội
Chào các bác! Em mới vào nghề kế toán, kiến thức Excel của em mù mờ lắm. Các bác cho em hỏi: làm thế nào để tạo một box trong excel, trong box đó chứa 1list dòng, cột mà chỉ khi click vào mới hiện list lên cho ta chọn?
 
L

letuanqt

Guest
14/9/10
3
0
1
40
Quang Tri
Còn trường hợp của mình như thế này: Mình có 1 cột (A) các số không liên tục, ví dụ 1,3,4,6,7,8 nếu gặp số không liên tục thì chèn thêm 1 dòng. Cảm ơn
 
TrungLeMinh

TrungLeMinh

Guest
11/4/16
1
0
1
37
Em có file như đính kèm, em muồn copy và paste special -> transpose. Em muốn khi copy thì nó tự động thêm dòng như trong phần kết quả. Mọi người giúp em với, file em nhiều mà làm tay chắc chết.
Tks mọi người nhiều.
 

Đính kèm

  • Yêu cầu.xlsx
    8.8 KB · Lượt xem: 174

Xem nhiều

Webketoan Zalo OA