Board logo

標題: [發問] 請問:如何將判斷出來的數值依序複製入分頁的指定格中 [打印本頁]

作者: 韋弘智    時間: 2017-4-29 22:03     標題: 請問:如何將判斷出來的數值依序複製入分頁的指定格中

小弟是初心者,自學VBA想用來分析自己的投資資料,附件為我Excel的表格及程式截圖,目前構想是:

保本(E欄)、M值(K欄),我先用程式下去跑這兩個欄位的數值,然後D欄本身就有公式,會因為保本跟M的數值組合,進行計算,只要D2至D245全部都是正數,就將可以計算出正數的保本和M值移動到分頁

例如:保本 = 1 、 M值 = 1、(D2:D245) 其中有欄位是負值,
            保本 = 1、 M值 =  2、(D2:D245) 全部欄位是正數,將保本1及M值2,複製到分頁儲存起來。

目前為止,上述功能皆大多已自行完成。

但卡在圖3的部分,因為迴圈的關係,複製到分頁的數值,都會重複的覆蓋在同一個欄位裡面,沒辦法將正確的資料依序填入。

[attach]27118[/attach]

這是迴圈程式的部分
  1. '數值分析迴圈

  2. For i = 1 To 10 '進入保本迴圈
  3. Range("E2:E245") = i & "%"
  4.    
  5.     For a = 1 To 5  '進入M值迴圈
  6.     Range("K2:K245") = a
  7.    
  8.         
  9.         For s = 1 To 245 '進入判斷式迴圈
  10.         If Cells(s + 1, 4) > 1 Then '進入If判斷式
  11.         s = s + 1
  12.         ElseIf s = 245 Then

  13.         Sheets("彙總表").Cells(2, 1) = Sheets("測試用活頁").Cells(2, 5)
  14.         Sheets("彙總表").Cells(2, 2) = Sheets("測試用活頁").Cells(2, 11)

  15.         ElseIf Cells(s + 1, 4) < 1 Then
  16.         Exit For  ' 中斷迴圈
  17.         End If
  18.         
  19.         Next s

  20.     Next a

  21. Next i
複製代碼

作者: 韋弘智    時間: 2017-5-4 16:38

問題自行解決,感謝版主關心:),現在新問題是,執行太多迴圈和判斷,執行速度過慢,正嘗試用陣列結構來解決。




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)