Board logo

標題: [發問] 如何在儲存格內下Ctrl+Shift+Enter指令(oobird 已解答) [打印本頁]

作者: av8d    時間: 2012-2-17 11:25     標題: 如何在儲存格內下Ctrl+Shift+Enter指令(oobird 已解答)

本帖最後由 av8d 於 2012-2-21 08:57 編輯
  1. Sub aa()
  2.     Range("B1").Select
  3.     Range("B1") = "{=IF(SUM(--ISNUMBER(FIND(A$1,地址!C$1:C$100)))<ROW(),"""",INDEX(地址!C:C,SMALL(IF(ISNUMBER(FIND(A$1,地址!$C$1:$C$100)),ROW($A$1:$B$100)),ROW())))}"

  4. End Sub
複製代碼
我想命令B1=IF(SUM(--ISNUMBER(FIND(A$1,地址!C$1:C$100)))<ROW(),"""",INDEX(地址!C:C,SMALL(IF(ISNUMBER(FIND(A$1,地址!$C$1:$C$100)),ROW($A$1:$B$100)),ROW())))
但是必須在左右各+{}
如下
Range("B1") = "{=IF(SUM(--ISNUMBER(FIND(A$1,地址!C$1:C$100)))<ROW(),"""",INDEX(地址!C:C,SMALL(IF(ISNUMBER(FIND(A$1,地址!$C$1:$C$100)),ROW($A$1:$B$100)),ROW())))}"
但是執行後{}卻不會出來
作者: GBKEE    時間: 2012-2-17 11:36

回復 1# av8d
  1. Sub aa()
  2.     Range("B1").Select
  3.     Range("B1") = "=SUM(A1:A10)"
  4.     Application.SendKeys "{F2}"
  5.     Application.SendKeys "^+~"
  6. End Sub
複製代碼

作者: av8d    時間: 2012-2-17 13:16

回復 2# GBKEE


    版主您好,您辛苦了,但是它出現一個錯誤訊息,我點了一下說明
必須指定搜索字串

當在物件瀏覽器中搜索時,必須輸入字串。該錯誤有以下原因和解決方案:
在 Object Browser 中開始了一個索,但沒有指定要索的文字。
輸入索字串。
關於其它資訊,請選中有問題的條目並按 F1 鍵 (在 Windows中) 或 HELP (對於 Macintosh)。
作者: GBKEE    時間: 2012-2-17 13:50

回復 3# av8d
執行Application.SendKeys    必須用圖片 或按鈕 指定 巨集 來執行, 或 如圖



[attach]9626[/attach]
作者: av8d    時間: 2012-2-17 16:38

回復 4# GBKEE


    版主您好~因為是寫在Workbook裡面~

Private Sub Workbook_Open()

End Su
作者: GBKEE    時間: 2012-2-17 16:46

回復 5# av8d
因為是寫在Workbook裡面
有何問題你沒說啊!!
作者: av8d    時間: 2012-2-20 14:21

回復 6# GBKEE


    大大辛苦了~

在Sheet裡面使用的話~是否要寫的導向巨集。

如果巨集是
Sub aa

End Sub

在Sheet裡面使用的話,是不是有個 show aa。
作者: GBKEE    時間: 2012-2-20 15:00

回復 7# av8d
程式如是在  物件模組中 為公用程式   ( 有沒有加上 "Public"都是公用程式 )  : 需指明物件模組的名稱                                          
如 Sub EX()
       Sheet1.Test
       Sheets("Sheet1").Test
       ThisWorkbook.Test
End Sub
程式如是在  一般模組(Module)中  為公用程式   ( 有沒有加上 "Public" )  :  直接呼叫即可
SUB Ex()
  Test
End Sub
程式如 為私用程式   ( 有加上 "Privatec" )  : 皆需為
Sub Ex()
        Run   " Sheet1.Test"
        Run   "Sheets("Sheet1").Test "
        Run   "ThisWorkbook.Test "
       Run   "Module1..Test "
End Sub
作者: av8d    時間: 2012-2-20 16:02

回復 8# GBKEE


Private Sub Workbook_Open()

End Sub

所以在Workbook執行SendKeys因為它是Private(私有)所以無法執行必須呼喚物件模組或一般模組才能執行,還是說有另外的執行方法?
如果是在物件模組該如何執行?
作者: GBKEE    時間: 2012-2-21 07:53

回復 9# av8d
私用Private 的程式 非自己的模組程式裡 中皆需用   Run "ThisWorkbook.Workbook_Open"
本身的模組 中直接呼叫 這 Private 的程式即可  Workbook_Open
作者: av8d    時間: 2012-2-21 08:26

回復 10# GBKEE

   我目前電腦變回Office XP
    我在物件模組中執行了
Sub aa()
    Range("B1").Select
    Range("B1") = "=IF(SUM(--ISNUMBER(FIND(A$1,地址!C$1:C$100)))<ROW(),"""",INDEX(地址!C:C,SMALL(IF(ISNUMBER(FIND(A$1,地址!$C$1:$C$100)),ROW($A$1:$B$100)),ROW())))"
    Application.SendKeys "{F2}"
    Application.SendKeys "^+~"
End Sub

執行後~他依然出現~必須指定搜尋字串~是因為我使用Office XP的問題嗎?
作者: oobird    時間: 2012-2-21 08:29

Range("B1").FormulaArray = _
       "=IF(SUM(--ISNUMBER(FIND(A$1,地址!C$1:C$100)))<ROW(),"""",INDEX(地址!C:C,SMALL(IF(ISNUMBER(FIND(A$1,地址!$C$1:$C$100)),ROW($A$1:$B$100)),ROW())))"
作者: av8d    時間: 2012-2-21 08:57

回復 12# oobird


    超級感謝兩位大大~

感謝您的解答!
作者: GBKEE    時間: 2012-2-21 09:40

回復 11# av8d
與Office XP無關


[attach]9680[/attach]




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