|
▼Yoshim さん:
こんにちは〜
>セル位置は随時選択で固定しておりません。
>その数字の2番目に自在の数字を、また4番目に自在の数字を入れたいのです
>元の数字
>23456
>
>変更後の数字
>2934586 ←9と8を入れた結果です。
ワークシート関数のReplaceを使った方法です。
Sub Try1()
Const prompt = "挿入する数値を2つカンマで区切って入力してください"
Dim i As Integer
Dim Num
Num = Application.InputBox(prompt, , "9,8", Type:=2)
If InStr(Num, ",") = 0 Then Exit Sub
Num = Split(Num, ",")
With Selection
.Value = Application.Replace( _
Application.Replace(.Cells, 2, 0, Num(0)) _
, 4 + Len(Num(0)), 0, Num(1))
End With
End Sub
ワークシート関数のあるものは Applicationクラスのメソッドとして
使うと、複数セル範囲を一括処理することができます。
なお、InputBoxで [9,8] を指定したとき、
セルの値が 23456 であれば、
上の結果は 2934856 となります。
なので、
> 2934586
としたいときは、
Application.Replaceメソッドの第2引数の値を調整してください。
|
|