Chuyển công thức thành VBA

Liên hệ QC

tranphuson

Thành viên thường trực
Tham gia
14/8/09
Bài viết
269
Được thích
10
Giới tính
Nam
Vui lòng giúp mình chuyển Công thức (Cộng, trừ, nhân, chia) file đính kèm thành VBA

Xin cảm ơn
 

File đính kèm

Vui lòng giúp mình chuyển Công thức (Cộng, trừ, nhân, chia) file đính kèm thành VBA

Xin cảm ơn
bạn thử:
Mã:
Sub Test1()
Dim i, j As Integer
For i = 2 To 5
    vData = Sheets(1).Cells(1, i)
For j = 3 To 17
    vData1 = Sheets(1).Cells(j, 1)
If i = 2 Then Sheets(1).Cells(j, i).Value = vData1 * vData
If i = 3 Then Sheets(1).Cells(j, i).Value = vData1 + vData
If i = 4 Then Sheets(1).Cells(j, i).Value = vData1 / vData
If i = 5 Then Sheets(1).Cells(j, i).Value = vData1 - vData

Next j

Next i
End Sub
 

File đính kèm

bạn thử:
Mã:
Sub Test1()
Dim i, j As Integer
For i = 2 To 5
    vData = Sheets(1).Cells(1, i)
For j = 3 To 17
    vData1 = Sheets(1).Cells(j, 1)
If i = 2 Then Sheets(1).Cells(j, i).Value = vData1 * vData
If i = 3 Then Sheets(1).Cells(j, i).Value = vData1 + vData
If i = 4 Then Sheets(1).Cells(j, i).Value = vData1 / vData
If i = 5 Then Sheets(1).Cells(j, i).Value = vData1 - vData

Next j

Next i
End Sub
Cảm ơn bạn đã giúp. Nhưng cho mình hỏi thêm là nếu tăng dòng ở Cột A thì dòng lặp (For j = 3 To 17) tăng tự động dựa vào dòng Cột A, không cần phải cố định là dòng A17
 
Cảm ơn bạn đã giúp. Nhưng cho mình hỏi thêm là nếu tăng dòng ở Cột A thì dòng lặp (For j = 3 To 17) tăng tự động dựa vào dòng Cột A, không cần phải cố định là dòng A17
bạn sửa lại:
Mã:
Sub Test1()
Dim i, j As Integer
lRow = Sheets(1).Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To 5
    vData = Sheets(1).Cells(1, i)
For j = 3 To lRow
    vData1 = Sheets(1).Cells(j, 1)
If i = 2 Then Sheets(1).Cells(j, i).Value = vData1 * vData
If i = 3 Then Sheets(1).Cells(j, i).Value = vData1 + vData
If i = 4 Then Sheets(1).Cells(j, i).Value = vData1 / vData
If i = 5 Then Sheets(1).Cells(j, i).Value = vData1 - vData

Next j

Next i
End Sub
 
bạn sửa lại:
Mã:
Sub Test1()
Dim i, j As Integer
lRow = Sheets(1).Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To 5
    vData = Sheets(1).Cells(1, i)
For j = 3 To lRow
    vData1 = Sheets(1).Cells(j, 1)
If i = 2 Then Sheets(1).Cells(j, i).Value = vData1 * vData
If i = 3 Then Sheets(1).Cells(j, i).Value = vData1 + vData
If i = 4 Then Sheets(1).Cells(j, i).Value = vData1 / vData
If i = 5 Then Sheets(1).Cells(j, i).Value = vData1 - vData

Next j

Next i
End Sub

Báo lỗi như bên dưới. Cảm ơn
1535027476784.png
 
Xin lỗi, mình dùng sub trong module, nếu bạn dùng Option Explicit thì bạn thêm khai báo cho biến lRow, vData, vData1 là được.
Mã:
Dim lRow, vData, vData1
 
Xin lỗi, mình dùng sub trong module, nếu bạn dùng Option Explicit thì bạn thêm khai báo cho biến lRow, vData, vData1 là được.
Mã:
Dim lRow, vData, vData1

Xin lỗi là mình hỏi thêm 1 chút là nếu Cột A3, B3: vừa tính phép nhân, phép trừ, phép cộng thì như thế nào

Cảm ơn lần nữa
 

File đính kèm

Web KT

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

Back
Top Bottom