Re: [算表] 儲存格裡面可以加入其他儲存格的資料嗎?

看板Office作者 (佩蒂吉他)時間7年前 (2018/10/16 09:19), 編輯推噓3(3020)
留言23則, 4人參與, 7年前最新討論串2/2 (看更多)
※ 引述《poeta (鍵盤詩人)》之銘言: : 軟體:excel : 版本:13 : 不好意思,標題表達的不好,我的報表是這樣 : A的年薪 B的年薪 C的月薪 : 95年 100 105 9 : 96年 120 100 10 : 97年 105 89 9 : A跟B的原始資料都是年薪,偏偏C的是月薪。 : 假如我把C的標題改成 C的月薪(年薪) : 底下的資料能否變成 9(108) 10(120) 9(108) : 其中108、120、108,不是單純手輸,是要自動運算。 : 當然我有兩個解決方法,一個是手輸入。 : 另一個是乾脆不要月薪的資料,直接把C的那列改成年薪,這樣問題也能解決。 : 我只是問問能否如此呈現。 練習一下巨集 我還是小嫩嫩 Sub test() Dim Kx As Range, yy As Range Dim col1 As Integer Set Kx = Sheets("test").Range("A1:A" & Range("A1").End(xlDown).Row) col1 = Range("A1").End(xlToRight).Column - 1 For i = 1 To col1 For Each yy In Kx.Offset(0, i) If IsNumeric(yy) And InStr(Kx.Offset(0, i).Rows(1), "月薪") > 1 Then yy.Value = yy & "(" & yy.Value * 12 & ")" End If Next Next i End Sub -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.250.67.78 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1539652757.A.696.html

10/16 09:46, 7年前 , 1F
你的for each yy那邊是有問題的
10/16 09:46, 1F

10/16 09:47, 7年前 , 2F
1.kx.offset()只會有一個格子,不需要用for each loop
10/16 09:47, 2F

10/16 09:48, 7年前 , 3F
2.現有kx.offset寫法只會在A欄中執行
10/16 09:48, 3F

10/16 09:49, 7年前 , 4F
嗯,用手機有點難review,等等用電腦整理一下
10/16 09:49, 4F

10/16 10:03, 7年前 , 5F
因變數kx有要取得a1起連續範圍的資料
10/16 10:03, 5F

10/16 10:04, 7年前 , 6F
所以kx.offset()應是不會只有一個格子,所以以for each迴
10/16 10:04, 6F

10/16 10:04, 7年前 , 7F
圈是可行的
10/16 10:04, 7F

10/16 10:06, 7年前 , 8F
且kx.offset要配合迴圈i值來做欄偏移,也不會只有在a欄執
10/16 10:06, 8F

10/16 10:07, 7年前 , 9F
10/16 10:07, 9F

10/16 10:08, 7年前 , 10F
該寫法也不會執行於a欄,因為i起始值為1,執行上也是b欄起
10/16 10:08, 10F

10/16 10:09, 7年前 , 11F
執行
10/16 10:09, 11F

10/16 10:09, 7年前 , 12F
對,對不起是我看錯0rz
10/16 10:09, 12F

10/16 10:12, 7年前 , 13F
p大寫法用於原文資料內測試應是可行的,只需於a1處填上標
10/16 10:12, 13F

10/16 10:13, 7年前 , 14F
題資料,讓變數kx來抓取a1:a4,如無的話原文資料上則會抓
10/16 10:13, 14F

10/16 10:15, 7年前 , 15F
a1:a2,這方面xldown或xlup可互用看看
10/16 10:15, 15F

10/16 10:19, 7年前 , 16F
感謝大大們的指點
10/16 10:19, 16F

10/16 10:23, 7年前 , 17F
如果A1沒資料 那往右邊的最後一欄位要怎麼寫..
10/16 10:23, 17F

10/16 10:25, 7年前 , 18F
儲存格的話 [xfd1].end(xltoleft) 欄號的話加column
10/16 10:25, 18F

10/16 10:28, 7年前 , 19F
真神 感謝S大
10/16 10:28, 19F

10/16 10:31, 7年前 , 20F
如使用上不限2003,2007以上格式 cells(1,columns.count)
10/16 10:31, 20F

10/16 10:33, 7年前 , 21F
來取得iv1或xfd1最右側欄號儲存格
10/16 10:33, 21F

10/16 10:36, 7年前 , 22F
我會建議把Instr判斷放在for each外面,可以省一些時間
10/16 10:36, 22F

10/17 21:51, 7年前 , 23F
好難喔 QQ
10/17 21:51, 23F
文章代碼(AID): #1RnJoLQM (Office)
文章代碼(AID): #1RnJoLQM (Office)