顯示具有 Excel VBA 標籤的文章。 顯示所有文章
顯示具有 Excel VBA 標籤的文章。 顯示所有文章

2011年12月2日 星期五

excel限制儲存格資料格式



常常會遇到儲存格想要限制使用者輸入資料的種類,剛好最近教學需要,也查到相關資料

1. 首先先選取要限制的範圍儲存格 

2. 在資料標籤/資料驗證/資料驗證

3. 設定標籤/儲存格內允許 自訂,公式 = (int(儲存格)=儲存格)*(儲存格>0)*(儲存格<4)

    我當初的目的是要1, 2, 3三種正整數,因此第一個int可以限制成正整數,第二個括弧內限制大於0,第三個括弧限制小於4。



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