請問iT的高手,以下程式碼("C7:BG7")的範圍,要如何修改成尋找第一個星期一,並貼上("C49:BG49")的值:
Sub Arrange_Shift_03()
Set theWS_shift = Sheets("班表")
Sheets("班表選擇").Select
Sheets("班表選擇").Range("C3:C59").Select
Selection.Copy
Sheets("班表").Select
Sheets("班表").Range("C49").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
theWS_shift.Range("C49:BG49").Copy
theWS_shift.Range("C7:BG7").PasteSpecial Paste:=xlPasteValues
End Sub
把這兩行
theWS_shift.Range("C49:BG49").Copy
theWS_shift.Range("C7:BG7").PasteSpecial Paste:=xlPasteValues
改成下面這樣試看看吧
Dim find_row As Integer
-- theWS_shift.Columns("B:B").Find("一").Row 找出星期一在哪一列
find_row = theWS_shift.Columns("B:B").Find("一").Row
theWS_shift.Range("C49:BG49").Copy
theWS_shift.Range("B" & find_row).PasteSpecial Paste:=xlPasteValues
建議您把整個問題需求提出來詢問
不然一個個單點破關 可能最後也達不到您想要的結果
有想認真學的話,
你應該要從基礎開始學,
感覺你對程式的邏輯很沒有概念,
VBA已經算是一種程式語言了,
雖然只能用在Office,
你應該去找一本Excel VBA的書,
仔細將整本書看完並一個一個實作,
另外,
Excel VBA可以利用 中斷點 及 F8逐步偵錯,
來做Debug的動作,
並且可以在 監看式 中看到當前的變數值,
來判斷是否跟自己要的資料有出入.