Code di chuyển dòng, xóa, chép công thức

  • Thread starter Thread starter TKT
  • Ngày gửi Ngày gửi
Liên hệ QC

TKT

Thành viên tiêu biểu
Tham gia
2/1/08
Bài viết
673
Được thích
1,336
Nghề nghiệp
.....
Xin Code di chuyển dòng, xóa, chép công thức

Nhở anh chị viết code dùm file đính kèm.
Mô tả như sau:
Khi chọn tài khoản ô G3, ô K3 sẽ hiển thị số (ví dụ khi chọn 111 sẽ hiện số 76).
Con số 76 này ám chỉ dòng cộng số phát sinh và dòng số dư cuối kỳ ở dòng 76 và dòng 77. Và sao chép công thức đến dòng 75.

Con số ô K3 luôn thay đổi khi ta chọn một tải khoản khác.

Trường hợp ô K3 hiển thị số 13 (tức dòng dữ liệu đầu tiên của bảng) thì hiện thông báo "Không có phát sinh, bạn chọn TK khác"

Xin Cám ơn.

 

File đính kèm

Lần chỉnh sửa cuối:
Bạn viết như vậy thật sự mình cũng không hiểu nổi ý của bạn là gì? Bạn có thể nó rõ hơn không?
 
Upvote 0
Nhở anh chị viết code dùm file đính kèm.
Mô tả như sau:
Khi chọn tài khoản ô G3, ô K3 sẽ hiển thị số (ví dụ khi chọn 111 sẽ hiện số 76).
Con số 76 này ám chỉ dòng cộng số phát sinh và dòng số dư cuối kỳ ở dòng 76 và dòng 77. Và sao chép công thức đến dòng 75.

Con số ô K3 luôn thay đổi khi ta chọn một tải khoản khác.

Trường hợp ô K3 hiển thị số 13 (tức dòng dữ liệu đầu tiên của bảng) thì hiện thông báo "Không có phát sinh, bạn chọn TK khác"

Xin Cám ơn.


Thử với đoạn code này xem sao nhé

PHP:
Sub ChuyenDong()
    Sheet13.Select
    SoDong = Range("K3").Value
    If SoDong = 13 Then
        MsgBox "Khong co phat sinh, hay chon TK khac", , "Xin Loi"
    Else
        Range("A13:I13").Copy
        Range("A14:I" & SoDong - 1).PasteSpecial xlPasteFormulasAndNumberFormats
        Range("F" & SoDong) = "Coäng phaùt sinh"
        Range("F" & SoDong + 1) = "Soù dö cuoái kyø"
        Range("H" & SoDong & ":I" & SoDong) = "=SUM(R13C:R" & SoDong - 1 & "C)"
        Range("H" & SoDong + 1) = "=MAX(R12C8+R[-1]C-R12C9-R[-1]C[1],0)"
        Range("I" & SoDong + 1) = "=MAX(R12C9+R[-1]C-R12C8-R[-1]C[-1],0)"
    End If
End Sub
 
Upvote 0
Vẫn chưa được bạn ơi. Bạn làm trên file đính kèm để tiện việc kiểm tra luôn. Cám ơn bạn
TKT quên là còn ba cột A,B,C bị ẩn, ba cột này có liên quan nữa
 
Lần chỉnh sửa cuối:
Upvote 0
Vẫn chưa được bạn ơi. Bạn làm trên file đính kèm để tiện việc kiểm tra luôn. Cám ơn bạn
TKT quên là còn ba cột A,B,C bị ẩn, ba cột này có liên quan nữa


Bạn xem file đính kèm
Chọn TK rồi nhấn nút Loc
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Nhở anh chị viết code dùm file đính kèm.
Mô tả như sau:
Khi chọn tài khoản ô G3, ô K3 sẽ hiển thị số (ví dụ khi chọn 111 sẽ hiện số 76).
Con số 76 này ám chỉ dòng cộng số phát sinh và dòng số dư cuối kỳ ở dòng 76 và dòng 77. Và sao chép công thức đến dòng 75.

Con số ô K3 luôn thay đổi khi ta chọn một tải khoản khác.

Trường hợp ô K3 hiển thị số 13 (tức dòng dữ liệu đầu tiên của bảng) thì hiện thông báo "Không có phát sinh, bạn chọn TK khác"

Xin Cám ơn.

Của bạn đây:
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$G$3" Then
Dim Dong As Long
Dong = [K3].Value
Application.Calculation = xlCalculationManual
[A14:I65536].ClearContents
[A13].EntireRow.Hidden = False
If Dong = 13 Then
MsgBox "Khong co phat sinh, hay chon TK khac"
Dong = Dong + 1
[A13].EntireRow.Hidden = True
GoTo Err
End If
Range("A13:I" & (Dong - 1)).FillDown
Err:
With Cells(Dong, 6)
    .Formula = "Coäng phaùt sinh"
    .Offset(1).Formula = "Soá dö cuoái kyø"
    .Offset(, 2).FormulaR1C1 = "=Sum(R13C8:R[-1]C)"
    .Offset(, 3).FormulaR1C1 = "=Sum(R13C8:R[-1]C)"
    .Offset(1, 2).FormulaR1C1 = "=MAX(R12C8+R[-1]C-R12C9-R[-1]C[1],0)"
    .Offset(1, 3).FormulaR1C1 = "=MAX(R12C9+R[-1]C-R12C8-R[-1]C[-1],0)"
End With
Application.Calculation = xlCalculationAutomatic
End If
End Sub
 

File đính kèm

Upvote 0
Của bạn đây:
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$G$3" Then
Dim Dong As Long
Dong = [K3].Value
Application.Calculation = xlCalculationManual
[A14:I65536].ClearContents
[A13].EntireRow.Hidden = False
If Dong = 13 Then
MsgBox "Khong co phat sinh, hay chon TK khac"
Dong = Dong + 1
[A13].EntireRow.Hidden = True
GoTo Err
End If
Range("A13:I" & (Dong - 1)).FillDown
Err:
With Cells(Dong, 6)
    .Formula = "Coäng phaùt sinh"
    .Offset(1).Formula = "Soá dö cuoái kyø"
    .Offset(, 2).FormulaR1C1 = "=Sum(R13C8:R[-1]C)"
    .Offset(, 3).FormulaR1C1 = "=Sum(R13C8:R[-1]C)"
    .Offset(1, 2).FormulaR1C1 = "=MAX(R12C8+R[-1]C-R12C9-R[-1]C[1],0)"
    .Offset(1, 3).FormulaR1C1 = "=MAX(R12C9+R[-1]C-R12C8-R[-1]C[-1],0)"
End With
Application.Calculation = xlCalculationAutomatic
End If
End Sub

Cám ơn bạn huuthang_bd, ở hàm sum là cột 9 bạn àh.
.Offset(, 3).FormulaR1C1 = "=Sum(R13C9:R[-1]C)"
 
Upvote 0
Hướng dẫn mình code khi nhập diễn giải tại cột A kết quả xuất hiện cột B hoặc cộy khác
 
Upvote 0
Web KT

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

Back
Top Bottom