2008年7月29日星期二

Part12 - VBA 学习第十一回 - 更多的新事物 ( 简体 )

| |
~ 上傳‧分享‧網賺 ~
~ 免費上傳空間‧請即申請 Freak Share ~
~ 進入後請點選左上角 注冊 ! ~

~ 声明事项 ~

如各位想把以下本文章转贴 , 请记得要注明出处.

本文章之内容为本人之经验所写, 绝无抄袭成份, 特此声明.

由于图片制作需时, 所以更新会比较慢.

存放图片的 SHARE A PIC SERVER 可能读取速度较慢, 请耐心等待.

Picture


之前我们都学到了很多东西 , 包括要计算机帮我们选择 , 要它显示讯息 , 打造使用者接口 , 增加模块 , 启动模块等等 . 现在我们就要利用之前学到的 , 和一些新的技术 , 让我们的仓库管理程序能够正式运作 .

首先把之前所保留的程序代码删掉吧 ~ 我们现在都不需要这些了 , 现在增加一段新的程序代码 Sub Entry . ( 记得吗 ? 为了方便管理 , 所以名字上要小心地考量一下 , 否则 , 当过了一段日子之后 , 你再看程序代码会不知道它在做什么哦 ~ )

嗯 ~ 我们来想一想 , 我们要怎样做 ~

第一 , 要把使用者在使用者接口输入的东西顺利加到报表内 .

第二 , 程序要能够确定到底最后一个记录在那里 .

第三 , 使用者输入的东西 , 在加到报表的时候 , 要加到适当的位置 , 避免记录出错 .

第四 , 我们要怎样才能打开使用者接口 ... ... ...

先从简单的东西开始吧 ~ 怎样打开使用者接口 !

之前 , 我们在 EXCEL 加了一排新的按钮

( Pic12_1 )

其中一个按钮 , 可以制造一个按钮在报表上


( Pic12_2 )

我们就增加一个按钮吧 ~


( Pic12_3 )

双击按钮 , 会自动进行程序代码编写窗格 , 你会看到 Private Sub CommandButton1_Click() 和 End Sub , 我们就在这里加一点东西 , 请你现在打上 UserForm1.Show . 完成之后 , 再打开报表的页面 , 按一下那个刚刚做出来的按钮 , 看到使用者接口跳出来了吗 ? 没有 ~ 又出问题了吗 ... " 点两次又回到程序编写的接口耶 ~ "

放心放心 , 看一下下面的图 , 按一下红色箭头所指的图示吧 ~ 告诉你 , 我们在增加按钮的时候 , 这个按钮就反白了 , 它是什么 ? 它就是控制开启和结束编辑模式的按钮哦 ~ 记住了 ~ 增加按钮之后一定要把它按回 , 否则你的按钮就不能用了 . 如果你有注意看 , 我们刚刚所增加的按钮上面有六个白色的圆点 , 如果结束了编辑模式 , 这六个白色圆点就会不见了 .


( Pic12_4 )

现在再按一次我们的 CommandButton1 吧 ~ 看了到哦 ~ 使用者接口出来了 ~ 哈哈哈 ~ 先按使用者接口的右上角的 x 关掉 , 然后我们就把不能关闭使用者接口的问题解决 .

打开程序代码编辑接口 , 打开 UserForm1 , 在结束按钮上连点两次 , 打开程序代码部份 , 在 Private Sub CommandButton2_Click() 和 End Sub 中间 , 加一行程序代码 END , 回到报表 , 再按一次那个 CommandButton1 打开了使用者接口 , 按一次结束按钮 ... ... 嘿嘿嘿 ~ 成功了 ~ 使用者接口关掉了 ~ 如果你在设计使用者接口时 , 设计了按钮来结束程序 , 只要在按钮内加上一句 END , 之后 , 你的那个结束按钮就能够运作了哦 ~

现在我们回到 模块 DataEntry 的 Sub Entry() , 现在就开始程序编写的伟大工程 ~ 有记得我们对于报表的输入要求吗 ? 要求一 : 计算机要懂得自己增加记录编号 , 二 : 一定要记录使用者所选择的状态 , 三 : 三个不同状态的记录位置要分开 .

为了方便之后的除虫 ( DEBUG ) 工作 , 先增加多两个模块 , 第一个负责第一次增加记录时使用 ( 即没有任何记录时使用 ) , 名称定为 NewReport , 第二个负责往后的增加记录 ( 即报表已经有一个或更多记录 ) , 名称定为 AddRecord .


( Pic12_5 )

好 ~ 准备工作又完成了 , 下一回 , 你将会学到更多的东西 , 和正式打造你的第一个模块 ~

对了 ~ 再告诉你一件事 , 如果想要更改在报表上 CommandButto1 这个按钮的名字 , 只要在程序设计画面的左上方 , 项目窗格内点选 Sheet1 , 之后 , 在左下方属性窗格顶部的下拉式选单找到 CommandButton1 , 再修改它的 Caption 就可以了哦 ~

下一回再见噜 ~

10 留言:

匿名 說...

