質問: セルに入力された値を別セルに条件付で転記したい エクセルにおいて、 セルのa1に 1 と入力したら セルa2に 半角で q00000001と表示 セルのa1に 10 と入力したら セルa2に 半角で q00000010と表示 セルのa1に 100 と入力したら セルa2に 半角で q00000100と表示させたいです。 先頭は必ずqで計9桁でセルa1の入力値がみたない場合0で埋める。 これを行う一番いい方法は何がありますでしょうか? できたらセルには式は入れたくないです。 そのエクセルには private sub worksheet_selectionchange(byval target as range) call ●● end sub が入っています。 シート保護をかけて セルa1とb1しか入力できないようになっています。 今はセルb1に入力するとマクロ●●が走って セルb2にマクロのselect caseで変換された値が転記されるようになっています。 もうひとつマクロを作って private sub worksheet_selectionchange(byval target as range) call ●● call ●●2 end sub がいいでしょうか? その場合、そのマクロの記述そのものを教えてください。 お願いします。
回答: private sub worksheet_change(byval target as range) if intersect(target, range("i9:i10")) is nothing then exit sub on error goto line application.enableevents = false select case target.address(0, 0) case "i9" target.offset(, 1).resize(, 5).value = sheets("sheet2").range("b1").offset(target.value).resize(, 5).value call ハイフン挿入0m case "i10" application.enableevents = false range("d15").value = "q" & format(target.value, "00000000") end select line: application.enableevents = true end sub なら?