• ベストアンサー

Excel 自分で決めた文字を張り付けたいんですが・・・

Excel 自分で決めた文字を張り付けたいんですが・・・ バージョンは2003です やりたいことは セルに途中まで文字列を入力して そこで何かショートカットキーを使うと 自分の指定した文字列がその続きに入力されるというものです たとえば「あああ」と入力しCtr+aを押すと 「いいい」が入力されて「あああいいい」となるといったイメージです クリップボードやマクロをいじったんですが 自分初心者なのでまったくうまくいきません・・・ このようなことは実現できるでしょうか? よろしくお願いします!

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

補足と訂正です。 マクロコードの変数に間違いがありました。 正しくは以下のコードです。 またこのマクロはセルが編集モード以外の時に(たとえば入力前に1回)実行し、文字列を入力したい時にCtrl+Vの貼り付け操作を行ってください。 Sub sample() Dim myText As String Dim CB As New DataObject myText = "いいい" With CB .SetText myText .PutInClipboard End With End Sub

part877
質問者

お礼

時間かかりましたが、 うまくできました! これで実現できそうです ありがとうございます! クリップボードって 1度他のをコピーしてしまうと無効になってしまうのが すごく不便だったので。。。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

どのような目的で、わざわざ特定の文字列をショートカットで入力したいのでしょうか? クリップボードに特定の文字列を保持させたいなら、以下のページが参考になると思います。 http://officetanaka.net/excel/vba/tips/tips20.htm たとえば、以下のコードをVBEの標準モジュールに貼り付け、「ツール」「参照設定」で、 「Microsoft Forms 2.0 Object Library」にチェックを入れておきます。 Sub sample() Dim myText As String Dim CB As New DataObject myText = "いいい" With CB .SetText hensuu1 .PutInClipboard End With End Sub 上記のマクロを、「マクロ」ダイアログの「オプション」でショートカットをCtrl+Mなどに登録しておき、この文字列を貼り付けたいときに、Ctrl+Mのショートカットを行ってクリップボードに格納して、単純にCtrl+Vで貼り付けるのが簡単です(実際のキー操作は1回目のみCtrl+M、V)。

全文を見る
すると、全ての回答が全文表示されます。
  • Flapjacks
  • ベストアンサー率18% (2/11)
回答No.1

エクセルのショートカットではないですが、Windowsの辞書登録の機能を使って自分の希望した文字列を登録すれば、同じようなことができると思います。

part877
質問者

お礼

