• ベストアンサー

エクセル、VBAで文字列から1文字消去

VBAに詳しい方、教えてください。 エクセルでアクティブセルの場所を変更せずに、右クリックするたびにアクティブセルの文字列を一文字ずつ右から消去したいです。 例)今アクティブセルはC10にあり、文字列”あいうえおかき”が入っている。任意の場所で右クリックするたびに”あいうえおか”、”あいうえお”・・・と文字が減っていく。   左クリックとかで、アクティブセルの場所を変えることがあるが、右クリックでは場所は変わらない。 いい方法を教えてください。

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

  • ベストアンサー
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

シートのイベントに記入 Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) If Target.Value <> "" Then Target.Value = Left(Target.Value, Len(Target.Value) - 1) End If End Sub

関連するQ&A

  • エクセルのVBAで()に囲まれた文字列を置き換えたい。

    今朝からずっと調べているのですが答えが見つからないので 質問させてください。 エクセルのVBAにて、任意の文字列を置き換えたいのですが たとえばその文字列が、 "ゴールデン(犬)"だとした場合、 replaceでこのなかの"(犬)"のみを ""という風に削除したいのですが 上手く拾うことができません。 この犬の文字については他の文字が入ることもあるため、 括弧で囲まれた文字列(括弧を含む)があれば置き換え という風にしたいのですが、どのようにすればできるでしょうか。 よろしくお願いします。

  • エクセルVBAで文字列変換

    エクセル2010でVBAを書いています。 シートの中のセルを全ての書式を文字列に変換するのはどうすればよいでしょうか。 ボタンをクリックした時にシート内のセルが全て文字列型に変換するという動きにしたいです。 解決法などありますでしょうか。 よろしくお願いします。

  • vbaで文字列の件

    お世話になります。 エクセルVBAで、文字列の右から何文字列目以降を 緑色に着色したいのですが、どうしたら良いか分かりません。 offsetで隣のセルに切り出してから着色とかは出来たのですが・・、 どなたかご教授下さい。 宜しくお願い申し上げます。

  • エクセル VBA 特定の文字列

    エクセル VBA 特定の文字列 A列に、様々な文字列があるとします。 そのうち、りんごと書かれている行のみを別シートに書き出すマクロを教えてください。 お願い致します。

  • Excelで二列のセルを結合する方法。

    左の列に「あいうえお」 右の列に「かきくけこ」 両方合わせて「あいうえおかきくけこ」 となる様にしたいのです。 列ごと一気にしたいのです。 方法をご存じの方アドバイス下さい。 宜しくお願いします。

  • VBAのテキストボックスに文字列を貼り付ける方法

    こんにちは エクセルのVBAのユーザーフォーム上に作ったテキストボックスに 他でコピーした文字列(または数値)を貼り付け(ペースト)たいのですが、 テキストボックスのプロパティの項目のどれかを設定すれば可能でしょうか? 現状ではここで、右クリック自体できなくなっています。 使っているのはエクセル2000です。

  • エクセルVBA:文字列での検索

    エクセルVBAで、在庫管理をしようとしています。初心者です。 4個のListboxをそれぞれ選んでいくと、任意の商品名になるようにしています。 そこで、選んでもらった後、 Listbox1.List(Listbox1.ListIndex) & Listbox2.List(・・・・ というように4個のListboxから選ばれた文字列をつなぎ、別シートの在庫データベースの「商品名」と「Listboxをつなぎ合わせた文字列」と同じのを探させて、在庫を引き落とすようにしています。 ですが、できる場合とできない場合があります。 何ででしょう? 文字列で突き合わせると、見た目が同じ場合でも違うと認識されることがあるのでしょうか?(半角全角が違うとか、最後にスペースが入っているとかはないです。試しにセルに貼り付けてvlookupで検索してみると、できました。)

  • アクティブセルのある行の任意の列範囲を塗りつぶしたい,VBA

    2000行、13列のエクセルの表があります。数値を列の右から左の方へ入力しています。 時たま、行を上下に間違えてしまうことがあります。そこで今入力している行に A:M 列の範囲のセルを塗りつぶせないかと思いました。アクティブセルが別の行に移動したら、塗りつぶしを解除し、新しい行を塗りつぶす。こんなことVBAでできないでしょうか。 質問の意図が伝わっているか心配です。不明な点は補足要求をお願いします。

  • VBAで文字列検索の方法

    エクセルで実現したいVBAです。 セル内に入力されている文字列に任意の文字が含まれているかどうかを判定したいのです。 例えば, 「特別値引対応商品」と入力されているセルに 「値引」という文字が含まれているかどうか のチェックをしたいのです。 検索する文字列(上記の場合なら「値引」)は固定でかまわないのですが,どのようにすれば実現できるでしょうか。 関数を探してみたのですが,ないように思います・・・。

  • エクセルVBAのイベントで質問です

    エクセル2007でVBAのイベントを使ってみたいと思っています。 B2:C10とF2:G10の範囲に文字列があり、J3にその文字をイベントにより入れていきたいと考えています。 J3には文字が入っていることもあり、 Wクリック→J3を消去→Wクリックした文字をJ3に入力 というようにするにはどうしたらいいでしょうか? どなたか教えていただけないでしょうか。 よろしくお願いします。

専門家に質問してみよう