[算表] Excel VBA 取代問題
軟體:Excel
版本:97-2003
VBA新手上路中,問題很可能繁瑣或是過於基本,希望失禮處各位先進多多包涵。
想請教一下在取代的過程中,以下的部份該如何縮短程式碼。
變數的設定有初步了解,但是實際使用上還是存在著相當多的難處。
另外是否有Excel VBA的高手願意加個好友指導一下的嗎?
Private Sub CommandButton1_Click()
If ActiveSheet.Range("o3").Value = 2 Then
Cells.Replace What:="2月份", Replacement:="元月份", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End If
If ActiveSheet.Range("o3").Value = 3 Then
Cells.Replace What:="3月份", Replacement:="元月份", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End If
If ActiveSheet.Range("o3").Value = 4 Then
Cells.Replace What:="4月份", Replacement:="元月份", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End If
If ActiveSheet.Range("o3").Value = 5 Then
Cells.Replace What:="5月份", Replacement:="元月份", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End If
If ActiveSheet.Range("o3").Value = 6 Then
Cells.Replace What:="6月份", Replacement:="元月份", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End If
If ActiveSheet.Range("o3").Value = 7 Then
Cells.Replace What:="7月份", Replacement:="元月份", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End If
If ActiveSheet.Range("o3").Value = 8 Then
Cells.Replace What:="8月份", Replacement:="元月份", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End If
If ActiveSheet.Range("o3").Value = 9 Then
Cells.Replace What:="9月份", Replacement:="元月份", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End If
If ActiveSheet.Range("o3").Value = 10 Then
Cells.Replace What:="10月份", Replacement:="元月份", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End If
If ActiveSheet.Range("o3").Value = 11 Then
Cells.Replace What:="11月份", Replacement:="元月份", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End If
If ActiveSheet.Range("o3").Value = 12 Then
Cells.Replace What:="12月份", Replacement:="元月份", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End If
ActiveSheet.Range("o3").Value = 1
End Sub
=============================================================================
源起:在每月份的薪資統計表中,提取每人薪資計算項次出來到一張簡表中,
列印出來後當成薪資便條給員工。
想法:利用取代的方式將薪資便條的連結到統計表中欄位的檔名作更改,
從而達到取用不同工作頁的數值。
因為不是自己使用這個功能,所以弄一個物件給會計去點擊。
如果只是順順的 元月=>12月也就沒事,現在是怕點錯月份後無法回復,
例如:3月=> 1月,所以自己也排好了12個按鈕。
需求:1.簡化上面的程式碼。(這只是元月份的按鈕)
or
2.有更好的建議願意分享。
--
讀圖破萬張,預測如有神。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.255.143.15
→
02/27 11:22, , 1F
02/27 11:22, 1F
Office 近期熱門文章
PTT數位生活區 即時熱門文章