Dear:威廉先生 (我試過很多次,都無法成功)
打開程式碼編輯介面 , 打開 UserForrm1 , 在結束按鈕上連點兩次 , 打開程式碼部份 , 在 Private Sub CommandButton2_Click() 和 End Sub 中間 , 加一行程式碼 END , 回到報表 , 再按一次那個 CommandButton1 打開了使用者介面 , 按一次結束按鈕 ... ... 嘿嘿嘿 ~ 成功了

威廉先生 說...

請告訴我電腦出現的錯誤訊息 :)

另外下次記得要署名 , 方便辨認 :)

匿名 說...

Dear: 威廉先生
在 Private Sub CommandButton2_Click() 和 End Sub 中間 , 加一行程式碼 END ..(我每有辦法將按鈕結束.且我輸入end後也沒有看就結速鈕..以上

匿名 說...

Dear:威廉先生
我目前正在寫一個程式,針對資料重複性作篩選! 範例如下:
1.日期1/1 時間10:00:05 號碼111 數量490
2.日期1/1 時間10:00:10 號碼111 數量480
3.日期1/1 時間10:00:15 號碼222 數量490
4.日期1/1 時間10:00:20 號碼333 數量490
5.日期1/1 時間10:00:25 號碼333 數量450
請問威廉先生,我只要保留號碼最後一次刷取時間的數量.號碼不能有重複性.只要記錄時間最後一次的數量.麻煩威廉先生教我如何撰寫VBA..Thanks

威廉先生 說...

Dear: 威廉先生
在 Private Sub CommandButton2_Click() 和 End Sub 中間 , 加一行程式碼 END ..(我每有辦法將按鈕結束.且我輸入end後也沒有看就結速鈕..以上

==============================

請問 , 你的電腦有執行程式嗎 ?

END 是結束程式的程式碼 , 如果你的程式正在執行 , 當你的按鈕中加入 END 這個字 , 一按下按鈕程式就會立即中止了 .

另 , 請署名 ! :)

威廉先生 說...

Dear:威廉先生
我目前正在寫一個程式,針對資料重複性作篩選! 範例如下:
1.日期1/1 時間10:00:05 號碼111 數量490
2.日期1/1 時間10:00:10 號碼111 數量480
3.日期1/1 時間10:00:15 號碼222 數量490
4.日期1/1 時間10:00:20 號碼333 數量490
5.日期1/1 時間10:00:25 號碼333 數量450
請問威廉先生,我只要保留號碼最後一次刷取時間的數量.號碼不能有重複性.只要記錄時間最後一次的數量.麻煩威廉先生教我如何撰寫VBA..Thanks

============================

嗯 ... 如果要寫一個程式出來可能要寫很長 , 貼出來的話會有困難呢 ~ 所以就在這裡給你一點建議吧 ~

按照你的要求 , 只要把尋找目標位置的條件用 " 號碼 " 來找 , 找到之後每次都更改日期時間和數量就可以了 .

試試吧 :)

另 , 請署名 ! :)

KEVIN.SUNG 說...

Dear: 威廉先生
你介意我說把目標用號碼來尋找,找到之後每次更改時間及日期.因我的data有可能上千筆.可能這樣辦法太慢了...我想到用一個指令cells,選取data到另一個地方.去放置data~~例如:11的號碼(原位置"A1")放置
"P1",而下一個號碼(原位置"A2")跟第一個比對(如號碼一樣,覆蓋"P1",,不一樣的話.放置"P2"的位置
請問威廉先生DATA跟DATA要比對的時候要用哪個指令(作判斷時OK & NG)
謝謝威廉先生

威廉先生 說...

Hi Kevin ,

比對的話 , 你可以試一試先增加兩個變量 , 用作記錄原先的記錄 , 另一個是新的記錄 , 然後才進行比對 .

例子 ~
A = worksheets("Sheet1").range("a1").value
B = worksheets("Sheet1").range("b1").value

if A = B then 什麼什麼
if A <> B then 什麼什麼

試試看有沒有幫助吧 :)

Unknown 說...
此留言已被作者移除。
Unknown 說...

Dear 威廉先生

我已按照步驟從第一篇到第十一篇逐步操作了一次,但在呼叫表單時出現了一個錯誤訊息。

"該ActiveX Designer的型態資訊(Type Information)與所儲存的資料不相符。無法載入。

最新回應

Loading...

有事啟奏‧無事閒聊 ~ 哈 ~


米高積遜全復刻 哈利波特 Michael Jackson 妙麗 金曲獎 MJ 迈克尔杰克逊其实没有死!美国CBC电台已证实 哈利波特 hongkong168 蓮花河畔景苑 盧廣仲 鄧麗欣 不想放手New! 陳珊妮 方大同 巨乳排球 痞子英雄 23 東風 蕭閎仁 米高積遜全復刻 上海 倒塌 南王姐妹花 周杰倫 變形金剛2下載 michael jackson 去世 天文台 米高積遜 花拉科茜 天圖佈局 浪卡 耳廓狐 神探俏嬌娃 韶关旭日玩具厂 譚曉風 严妍 僧老少閒 地下天文台 金泰浩 百老匯 巨乳排球 陳振聰 柯柏文 aika 麥可傑克森