Board logo

標題: [發問] 利用 Combobox 決定迴圈起始到結束值 [打印本頁]

作者: a703130    時間: 2012-3-26 17:24     標題: 利用 Combobox 決定迴圈起始到結束值

本帖最後由 a703130 於 2012-3-26 17:26 編輯

我想請問大大

目前我有程式是利用sheets(i)來做迴圈
例如
  1. For i=6 to 16
  2.     sheets(i)...
  3.     ...
  4.     ...
  5.     ...
  6. Next
複製代碼
但是我又覺得這樣寫死不太方便
所以我想要利用Combobox來讓使用者決定要從哪個頁面開始
Combobox1 決定開始的地方變數x,Combobox2 則是結束的地方變數y

不知道應該如何撰寫這程式??

我的工作頁固定從第6頁開始~第16頁結尾
一開始要先將上面6~16的sheetname加入combobox
使用者點選combobox1以及combobox2 帶出 x、y變數

我再帶入我的程式
作者: GBKEE    時間: 2012-3-26 17:48

回復 1# a703130
  1. For i = Val(Combobox1) To Val(Combobox2)
  2.     sheets(i)...
  3.     ...
  4.     ...
  5.     ...
  6. Next
複製代碼

作者: a703130    時間: 2012-3-26 18:26

回復 2# GBKEE


    抱歉大大我的問題~問得不好造成您的理解上有落差
    我說的combobox 是下拉式方塊
作者: GBKEE    時間: 2012-3-26 18:47

回復 3# a703130
沒有誤解,你是ComboBox1,ComboBox2 的內容不知如何加上嗎?
  1. Sub Ex()
  2.     Dim xi As Integer
  3.     ComboBox1.Clear
  4.     For xi = 1 To Sheets.Count
  5.         ComboBox1.AddItem xi
  6.     Next
  7. End Sub
複製代碼

作者: a703130    時間: 2012-3-26 19:56

回復 4# GBKEE

對,因為我for 迴圈的起始-結束 是sheets()
討論區上教的是用  ComboBox1.List = Array()

我就不知道要如何利用 sheets所在的頁面number當作迴圈的起始-結束

另外我也不知道要如何在Excel 打開的時候將sheets(6)~sheets(16)的Name 放入 combobox1、combobox2 的列表裡面
作者: hugh0620    時間: 2012-3-27 10:38

回復 5# a703130


    要不要寫一個excel的ex提供一下呢??
    這樣G大大或其他大大比較清楚你要的結果是怎麼樣~
    不用像瞎子摸象一樣~ 講不清楚~
作者: Hsieh    時間: 2012-3-27 14:21

回復 5# a703130

要在ComboBox內加入項目就是Additem只不過是你要加甚麼料就自己去思考如何取得那些字串
如你所說要加入6到n的工作表名稱
for i=6 to n
combobox1.additem sheets(i).name
next
只不過要注意的是,在程式沒有關閉之前,美執行一次就會重複加入項目,為避免重複加入
在執行時先清除後再新增
combobox1.clear
for i=6 to n
combobox1.additem sheets(i).name
next
作者: a703130    時間: 2012-3-27 16:58

回復 7# Hsieh

謝謝 H 大以及上面大大,發問也是一門學問阿
其實我的問題很簡單就是
我在一開始開啟Excel 後要讓Combobox1自動載入Sheets(i)
而 combobox1.additem sheets(i).name 解決了我的問題
因為我在additem跟 sheet(i).name 多了一個 =
作者: Hsieh    時間: 2012-3-27 17:38

回復 8# a703130

你這問題可能就是大部分剛接觸VBA的人都有的問題
VBA的指令大致上有物件、屬性、方法、函數
屬性語法就是
物件.屬性=值

方法語法就是
物件.方法 值

函數語法就是
變數=函數(引數)
這就是一般的語法
至於程式流程思考邏輯
何時?做甚麼動作?讓甚麼物件?用甚麼方法?做甚麼事?
這是物件導向程式的基本邏輯概念
所以,先搞清楚"事件"、"物件"、"方法"、"屬性"是接觸VBA第一門課程




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