• ベストアンサー

エクセル、マクロで「末尾を1文字削除」したいのですが

またまた、お願いします。 エクセル初心者向けの入力支援としてマクロを使っています。 【やりたい事】 セルを選択しマクロを実行すると「該当セルの末尾1文字が削除される」というのは可能でしょうか? カーソルを入れてBSすれば済むだけの事ですが、諸般の事情で「セル選択+マクロ実行」の動作にしたいのです。 どなたかよろしくお願いします(ponta_024)

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

  • ベストアンサー
  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.2

こんな感じでしょうか。 Sub DeleteEndLetter()   Dim r As Range   For Each r In Application.Selection     If Len(r.Value) > 0 Then       r.Value = Left(r.Value, Len(r.Value) - 1)     End If   Next End Sub

ponta_024
質問者

お礼

ham_kamo様 ありがとうございました。 いろいろな記述の方法があるようですね。モジュールに コピーしていじくり回してみましたが、ham_kamoさんの 方法だと空白で実行してもエラーがでませんでした。 そこが相違点なのですか? 早速明日から会社で実験してみます。 ebinamori様 ham_kamo様 ありがとうございます(ponta)

その他の回答 (1)

  • ebinamori
  • ベストアンサー率21% (96/439)
回答No.1

Sub Macro1() Dim str As String Dim num As Integer str = ActiveCell.Text num = Len(str) ActiveCell = Left(str, num - 1) End Sub

ponta_024
質問者

お礼

解決しました! ebinamori様 早速のご回答ありがとうございます。 何時間悩んでも、知識がないので意味ないですね(笑) みなさんに聞けば簡単に解決してしまうのですね・・・。 これからもよろしくお願いします(ponta)

関連するQ&A