PDA

View Full Version : Xin các thầy chỉ Code phép nhân cho 2 cột full dòng



haikimcuong
23-04-13, 03:54 PM
Xin các thầy hướng dẫn viết code phép nhân cho 2 cột A, B hoặc 2 cột bất kỳ trong 1 sheet của êxcel ạ. Giống ví dụ em kèm theo, và cả code + - * / nữa ạ. Tại trong quá trình làm việc em hay xóa nhầm các phép tình thông thường như = A1*B1 .v.v...
Cảm ơn các thầy

ndu96081631
23-04-13, 03:57 PM
Xin các thầy hướng dẫn viết code phép nhân cho 2 cột A, B hoặc 2 cột bất kỳ trong 1 sheet của êxcel ạ. Giống ví dụ em kèm theo, và cả code + - * / nữa ạ. Tại trong quá trình làm việc em hay xóa nhầm các phép tình thông thường như = A1*B1 .v.v...
Cảm ơn các thầy

Trong file bạn nói:

Tính tích của 2 cột này bằng code mà không phải bằng phép nhân là: = A2*B2 rồi kéo xuống
Vậy xin hỏi: Kết quả phải bằng bao nhiêu mới là đúng?

vu_tuan_manh_linh
23-04-13, 04:02 PM
Xin các thầy hướng dẫn viết code phép nhân cho 2 cột A, B hoặc 2 cột bất kỳ trong 1 sheet của êxcel ạ. Giống ví dụ em kèm theo, và cả code + - * / nữa ạ. Tại trong quá trình làm việc em hay xóa nhầm các phép tình thông thường như = A1*B1 .v.v...
Cảm ơn các thầy
Thay vì dùng code, bạn cứ nhân bình thường, kéo xuống rồi copy -- paste value đi!!
Còn code thì nó chỉ thế này thôi


Sub Nhan()
Dim i As Long
For i = 2 To Range("A65536").End(xlUp).Row
Cells(i, 3).Value = Cells(i, 2).Value * Cells(i, 1).Value
Next i
End Sub

haikimcuong
23-04-13, 04:12 PM
Trong file bạn nói:

Vậy xin hỏi: Kết quả phải bằng bao nhiêu mới là đúng?
Thầy ơi thầy đừng vặn câu chữ với em làm gì em đang học không biết mới phải hỏi thầy ạ chứ có ai sung sướng gì đâu mà thầy?

ndu96081631
23-04-13, 04:14 PM
Thầy ơi thầy đừng vặn câu chữ với em làm gì em đang học không biết mới phải hỏi thầy ạ chứ có ai sung sướng gì đâu mà thầy?

Bạn nói gì vậy?
Vì tôi chưa hiểu lắm nên hỏi lại mà (vặn vẹo gì đâu chứ?)

haikimcuong
23-04-13, 04:28 PM
Xin lỗi thấy ndu ạ. Ý em là em muốn thay phép tính =A1*B1 bắng 1 đoạn code giống như thầy Linh làm cho em để tránh trường hợp xóa nhầm ạ, nhân tiện em hỏi chút sao khi em cho code của thầy Linh vào sheet em thay cột tính tổng là G2 = D2*E2 thì báo lỗi là sao ạ và trong trường hợp thực hiện 2 phép tính nhân trên 1 sheet như ví dụ sau thì phải làm sao anh. Và thầy dạy em cách thay cột luôn ạ. mà sao nó k tự update luôn kết quả ạ mà phải dùng phím tắt hay alt + f8 rồi run nó mới chạy ạ

haikimcuong
23-04-13, 04:57 PM
Thay vì dùng code, bạn cứ nhân bình thường, kéo xuống rồi copy -- paste value đi!!
Còn code thì nó chỉ thế này thôi


Sub Nhan()
Dim i As Long
For i = 2 To Range("A65536").End(xlUp).Row
Cells(i, 3).Value = Cells(i, 2).Value * Cells(i, 1).Value
Next i
End Sub

Em giải quyết xong 2 vân đề rồi có cách nào tự update kết quả không thầy ví dụ cột A1 = 10 Cột B1 = 5 khi ghi xong 2 cột thì tự động C1 = 50 ấy ạ

quanghai1969
23-04-13, 07:29 PM
Em giải quyết xong 2 vân đề rồi có cách nào tự update kết quả không thầy ví dụ cột A1 = 10 Cột B1 = 5 khi ghi xong 2 cột thì tự động C1 = 50 ấy ạ
Thử thế này nha


Private Sub Worksheet_Change(ByVal Target As Range)
Dim r
If Target.Column = 1 Or Target.Column = 2 Then
r = Target.Row
Cells(r, 3) = Cells(r, 1) * Cells(r, 2)
End If
End Sub

TrungChinhs
23-04-13, 07:59 PM
Thử thêm cách này nữa.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target(1, 0) > 0 And Target(1, -1) = 0 Then Target(1, 2) = "=RC[-2]*RC[-1]"
End Sub

haikimcuong
23-04-13, 08:54 PM
Thử thêm cách này nữa.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target(1, 0) > 0 And Target(1, -1) = 0 Then Target(1, 2) = "=RC[-2]*RC[-1]"
End Sub
Đã thực hiện giống của anh nhưng bị lỗi ạ, xin anh chỉ cách khác hoặc làm trực tiếp vào file em gửi lên ạ

TrungChinhs
23-04-13, 10:07 PM
Đã thực hiện giống của anh nhưng bị lỗi ạ, xin anh chỉ cách khác hoặc làm trực tiếp vào file em gửi lên ạ

Lúc trước chưa xem file của bạn, Bạn thử lại nha.

vu_tuan_manh_linh
24-04-13, 08:49 AM
Trong quá trình làm việc em hay xóa nhầm các phép tình thông thường như = A1*B1 .v.v...
Có gì đảm bảo để bạn không xóa nhầm cả những dòng đã tính ra kết quả không??? Chỉ vì một "thói quen" không giống ai mà bạn gạt bỏ cả một điều cơ bản nhất của excel. Thay vì nghĩ ra đủ trò và nhức đầu vì nó (bạn cần hiểu rằng thủ tục worksheet_change() phải làm cho từng file chứ không phải làm 1 file dùng cho tất cả) sao bạn không tự sửa cái "thói quen xóa nhầm" của mình đi. Tự nhiên mua việc vào người làm chi vậy không biết!!