2011年7月2日 星期六

輸入或輸出計算結果

初學Excel VBA的人可能會想,以前我用VB可以用msgbox()或用label.text來輸出計算結果,換成Excel VBA後,不是有很多excel儲存格可以用嗎,沒錯

利用range物件的value屬性即可輸入或輸出值

 

Sub test1()

    Range("c2").Value = Range("a2").Value + Range("b2").Value
   
End Sub

 

 

事實上excel也可放置active控制項來做輸入輸出

 

Sub test1()

    Range("c2").Value = Range("a2").Value + Range("b2").Value
  
   '因為此VBA置於模組內,而Label與textbox放置在工作表1內,因此無法直接取用
    'Label1.Caption = Range("c2").Value
    'TextBox1.Text = Range("c2").Value
   
    工作表1.TextBox1.Text = Range("c2").Value
    工作表1.Label1.Caption = Range("c2").Value
   
   
End Sub

2011年7月1日 星期五

選取欄或列

'選取欄

Sub aaa()
   'i只能輸入英文字母

   i = InputBox("請輸入您選的英文字母欄")
   '將Z設定為整欄的範圍

   Z = i & ":" & i

   '將整欄選取
   Columns(Z).Select

   '使用msgbox通知使用者選取的欄

   MsgBox ("您選的是" & i & "欄")
End Sub

 

'選取列

Sub bbb()
   'i只能輸入數字

   i = InputBox("請輸入您選的數字列")
   '將Z設定為整列的範圍

   Z = i & ":" & i

   '將整列選取
   Rows(Z).Select

   '使用msgbox通知使用者選取的列

   MsgBox ("您選的是" & i & "列")
End Sub

excel VBA筆記

 

 

檢查某列是否有空白列,刪除空白列

 

Sub aaa()
    '到A欄最後一列
    Range("A65530").Select
    '跳到該欄最後一列有資料的地方
    Selection.End(xlUp).Select
    'x為最後一列有資料的列數
    x = ActiveCell.Row
    '從A1列開始
    Range("A1").Select
    '利用迴圈來判斷是否要刪除該列
    For y = 1 To x
        '如果該儲存格是沒資料,empty
        If ActiveCell.Value = Empty Then
             'x1為沒有資料那列
             x1 = ActiveCell.Row
             '將x1:x1設定為z列
             z = x1 & ":" & x1
             '選取z列
             Rows(z).Select
             '刪除z列後,剩餘資料往上移動一列
             Selection.Delete Shift:=xlUp
        Else
           
            ActiveCell.Offset(1, 0).Select
        End If

    Next
    '回到A1儲存格
    Range("A1").Select
End Sub


2011年6月16日 星期四

暑假不得閒之MCAS(MOS)準備

原本規劃要上Excel VBA的計算機程式在學校要求證照輔導的考慮下,打算撥出幾周的時間來上證照考試,當然老師自己要先取得證照(雖然已經有電軟應用乙級)。在顏老師、忠義老師還有幾位熱心同學的協助下,趕緊上網找資料:

 

Master2003大師級認證:
通過以下四科軟體考試,即取得MOS大師級認證【可分梯次考】
.Microsoft Word 2003 Expert
.Microsoft Excel 2003 Expert
.Microsoft PowerPoint 2003 Core
.Microsoft Access 2003 Core(二選一)
.Microsoft Outlook 2003 Core(二選一)

另外,新的Office 2007, 2010認證除了也稱為MOS外,又名為Microsoft Certified Application Specialist(MCAS)

Microsoft Certified Applictation Specialist考試科目如下:

Microsoft® Office Word 2007
Microsoft® Office Excel® 2007
Microsoft® Office PowerPoint® 2007
Microsoft® Office Access™ 2007
Microsoft® Office Outlook® 2007
Windows Vista™ for the Information Worker
共6科(不分專業級或標準級)。


網路上有好心人寫了練習題可以下載,網址在

嵐色共享體-Office研究室



在畫面右上角選擇科目後下載,安裝後須帳號密碼,可到以下網址申請:


 

 

2011年5月21日 星期六

dw8的幾個問題

已經有好幾個學期沒有教網頁設計,連之前微軟的frontpage也改朝換代到Microsoft Expression(Microsoft Office SharePoint Designer 2007),無奈這個新軟體中文書都還沒有幾本,因此改成使用歷史悠久的MacroMedia DreamWeaver 8來上課。發現有一些問題:

1. 頁框組有些問題,明明已經設定好每個頁框對應的網頁,存檔後關閉竟然會說找不到另一個不知名的網頁。

2. 插入Flash按鈕不會出現,後來上網找到解法,原來網站的命名不能使用中文,可接受數字或英文,設定好網站名稱後即可插入Flash 按鈕。

3. 插入浮動式選單出現問題,文字呈直線排列,如下圖

選單中的文字怎麼變成垂直排列了。


經過上網搜尋答案,終於發現需手動修改DW8自動產生的mm_menu.js檔,在136列的地方, 將原本的

var itemProps = '';
改成
var itemProps = 'white-space:nowrap;';
就可以了,修改成功的成果如下。




 


4. 樹狀目錄



5. 加入wmv播放檔





ClassID clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95