[英]I need help fixing vba macro
我有一個由許多行和列組成的數據集,例如
a1 b1
a2 b2
a3 b3
a4 b4
a5 b5
我想編寫代碼,一次計算出一個像這樣(a2-a1)/(a2 + a1)的索引的單元格。 我希望將結果保存到sheet2。
我已使用此代碼,但始終收到錯誤消息。 它在我嘗試將結果保存到sheet2的地方中斷。
我需要幫助來修復此代碼:
Sub Combination()
Dim jCell As Range
Dim kCell As Range
Dim result As Double
Sheet2.Cells.Clear
For Each jCell In ActiveSheet.UsedRange
For Each kCell In ActiveSheet.UsedRange
result = (jCell.Value - kCell.Value) / (jCell.Value + kCell.Value)
Sheet2.Cell("result").Value = Sheet1.Cell("result").Value
Next kCell
Next jCell
End Sub
提前致謝
有幾件事是錯誤的(我認為這更多是為了學習VBA,而不是實際的東西-因此,我將忽略使用非vba的方法來執行此操作)。
一個是我從未見過這樣的語法:
Sheet2.Cell("result").Value = Sheet1.Cell("result").Value
另一個是您的數據集由字符串類型數據組成,例如“ a1” b1”-現在您為什么要對字符串進行數學運算?您是否嘗試將它們組合(連接)?-否則,您將得到無意義的數字您可以對字符串進行任意數學運算。
第三個是您需要一種將輸出寫到每一行第二頁的方法。 您可能希望使用計數器來執行此操作。 這是一個有效的子示例-我不確定這是您要執行的操作還是對您完全有幫助:
Sub Combination()
Dim jCell As Range
Dim kCell As Range
Dim result As String
Dim i As Integer
i = 1
Sheet2.Cells.Clear
For Each jCell In ActiveSheet.UsedRange
For Each kCell In ActiveSheet.UsedRange
result = jCell.Value & kCell.Value
Sheet2.Cells(i, 1).Value = result
i = i + 1
Next kCell
Next jCell
End Sub
祝好運。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.