- ベストアンサー
excel VBAで本文中の変換をするには
Wendy02の回答
こんにちは。 詳しい例がなかったので、n -> n1, nn> n1n2 とするようにしました。 ごらんのとおり、 In Range("A1").CurrentRegion ですから、Range("A1")から、続いているセルの範囲に対して実行します。 間が離れたり行が開いていたら、そこまでしかできません。変更の必要があれば、レスをつけてください。 Sub EnterLetter() Dim c As Range Dim i As Long Dim j As Integer Dim k As Integer Const N As String = "n" '検索文字 Const F As String = "d" '初期化文字 i = 1 For Each c In Range("A1").CurrentRegion k = 1 Do If InStr(k, c.Value, F, vbBinaryCompare) > 0 Then i = 1 End If k = InStr(k, c.Value, N, vbBinaryCompare) If k > 0 Then c.Value = Mid$(c.Value, 1, k) & CStr(i) & Mid$(c.Value, k + 1) i = i + 1: k = k + 1 End If Loop Until k = 0 Next c End Sub
関連するQ&A
- EXCEL VBA で列の数字のみを修正したい
EXCEL VBA で列の数字のみを修正したいのですが 内容としては (1)カッコ内文字はそのまま維持 (2)添付資料のN001から始まっているある機械加工プログラムに N052,N053を挿入しプログラム内容はそのまま変更なく使用 今まで数値を一つずつ変更していて非常に大変で困っています。 ここでN001から始まる数値のみ順番にマクロで変換したいのですが おすすめのコードを教えてください。 (※A列に記載されているとして)
- ベストアンサー
- その他MS Office製品
- EXCEL(エクセル)で、シート上のすべての任意アルファベットの横に一桁の任意数字があるセルを変換したい
EXCEL(エクセル)で、シート上のすべての任意アルファベットの横に一桁の任意数字があるセルを、次に示すセルに変換する方法を教えていただけないでしょうか。(\d一桁の任意数字\n)の横に上記の任意アルファベットがあるセル。実際には()はつけないでください。 例、 H2Oを、H\d2\nOに置換。 O2を、O\d2\nに置換。 ただし、数式のセルは変更しないようにしてください。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- EXCEL VBAで組合せを作るには
EXCEL VBAで組合せを作る方法を考えているのですが、なかなか思い付かず質問させて頂いています。 例) 1 2 3 4 5 … nという数字があり、そこから抜き取り組合せを作る。 ・2個ずつの組合せ 1と2 1と3 1と4 という感じで組合わせて行くが、2と1というような逆のパターンは除外する。 ・3個ずつの組合せ、4個ずつの組合せ…と最終n-1個(n個全てを抜取る組合せは1パターンしかないので、あえて作らなくてもよいのではと思っています)まで組合せを作って行く。 という内容です。 抜き取りたい数字の個数が、いつも決まった数ではなく、それに対応したものが考えきれなくてつまづきました。 どうかよろしくお願いいたします。
- ベストアンサー
- その他(プログラミング・開発)
- エクセルの計算式で
こんにちはエクセルについて教えて下さい。 今現在N8のセルに以下の様な式を入れいています。 =IF(OR(N7="",M8=""),"",ROUND(N7*M8/1000,2)) この式ではN7とM8に数字が入ればN7×M8/1000となり例えばN7に100,M8に50が入ればN8には5が計算されて出てきます。 ただ、N7に100という数字ではなく、単価10×10のような文章を入れた時(数字以外の文字が入った時)には計算をさせたくないのですが、このようにさせることはできるのでしょうか?数字以外に入る文字が決まってはいないので、難しいかもしれませんが、できるようでしたら教えて下さい。
- ベストアンサー
- オフィス系ソフト
- excel vba セレクションされている範囲に対する処理
excellでVBAで 今ある列の連続した範囲(仮に$D$2:$D$8とか、$B$3:$B$7)とかがセレクトされているとする。 そのセレクトされている状態をマクロで処理し、そこに例えば$D$2:$D$8の場合は、順に2,3,4,5,6,7,8という数字を表示したい。 $x$n:$x$mでも同様、n、n+1、n+2、---、m(xは何でもいい) Selection.addressというのを使用して処理するのでしょうか、教えてください。
- ベストアンサー
- オフィス系ソフト
- n進法の変換!
数学が得意で、Excelの達人の方!(じゃなくてもいいんですが……) たとえば、Windowsに載っている、電卓を関数モードで使うと、16進法10進法8進法2進法の変換ができるんですが、ほかには変換できません。 と、言うことで、数字(12桁以上必要)を入れると、ほかの進法に変わるシートを作りたいんですが、ぜんぜんうまくいきません。 誰か、うまいのを教えてください。体裁は気にしません。 ※変換前のn進法のnを、たとえばA2に入力 ※変換後のn'進法のn'を、たとえばA3に入力 ※変換する、n進数を入力 と、こんなシートを作りたいんです。 よろしくお願いいたします。
- ベストアンサー
- 数学・算数
- Excelで数字が勝手に変換されてしまい困っています
Excelについて質問させて頂きます。 Excelで01/19と入力すると勝手に1月19日と変換されてしまうのですが、これを回避するにはどうすれば良いでしょうか? また、例えば電話番号などの入力で090????????(?は数字)と入力すると初めの0が消去されてしまい、90????????となってしまいます。 これについての回避方法も教えて頂きたいです。 よろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
- エクセル使用のトラブルで質問です。 列に入力の数字が、0と1の変換が勝
エクセル使用のトラブルで質問です。 列に入力の数字が、0と1の変換が勝手に行われているのは、なぜですか? 気が付かないうちに変換されているので、ちょっと困っています。 1017が1117とか、11156が10056とか、0⇒1・1⇒0 行を挿入したり、列の追加は随時行っています。 その列に関しては、一度入力した数字を修正することはありません。 回答よろしくお願いします。
- 締切済み
- Windows NT・2000
- EXCEL VBA で列の数字のみを修正No.2
前回の応用の質問になります。 EXCEL VBA で列の数字のみを修正したいのですが 内容としては (1)カッコ内文字はそのまま維持 (2)添付資料のN001から始まっているまたはN001以外の始まる、ある機械加工プログラムに N053,N054を挿入しプログラム内容はそのまま変更なく使用 ここで始めたいNナンバー数値(例N075からの連番)にマクロで変換したいのですが おすすめのコードを教えてください。 (※SHEET1のA列に記載されているとして) 前回の質問時はN001からの連番を以下のコードでできました。 Sub test() Dim i As Long Dim j As Long Dim str As String i = 1 j = 1 str = Worksheets("sheet1").Range("A" & i).Value Do While str <> "" If Left(str, 1) = "N" Then str = "N" & Format(j, "000") & Mid(str, 5, Len(str) - 4) Worksheets("sheet1").Range("A" & i).Value = str j = j + 1 End If i = i + 1 str = Worksheets("sheet1").Range("A" & i).Value Loop End Sub いろいろコードを触ってみましたが思うように出来ずに困っています。 よろしくお願いします
- ベストアンサー
- その他MS Office製品
お礼
早速作成して頂き大変ありがとうございます。 試したみましたが、うまく挿入されました。 ありがとうございます。