• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【VBA】郵便番号のハイフン自動挿入)

【VBA】郵便番号のハイフン自動挿入

このQ&Aのポイント
  • VBAを使用して、郵便番号のハイフンを自動的に挿入する方法について質問です。
  • 質問者は、ハイフンの追加や削除でTextBox4_Changeが動いてしまう問題に直面しています。
  • どのようにすれば、この問題を解決することができるでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • qualheart
  • ベストアンサー率41% (1451/3486)
回答No.2

補足ありがとうございました。 >3ケタ目入力→ハイフン挿入 5ケタ目削除→ハイフン削除をしたい 論理的に考えて、ハイフンは手動で入力しないというルールが必要だと思います。 その上で以下のコードにすれば良いでしょう。 If Len(TextBox4.Text) = 4 And Mid(TextBox4.Text, 4, 1) = "-" Then TextBox4.Text = Left(TextBox4.Text, 3) End If If Len(TextBox4.Text) = 4 And Mid(TextBox4.Text, 4, 1) <> "-" Then TextBox4.Text = Left(TextBox4.Text, 3) & "-" & Right(TextBox4.Text, 1) End If 上記でどうでしょうか? ご参考まで。

mougmoug
質問者

お礼

そういう考えなんですね! うまく行きました! ありがとうございます。

その他の回答 (1)

  • qualheart
  • ベストアンサー率41% (1451/3486)
回答No.1

具体的に何をしたいのか良く分からないです。 上記のVBだと、 TextBox4が4文字だったら左から3文字までを抜き出して(ようはハイフンを消す?)、TextBox4が3文字だったら最後にハイフンを挿入しています。 これだと、結局ハイフンを挿入したいのか削除したいのか良く分からないです^^; 実際にどのような動作にさせたいのかそれを補足していただけますか?

mougmoug
質問者

お礼

ありがとうございます

mougmoug
質問者

補足

7ケタ入れていくので 3ケタ目入力→ハイフン挿入 5ケタ目削除→ハイフン削除 をしたいのです・・・

関連するQ&A

専門家に質問してみよう