Board logo

標題: [發問] (已解決)尋找某特定公式在貼上值 [打印本頁]

作者: freeffly    時間: 2011-10-17 13:32     標題: (已解決)尋找某特定公式在貼上值

本帖最後由 freeffly 於 2012-2-22 16:57 編輯
  1.     Cells.Find(What:=".xls", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
  2.         :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
  3.         False, MatchByte:=False, SearchFormat:=False).Activate
  4.     Selection.Copy
  5.     Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
  6.         :=False, Transpose:=False
  7.     Cells.FindNext(After:=ActiveCell).Activate
  8.     Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
  9.         :=False, Transpose:=False
複製代碼
上面是我錄製的巨集
我想找出工作表中對照到其他檔案的公式然後貼上值
我想套用迴圈的方式去跑 我該如何修改
或者有其它方式可以達到我要的結果
不想要每次開檔案都出現問我要不要更新連結(又不確定是哪各工作表)
作者: oobird    時間: 2011-10-17 14:18

  1. Sub test()
  2. For Each c In ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas, 23)
  3. If c.Formula Like "*.xls]" & "*" Then
  4. c.Formula = c.Value
  5. End If
  6. Next
  7. End Sub
複製代碼

作者: freeffly    時間: 2011-10-17 16:59

回復 2# oobird

程式碼比想像中簡單
也快很多
謝謝喔
   
SpecialCells(xlCellTypeFormulas, 23)
請問  ,23  這各用途是什麼?
作者: freeffly    時間: 2011-10-17 17:18

回復 2# oobird


    大大再問一各問題
      我用迴圈去對每個工作表做這各動作
       如果該工作表沒有符合條件會跳出錯誤
       這各要如何讓他不跳出錯誤繼續執行?
作者: oobird    時間: 2011-10-17 19:21

本帖最後由 oobird 於 2011-10-17 19:22 編輯

Sub test()
On Error GoTo 1
For Each c In ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas, 23)
If c.Formula Like "*.xls]" & "*" Then
c.Formula = c.Value
End If
Next
1
End Sub
加上紅字略過
作者: freeffly    時間: 2011-10-18 15:38

回復 5# oobird


    大大我後來想到 on error resume next
    沒有再跑出來錯誤
       但是還是有出現要不要更新的字眼
      難道更新不是單純因為連結到其他檔案儲存格嗎




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