Board logo

標題: 如何先執行VBA的程式再點選存格位置,及更改定義名稱 [打印本頁]

作者: 漂流木    時間: 2011-12-26 01:06     標題: 如何先執行VBA的程式再點選存格位置,及更改定義名稱

1.請問如何在執行vba程式時可以先執行程式內容,等程式執行到其中的一個詢問時再依使用者的須求點選非特點的儲存格,如:
原有作用中的儲存格在"B3",當程式執行到"請點選新的儲存格:"時,在依使用者的須求點選,可能會點選"C5"或"D8"或"E4"或.......各種可能.
2.若"A2"儲存格已定義為"產品A",而"B12"的儲存格連結為="產品A",當"A2"儲存格定義名稱想改為"產品F",應該如何以VBA編寫,以使得"A2"名稱改為
"產品F"後,"B12"的儲存格連結會自動改為="產品F".
(註:在Excel 2003中執行,Excel 2003沒有定義名稱更名的功能)
作者: Hsieh    時間: 2011-12-26 10:07

回復 1# 漂流木
  1. Sub 中途點選()
  2. Dim s As Date, A As Range
  3. t = Now
  4. Do Until s >= 1 / 11520
  5. s = Now - t
  6. If s >= 1 / 34560 And A Is Nothing Then Set A = Application.InputBox("請點選儲存格", , , , , , , 8)
  7. Loop
  8. If Not A Is Nothing Then MsgBox A.Address
  9. End Sub
  10. Sub 更名()
  11. Dim n As Name
  12. For Each n In ThisWorkbook.Names
  13.   If n.RefersToRange.Address = "$A$2" Then myname = n.Name: Exit For
  14. Next
  15. If myname = "" Then MsgBox "A2還沒建立名稱": Exit Sub
  16. newname = InputBox("請輸入新名稱", , myname)
  17. ThisWorkbook.Names(myname).Name = newname
  18. ActiveSheet.Cells.Replace myname, newname
  19. End Sub
複製代碼

作者: 漂流木    時間: 2011-12-26 12:03

感謝超級版主您的回覆,我以學習到了,謝謝




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