คล้ายๆของเอ็กเซลแนวนี้เลยครับ แบบนี้เลยครับ ผมลองใช้คำค้นดู ......... แต่ผมก็ไม่สามารถทำอะไรกับแนวโค้ดเหล่านี้ครับ เผื่อผู้รู้แวะมาตอบครับ ขณะที่รอคำตอบ ก็ลองค้น ด้วยคำว่าตัดสต๊อก เราต้องสร้างตารางเก็บแต่ละค่าไว้ ว่า ตารางนี้เก็บ F1 ตารางนี้เก็บ F2 โดยมีตัวอ้างอิงคือ กลุ่มเรียน/ชั้นเรียน
Is there an easy way to subtract one row from another row but only if there is data. For example a2-a3 to z2-z3 etc. Only if those fields are populated.
Thanks,
Greg
Logic: If A2 and A3 is not blank, then subtract A2 minus A3.
Code:
Sub myMacro()
Dim myArray(1, 25) As Long
myArray(0, 0) = Range("A2").Value
myArray(1, 0) = Range("A3").Value
myArray(0, 1) = Range("B2").Value
myArray(1, 1) = Range("B3").Value
myArray(0, 2) = Range("C2").Value
myArray(1, 2) = Range("C3").Value
myArray(0, 3) = Range("D2").Value
myArray(1, 3) = Range("D3").Value
'Continue here and add all the ranges to the array.
i = 0
Do Until i > 25
value1 = myArray(0, i)
value2 = myArray(1, i)
myResult = myFunction(value1, value2)
MsgBox myResult
i = i + 1
Loop
End Sub
Function myFunction(value1, value2)
If value1 <> "" _
And value2 <> "" Then
myFunction = value1 - value2
Exit Function
End If
myFunction = ""
End Function
doogis
Thanks for the reply. Is there something I can do with a "range" command? If my data is not static and is >25 then I have to change the code.
My data looks like this,
#4
Code:
Sub myMacro()
c = 1
lc = Cells(1, Columns.Count).End(xlToLeft).Column
Do Until c > lc
Cells(3, c).Value = myFunction(Cells(2, c).Value, Cells(3, c).Value)
c = c + 1
Loop
End Sub
Function myFunction(value1, value2)
If value1 <> "" _
And value2 <> "" Then
myFunction = value1 - value2
Exit Function
End If
myFunction = ""
End Function