![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
生徒配布用の穴埋め形式のプリントを使用しています。
『〔1 △ 〕は〔2 □ 〕であり〔3 ○ 〕となる。』というありふれた形式です。
〔 〕の中に入る解答を、冒頭の番号とともに一括してプリントの最後に表示する
マクロを作ってもらいました。
1 △ 2 □ 3 ○ と文書の最後に表示されます。
ところがやっかいなことに〔〕内の数字を「一太郎の自動連番」で作成していくと
〔10 ※〕〔11 ★ 〕〔12 ☆ 〕などの数字はすべて、1 ※ 1 ★ 1 ☆という具合に
〔〕内の連番数字に連携することなく
すべて冒頭の番号が「1」(十の位の数字、従って連番が20番台になると「2」
としか表示されません。
以下に「作成してもらった」マクロを添付しています。
どこを変更したら、
「一太郎の連番で作成した数字で、10以上の2桁目以降もきちんと表示できる」ようになりますか。
よろしくご教示ください(作成者が退職されて職場にはいません)。
!!Jumpstart()
Errorbreakmode(1,1,1)
do
Searchstring("〔")
!! if searchstringresult() = false
!! exit do
!! end if
処理
loop
END
!!!!!!!!!!!!!!!!!!!
sub 処理
nextcharacter()
do
if getcharacter()<>"〕"
delete()
%t=%t+1
end if
loop while getcharacter()<>"〕"
for %i =1 to %t+1
insert(" ")
next
end sub
No.1ベストアンサー
- 回答日時:
1キャラクタ文字単位で拾って一つ目の文字を数値としているのだから、正常な動作ですね。
連番は1キャラクタとして扱われるから当然なんですよ。
連番の「10」は、これだけで1キャラクタとした扱われ、さらにその先頭の1文字だけが拾われているわけです。
連番のキャラクタ文字を数値に変換する処理を挟み込むことで対策できますが、
今度は連番を使わない場合の処理を記述する必要があります。
理由が分かったところで自力で修正してみてください。
がんばれ。
・・・余談(というか、こっちのほうがメイン)・・・
諦めて、一つずつ手作業で行うことを強く強く強く強くお勧めします。
マクロその物が分からないんでしょ?
そのままで使いたいなら、
連番を使った後、連番の右に連番の数字を改めて記入しましょう。
そして連番を解除する。
少なくともこれなら、対応する数字を間違えることはない。
・・・
代わりにマクロを修正をしてもらった場合、目の前にある問題は解決したように見えるけど、それは疑問の先送りにしかならないぜ。
根本的な問題は解決していないんだ。
仕様が変わった時にまた質問しなきゃならないことになるのは目に見えている。
教える立場にある人なら、これくらいは認識できているはずですが...。
そんなわけで、何が分からないのですか?
・作り変えるために必要なマクロの知識が欲しいのか、
・試行錯誤したが希望する結果を得られないのでアドバイスが欲しいのか、
…という事であれば相談に乗ることはできます。
(前述の回答は後者です)
ここは、代わりに作り替えてくださいという「作業依頼」をする場所ではありません。
「利用規約」と「投稿ガイドライン」を熟読して理解したうえでルールを守って利用するようにしましょう。
貴重なご意見有り難うございました。連番ではなく、手書きで書き込めば何てことはなく動くマクロですので、ご教示いただいたとおりにするのが最善の策と、二晩考え続けて答えが出ました。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Excel(エクセル) 製品番号での整列と、検索に関して 3 2023/06/28 19:20
- Visual Basic(VBA) ユーザーフォームの表示を追加したい 2 2023/03/26 23:18
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- Visual Basic(VBA) 【VBA】印刷マクロのループ処理が反映されません 3 2022/08/09 02:15
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
特定のPCだけ動作しないVBAマク...
-
Excel マクロ VBA プロシー...
-
エクセルで特定の列が0表示の場...
-
メッセージボックスのOKボタ...
-
一つのTeratermのマクロで複数...
-
ExcelVBAでPDFを閉じるソース
-
ソース内の行末に\\
-
特定文字のある行の前に空白行...
-
TERA TERMを隠す方法
-
wordを起動した際に特定のペー...
-
アクセス マクロ クリップボ...
-
【EXCEL VBA】オートシェイプを...
-
ExcelVBA 図形をクリックした...
-
ExcelのVBA。public変数の値が...
-
エクセルに張り付けた写真のフ...
-
マクロ実行時、ユーザーフォー...
-
コマンドボタンに二回目のマク...
-
WORD テキストボックスを全ペ...
-
EXCELマクロでのThisisWor...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
エクセルで特定の列が0表示の場...
-
特定のPCだけ動作しないVBAマク...
-
Excel マクロ VBA プロシー...
-
メッセージボックスのOKボタ...
-
一つのTeratermのマクロで複数...
-
ExcelのVBA。public変数の値が...
-
Excel VBAからAccessマクロを実...
-
EXCELのVBAでRange("A1:C4")を...
-
ExcelVBAでPDFを閉じるソース
-
エクセルに張り付けた写真のフ...
-
エクセルで別のセルにあるふり...
-
TERA TERMを隠す方法
-
2つのマクロでチェックボックス...
-
マクロ実行時、ユーザーフォー...
-
【マクロ】1つのマクロの中に...
-
ピボットテーブルでの毎回可変...
-
特定文字のある行の前に空白行...
-
エクセルのマクロについて教え...
-
wordを起動した際に特定のペー...
おすすめ情報