辞書登録の機能ですか! 新しい視点ですね! さっそくいじってみます!

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • コピーした文字列を現在開いているシート名にセットしたい

    現在開いているシート名を、クリップボードにある(?)文字列に 書き換える(?)マクロをつくりたいです。例えば、 (1) セルA1に、「aaa111」と入力されているとします。 (2) A1セルをダブルクリック(ないし、数式バーから必要な文字列だけを選択)します。 (3) 「111」だけをコピー(Ctrl+C)します。 (4) 「Sheet1」のタブをWクリックします。 (5) 貼り付け(Ctrl+V)により「Sheet1」が「111」に書き換えられます。 (6) Enterキーで確定します。 参考までに今の動作をマクロ記録してみると、次のようになったのですが、 「111」だけをコピーしたつもりなのに、「aaa111」がクリップボードに 格納されてしまっています。 Sub Macro1()   ActiveCell.FormulaR1C1 = "aaa111"   Sheets("Sheet1").Select   Sheets("Sheet1").Name = "111" End Sub 任意のセルをダブルクリックして 必要な文字列(=シート名にしたい文字列)だけをコピーし、 マクロを実行(ショートカットキーを押下)するだけで サッと書き換わるイメージですが、実現可能でしょうか。 よろしくお願い致します。

  • Excelでセル内の文字列のみをコピーする方法

    Excelでセル内の文字列のみをクリップボードにコピーする方法を教えてください。 ※クリップボードにコピーをする方法であり、他のセルに値のみをペーストする方法ではありません。 満たしたい点は2つです。 ・表示している文字列のみを取得 ・複数のセルを同時にコピー 一つのセルに以下の文字列が入っていた場合(#以外) #123 #"abc" コピーするとクリップボードを文字列として取得すると以下の文字列が得られます #"123 #""abc""" これを以下の文字列が得られるようにしたいのです。 #123 #"abc" 1つのセルだけでいい場合は、セルを編集状態にしてコピーしたり アクティブセルの数式バーをコピーすればいいのですが、 これは当然、複数のセルを同時に選択する場合には使えません。 VBAを使う方法でもそうでなくてもかまいません。 (VBAの場合はコードもお願いしたいです) よろしくお願いします。

  • Excelマクロ、セル内容を加工してクリップボードに送りたい

    Excelマクロの質問です。 セル自体は加工せず、 セルの内容を加工してクリップボードに送りたいです。 たとえば、セルの内容が、 8540 として、 クリップボードには、 今日の出費:8540円 という文字列を送りたいです(それをテキストエディタにコピペしたいのです) セルの内容は8540のままいじらないで済む方法を探しています。 よろしくお願いします

  • エクセルのマクロで文字の置換について

    エクセルのマクロを使った文字の置換についてお聞きしたことがありましす。 やりたいイメージは例として添付の画像としてアップしましたが、 ・エクセルシートに英数文字列の表がある(例では2行2列ですが、実際は6行48列ぐらいです) ・その表を各英数文字列の間に半角カンマ","を入れて、メモ帳に貼り付けたい   ※実際メモ帳に貼り付ける動作は手動で行うので、クリップボード上で「各英数文字列    の間に半角カンマ","が入っている状態」で構いません。 ・各英数文字列の最初の2文字は必ず"0a"、その後の英数字は3桁または4桁です。 ちなみに、エクセルシートで英数文字列の表をそのままコピーしてメモ帳でペーストすると 各英数文字列の間にスペース(空白)が入ってしまいます。 その後、メモ帳で置換などを使い半角カンマ","を入れてもいいのですが、そこまでをマクロで行いたいと思っております。 上記のことがそもそもエクセルのマクロで出来るかどか分かりませんが、なにか有用な方法がございましたらご教授お願い致します。  ※使用OS:Windows7、エクセルバージョン:2007

  • EXCELで文字列の並べかえ

    こんにちは。EXCELの関数を教えてください。マクロは使用しない方法でお願いします。 行いたい内容は、セル内に入力した「1234567の文字列を7654321」や、「abcdをdcba」に並べかえることです。 つまり、EXCELのセル内に入力した文字列を逆から並べ替えたいのです。 お時間のある方、ぜひ教えてください。 よろしくお願いします。

  • エクセルマクロでの丸囲み文字

    初めて質問します。 エクセルについてです。 あらかじめ一つのセル内には文字が入っていまして、 マクロのショーカット等でキーを押すとそのセル内の 文字にオートシェイプの丸が付くようにしたいのです。 例) 1.あらかじめ各セル内に1 2 3が入力されている。 1  2  3   (各セル内) 1  2  3   (各セル内) 1  2  3   (各セル内) 1  2  3   (各セル内) 2.マクロのショートカットキー等を押すと1 2 3を丸で囲める。 (1)  2 3   (各セル内) 1  (2) 3   (各セル内) (1)  2 3   (各セル内) 1  2 (3)   (各セル内) 以上です。 ここで、例)では1,2,3としてますが、I,II,IIIを使用したく、 I,II,IIIの丸付文字はないので、オートシェイプの丸しかないの かなと思います。 このようなマクロができるのなら教えていただきたいです。 ちなみに私はマクロは判りません。 以上です。 使用OSはWinXP、エクセルは2003です。 どなたか判る方いましたら、教えていただけないでしょうか? よろしくお願いします。

  • マクロで文字だけ貼り付けるには?

    コピーしてあるHP上の文字列をA6セルに貼り付けたいんですが、クリップボードには書式情報も入っている様で、下記のマクロだと後ろのセルが結合されたり色がついたりします。 テキストだけ張り付けるにはどうすれば良いのでしょうか? Sub ネットから貼付() Range("A6").PasteSpecial End Sub

  • エクセル セル内の文字列を他所にコピーペースト

    エクセルのセル内に入力されているデータ(文字列)をコピーして、別の箇所(エクセルでは無い)に貼り付けていくという作業する必要があります。 (1)マウスカーソルを該当するセルに持って行き、(2)ダブルクリックし、(3)左クリックを押しながらカーソルで文字列を指定(黒白反転)させてから(4)コントロール+Cでコピーして、貼り付けたい別ファイルに持って行き(5)コントロール+Vで貼り付ける・・・・というやり方しか知りません。 ここで、(3)の動作に不安があります。該当するセル内すべての文字列を指定できればいいのですが、大量にやらなければならないので、前後の一文字を抜かしてしまうということがありそうだからです。 ショートカットキー等何か良い方法ありますでしょうか?

  • 文字列検索の参照文字列の指定について

    Excelでセルに任意の文字列をペーストします。そのセルは別のブックにリンクしているのでペーストする度にリンク先のセルでは文字列が更新されます。リンク先のブックにはワークシートが10あっていづれかのシートのA列にその文字列がある事になっています。更新された文字列を検索する作業を繰り返すのでマクロで組み込もうと思ったのですがFIND関数にしても、VBでCell.Find(What:=....と書くにも参照する文字列を直接指定してやらないと動きません。参照する文字列が相対的に変化するので「特定のセルの中に入力された文字列」を参照してブック内を検索したいということなのですが、実現するにはどうしたらようでしょうか?

  • エクセルのマクロで入力文字を一文字ずつ並んだセルに入れる

    エクセルマクロ超初心者です。 エクセルVBAでユーザーフォームを作成しました。 テキストボックスに入力した文字列を「登録」ボタン押下後、エクセルシートのセルに一文字づつ入るようにするにはどうすれば良いでしょうか? 例えばテキストボックスに「kohiro」と入力するとエクセルのsheet1のA1「k」、B1「o」、C1「h」、D1「i」、E1「r」、F1「o」となるようにしたいのです。入力する文字数は0~30文字までで、その都度長さは変わります。どうやって、文字をばらせばいいのか、またどうやって可変長の文字列を指定したセルに入力すればいいのかわかりません。どうかよろしくお願いいたします。

専門家に質問してみよう