[算表] 如何依日期選擇對應的儲存格
軟體:Excel
版本:2003
我用 Excel寫了一個「每日品管表」
這個品管表共有20個sheets
每個sheet裡面有1~31日
分別C1~AG1各佔一格
我在第一個sheet裡面設計了兩個button,
希望按這第一個button,
其餘19個sheet裡面的游標(方框)都能自動跳到當日的第21列;
按第二個button,
所有sheet裡面的游標都能跳到當日的第32列。
我是用excel裡面的vba寫的,
寫法如下:
Private Sub CommandButton1_Click()
Dim mydate '宣告mydate
Dim i, x As Integer '宣告i及x兩個變數
mydate = today '宣告mydate就是今天的日期(包含年月日)
i = Day(mydate) 'i等於日期中的「日」
x = i - 11 'x等於i往左11格
Sheets("K").Select '選擇Sheet K
Cells(21, x).Select '選擇Sheet K裡面的(21,x)這格
Sheets("Na").Select '選擇Sheet Na
Cells(21, x).Select '選擇Sheet Na裡面的(21,x)這格
…… '20個Sheet依此類推
End Sub
其中我以黃色和綠色標示的地方是我不懂的:
黃色的部分,
我認為要寫成 x = i + 2,
因為我的1號是C開始,不是從A。
但是位子一直不對,
直到改成 x = i - 11 才會是我想要的位置。
為什麼會這樣?
綠色的部分,
我的程式執行到綠色的部分就會出現1004的錯誤警告,
我一直抓不出原因。
我有試過分別把
Sheets("K").Select
Cells(21, x).Select
兩行的其中一行刪掉
都可以順利執行
但是放在一起就無法執行
另一個疑問是Cells的位置,
x表示橫向(欄),y表示直向(列),
我一直以為(x,y)的方法才對,
但vba裡面似乎是(y,x)??
不知道版上有沒有高手可以幫幫忙 >"<
在這邊先謝謝耐心看完的各位~
----
為了避免我的述敘和程式影響了大家的思考,
簡單說一下我的需求,
也許有其他更好的做法:
我需要20個sheet,
每個sheet的名稱因為需求分別取名(Na, K, Cl, Ca, Mg……)
橫欄分別是1~31日
直列則分別需要填入兩種數據(第21列及第32列)
例如今天是17日,
我想要先填20個sheet裡面17日的第21列,
填完之後再填20個sheet裡面17日的第32列。
我希望他游標可以自動在該填的位置等我,
而不需要一個一個去點。
請版上的高手幫幫忙吧Q_Q
我是非本科看書自學的~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.117.34.245
→
09/17 23:11, , 1F
09/17 23:11, 1F
→
09/17 23:12, , 2F
09/17 23:12, 2F
→
09/17 23:13, , 3F
09/17 23:13, 3F
→
09/17 23:15, , 4F
09/17 23:15, 4F
→
09/17 23:15, , 5F
09/17 23:15, 5F
推
09/18 07:54, , 6F
09/18 07:54, 6F
→
09/18 20:20, , 7F
09/18 20:20, 7F
→
09/19 04:33, , 8F
09/19 04:33, 8F