Board logo

標題: 請問要如何簡化程式碼?? [打印本頁]

作者: 藍天麗池    時間: 2016-3-12 22:38     標題: 請問要如何簡化程式碼??

以下程式碼是我用巨集錄製的,只錄到E10,我要將以下巨集執行到E900,但又不可能一直複製下去,請教大大以下程式碼要如何簡化,讓他可以執行到E900

Sub 巨集1()
'
' 巨集1 巨集
'

'
    ActiveCell.FormulaR1C1 = "=RTD(""money.excel"", ,2330,""BestBidVolume2"")"
    Range("E3").Select
    ActiveCell.FormulaR1C1 = "=RTD(""money.excel"", ,2317,""BestBidVolume2"")"
    Range("E4").Select
    ActiveCell.FormulaR1C1 = "=RTD(""money.excel"", ,6505,""BestBidVolume2"")"
    Range("E5").Select
    ActiveCell.FormulaR1C1 = "=RTD(""money.excel"", ,2412,""BestBidVolume2"")"
    Range("E6").Select
    ActiveCell.FormulaR1C1 = "=RTD(""money.excel"", ,1303,""BestBidVolume2"")"
    Range("E7").Select
    ActiveCell.FormulaR1C1 = "=RTD(""money.excel"", ,1301,""BestBidVolume2"")"
    Range("E8").Select
    ActiveCell.FormulaR1C1 = "=RTD(""money.excel"", ,2882,""BestBidVolume2"")"
    Range("E9").Select
    ActiveCell.FormulaR1C1 = "=RTD(""money.excel"", ,1326,""BestBidVolume2"")"
    Range("E10").Select
End Sub
作者: lpk187    時間: 2016-3-12 23:32

本帖最後由 lpk187 於 2016-3-12 23:33 編輯

回復 1# 藍天麗池
  1. Public Sub ex()
  2. Dim arr, i%
  3.     arr = Sheets("工作表2").Range("A2:A9") '先把股票編號放某一工作表的A欄,然後使其成為陣列 arr
  4.     With Sheets("工作表1")
  5.         For i = 1 To UBound(arr)
  6.             .Cells(i+1, 5) = "=RTD(""money.excel"", ," & arr(i, 1) & ",""BestBidVolume2"")"
  7.         Next
  8.     End With
  9. End Sub
複製代碼

作者: 藍天麗池    時間: 2016-3-13 00:13

回復 2# lpk187


    大大,謝謝,可是為什麼陣列就可以我用&卻不行??
作者: lpk187    時間: 2016-3-13 00:40

回復 3# 藍天麗池

我在想,可能是你的&用錯了, 也不一定要陣列才是方法,也有其他方法, 例如 用For Each ...
何不PO不出你原來的&怎麼使用,讓各位大大解惑!
作者: 藍天麗池    時間: 2016-3-13 09:02

回復 4# lpk187

[attach]23434[/attach]
[attach]23435[/attach]
    這是我的附件,請大大看看
作者: ML089    時間: 2016-3-13 14:39

回復 5# 藍天麗池

H2 =A2&B2&C2&D2&E2&F2&G2
顯示 =RTD("money.excel", ,"2330","BestAskVolume5")
這只是文字顯示並非公式

公式應該輸入如下,看看這樣可以執行嗎?
H2 =RTD("money.excel", ,D2,"BestAskVolume5")

下拉複製公式
作者: 藍天麗池    時間: 2016-3-13 15:18

本帖最後由 藍天麗池 於 2016-3-13 15:19 編輯

回復 6# ML089


    這樣可以,問題是如果我要將代號放在裡面要如何做呢??
這是公式,我只要按F2+Enter就會變成公式
作者: ML089    時間: 2016-3-13 16:54

回復 7# 藍天麗池

這是公式的方法

若是你要F2+ENTER的方法
就是原來你的方法,H2 =A2&B2&C2&D2&E2&F2&G2
在整個選取來 複製,再另外一欄I2 選擇性貼上 - 值。
再整個選取I欄, CTRL-H 取代 ,選取目標輸入 =,取代成輸入 =, 就全部轉成你要的公式。
不用一個一個 F2+ENTER,太辛苦了




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