dポイントプレゼントキャンペーン実施中!

またまた、お願いします。

エクセル初心者向けの入力支援としてマクロを使っています。

【やりたい事】
セルを選択しマクロを実行すると「該当セルの末尾1文字が削除される」というのは可能でしょうか?
カーソルを入れてBSすれば済むだけの事ですが、諸般の事情で「セル選択+マクロ実行」の動作にしたいのです。

どなたかよろしくお願いします(ponta_024)

A 回答 (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
    • good
    • 5
この回答へのお礼

ham_kamo様 ありがとうございました。

いろいろな記述の方法があるようですね。モジュールに
コピーしていじくり回してみましたが、ham_kamoさんの
方法だと空白で実行してもエラーがでませんでした。
そこが相違点なのですか?

早速明日から会社で実験してみます。
ebinamori様 ham_kamo様 ありがとうございます(ponta)

お礼日時:2006/11/23 17:23

Sub Macro1()


Dim str As String
Dim num As Integer
str = ActiveCell.Text
num = Len(str)
ActiveCell = Left(str, num - 1)
End Sub
    • good
    • 3
この回答へのお礼

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

これからもよろしくお願いします(ponta)

お礼日時:2006/11/23 17:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています