返回列表 上一主題 發帖

數據需要重新編碼,請幫幫我一下

數據需要重新編碼,請幫幫我一下

我有一些資料檔,需要重新編碼
工作表一從c2到di123重新編碼完後。要放到工作表二相同的位置
ps:未來不同的資料檔資料數量是不同的(有的會到90歲)
重新編碼的原則如下:
以性別2,年齡是15為例原始數據如下
第一年    第二年   第三年   第四年   第五年   第六年
202        445        694        950        1213        1484

編碼後儲存格值=202-性別-年齡的最後碼
也就是202-2(性別的數值)-5(年齡的末碼,十位數不計)=195
這個值放到工作表二的C33儲存格
D33=445-2-5=438放到工作表二的D33的位置
E33=694-2-5=687放到工作表二的E33的位置
F33=950-2-5=943 放到工作表二的F33的位置
…………………………………………………………..以此類推
希望各位高手幫忙解答
數據在附件中
謝謝

活頁簿1.rar (9.96 KB)

jeason

回復 2# yen956


    感謝yen956大的回覆
   我有用=工作表1!C2-工作表1!$A$2-RIGHT(工作表2!B2,1)來完成
   你是用餘數來完成,讓我有學習到
   可是因為數據到時到複制到別的工作表去使用
   我怕複制會把公式COPY過去而讓值沒辦法帶過去
   所以才想用VBA來完成
   看這樣會不會簡單一點
   因為對VBA是新手 在摸索中
  會慢慢去了解內容的義意
  謝謝你的回覆
jeason

TOP

回復 4# yen956


  太可怕了
你怎麼知道你後來補的部份是我不懂的
你有讀心術嗎?
真的謝謝你
jeason

TOP

上面的東西我有遇到問題
如果在表格中的內容會有文字和數字的參雜積不一定在那個行列中)
如果是數字要轉換
如果是文字直接複制
我該怎麼改內容

For i = 3 To endCol
        For j = 2 To endRow
    if 是文字 then(請問這兒怎麼下指令???
   我想用isnumber()對嗎?如果是否則直接copy
           sh2.Cells(j, i) = sh1.Cells(j, i)
     ELSE
            sh2.Cells(j, i) = sh1.Cells(j, i) - sh1.Cells(j, 1) - sh1.Cells(j, 2) Mod 10
END IF
        Next

請高手指教,謝謝
jeason

TOP

回復 8# GBKEE


謝謝g大的回覆喔
jeason

TOP

        靜思自在 : 謊言像一朵盛開的鮮花,外表美麗,生命短暫。
返回列表 上一主題