nếu làm = cthuc thì thử như vậyTôi có bảng tính gồm ba cột ABC, cột C bảng AxB. Làm thế nào để khi cột B gặp dòng trống thì cột C lấy giá trị dòng A tương ứng nhân với dòng trên không trống của cột B.
Không trúng cũng xin đừng hỏi lại là tại sao nha.Tôi có bảng tính gồm ba cột ABC, cột C bảng AxB. Làm thế nào để khi cột B gặp dòng trống thì cột C lấy giá trị dòng A tương ứng nhân với dòng trên không trống của cột B.
Vậy trường hợp cột A rổng thì tính sao?Tôi có bảng tính gồm ba cột ABC, cột C bảng AxB. Làm thế nào để khi cột B gặp dòng trống thì cột C lấy giá trị dòng A tương ứng nhân với dòng trên không trống của cột B.
Chẳng hiểu rõ bạn cần thế nào. Muốn người khác giúp mà chẳng đưa file lên. Bạn tự copy code về xài nha. Đừng nói là không biết đưa code vào file rồi cũng không biết cách Enable Macros nữa nghen.vanyem đã viết:Tôi có bảng tính 3 cột A,B,C.
Cột A có dữ liệu, cột B dòng có, dòng không.
Cột C là tích cột A nhân B. Làm sao để viết đoạn code tính tích cho cột C biết rằng khi cột B gặp dong trống thì kết quả là dòng tương ứngcủa cột A nhân với dòng trên nó của cột B. (Ví dụ $B$2=5, B3:B5 bằng không)C2,c3,...C5 bằng A2:A5 nhân $B$2; B6= 6, B7:B10=0 thì C6:C10 bằng A6:A nhân $B$10.
Cảm ơn nhiều!
Sub Special_Multiply()
Dim Src(), i As Long, j As Long
Src = Range([A1], [A65536].End(3)).Resize(, 3).Value
For i = 1 To UBound(Src) - 1
If Src(i, 2) <> "" Then
If Src(i + 1, 2) = "" Then
Src(i, 3) = Src(i, 1) * Src(i, 2)
j = i + 1
Do
Src(j, 3) = Src(j, 1) * Src(i, 2)
j = j + 1
Loop Until Src(j, 2) <> ""
End If
End If
Next
[A1].Resize(i - 1, 3) = Src
End Sub
Sub Special_Multiply2()
Dim Src(), i As Long, j As Long
Src = Range([A1], [A65536].End(3)).Resize(, 3).FormulaR1C1
For i = 1 To UBound(Src) - 1
If Src(i, 2) <> "" Then
If Src(i + 1, 2) = "" Then
Src(i, 3) = "=RC[-2] * R" & i & "C[-1]"
j = i + 1
Do
Src(j, 3) = "=RC[-2] * R" & i & "C[-1]"
j = j + 1
Loop Until Src(j, 2) <> ""
End If
End If
Next
[A1].Resize(i - 1, 3) = Src
End Sub
Đáng nể thật. Công thức vậy mà cũng nghĩ ra được.tại C1:
=A1*LOOKUP(2,1/($B$1:B1<>""),$B$1:B1)
Copy xuống
tại C1:
=A1*LOOKUP(2,1/($B$1:B1<>""),$B$1:B1)
Copy xuống