問題:
目前自己做了一張表格
分別儲存格為
(B11:B30)
(G11:G30)
(L11:L30)
(V11:V30)
(AA11:AA30)
在這些儲存格內會有不同的數字
如何做一個按鈕,按一下同時除以8
再按一次則同時變回原本的數字?
請教VBA高手大大教學,謝謝
kkmax1234 wrote:
問題:目前自己做了一...(恕刪)

要存一個Flag在工作表內判斷是否是按下第一次,是的話用迴圈去抓每個儲存格的值將值除8,反之用迴圈去抓每個儲存格的值將值乘8,應該可行吧
kkmax1234
不好意思,請問有範例能參考嗎?
小小尉 wrote:
要存一個Flag在工...(恕刪)


Sub click()

Dim Flag As Boolean '旗標宣告
Flag = Worksheets("工作表1").Cells(1, 1).Value '設置旗標
'判斷旗標狀態為T
If Flag Then
Call Cal(11, 30, 2, 0) '呼叫計算函數給予欄位起始數值、結束數值、欄位號碼(A=1、B=2...依此類推)、運算元(0=除、1=乘)
Worksheets("工作表1").Cells(1, 1).Value = "False" '設定旗標狀態
'判斷旗標狀態為F
Else
Call Cal(11, 30, 2, 1) '呼叫計算函數給予欄位起始數值、結束數值、欄位號碼(A=1、B=2...依此類推)、運算元(0=除、1=乘)
Worksheets("工作表1").Cells(1, 1).Value = "True" '設定旗標狀態
End If

End Sub

Sub Cal(ByVal Start_i As Integer, ByVal End_i As Integer, ByVal column_num As Integer, ByVal operand As Integer)
Dim i As Integer '迴圈i宣告
'判斷運算元(0=除、1=乘)
If operand = 0 Then
For i = Start_i To End_i
Worksheets("工作表2").Cells(i, column_num).Value = Worksheets("工作表2").Cells(i, column_num).Value / 8 '將對應欄位數值除8
Next
ElseIf operand = 1 Then
For i = Start_i To End_i
Worksheets("工作表2").Cells(i, column_num).Value = Worksheets("工作表2").Cells(i, column_num).Value * 8 '將對應欄位數值乘8
Next
Else
MsgBox ("operand error") '輸入錯誤operand狀態
End If
End Sub

試試看吧...只能幫到這了
snare
我常常把flag加到按鈕caption裡面
小小尉
還是snare大大厲害~[讚]
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!