[[20031119193629]] 『自動的に値のコピーになる機能』(まーちん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『自動的に値のコピーになる機能』(まーちん)

エクセルを使っているとよくコピーアンドペーストは知っていても値のコピーを知らない人がいます。
そういう人がコピーをしても自動的に値のコピーになる機能を追加したいのです。
コピー元のところが関数でできているので、普通にコピーすると関数がコピーされてしまいます。 そうなるとわからない人はあたふたしてしまいます。 自分がいればこうすればできると説明して上げれるのですが、いないときは説明できません。 ぜひどなたかこの機能を作っていただけませんか? 私自身もエクセル初心者なので自分では作ることができません。 よろしくお願いいたします。



http://www.vector.co.jp/soft/win95/business/se292836.html


アドバイスありがとうございます。
「ツール⇒ユーザー設定⇒コマンドタブ」
使いこなせばとても便利ですね。 大体ショートカットで操作してしまうのであまりアイコンを使ったことがありませんでした。 アイコン増やせるんですね。

しかしこの機能はなぜほしいかといえば、自分は値のコピーの仕方はわかりますし、
ショートカットキーで操作しますから簡単に値のコピーをすることができます。
メニューキー>S>エンター(いらないときもある)>Tで 値をコピーできますよね。
慣れると簡単にできますが、自分以外の人もこのワークシートを操作します。
その際に何の説明もなく、自分がいなかったとしても問題がおきないものをなんとかしたかったのです。

ですから他のソフトを使ったり、設定でボタンを追加する方法は利用できません。
このワークシートは、私が普段使うPC以外からも操作されます。 ですから私のPCの設定を変えるだけでは問題は解決できないのです。

http://www.vector.co.jp/soft/win95/business/se292836.html
ソフトとても便利そうです。
自分で個人的に使う場合は、つかわさせていただきます。


 まーちんさん、こんばんわ。
 これねえ、有効な手だては無いんちゃいまっか?
 一応ショートカットキーを使うようにメッセージを流してはあるんですけど、さぁ、他
 の御方が素直に応じてくれるかどうでっかですわ。
 これ以外ええアイディアはうかんできまへんわ、えぇ。

 シート1を開くと同時にショートカットの使用法を問い合わせてます。
 右クリックでコピーを止めるようメッセージを流します。
 Ctrl+Vで値のみ貼り付けます。
 役に立つかどうか分かりまへんけど、いっぺん試してみておくんなはれ。
    ほな...(弥太郎)

 '----------------------
 Sub auto_open()
    Dim Rtn As Integer
    Rtn = MsgBox("ショートカットキーを「値のみ」にセットしますか?", vbYesNo)
    If Rtn = vbYes Then
        key
    End If
 End Sub
 '------------------------
 Sub key()
    Application.OnKey "^{v}", "copy"
 End Sub
 '-------------------------
 Sub copy()
    ActiveCell.PasteSpecial Paste:=xlValues
    Application.CutCopyMode = False
 End Sub
 '-------------------------
 Sub end_key()
    Application.OnKey "^{v}"
 End Sub


 ツールバーをワークシートへ添付すると言う方法はいかがでしょう。
 「表示」→「ツールバー」→「ユーザー設定」で
 「ツールバー」タグの「新規作成」をクリック。
 のちに通りすがりの者さんの方法で新規作成したツールバーへ「値貼り付け」コマンド を
 追加、
 再び「ツールバー」タグへもどって「添付」をクリック。
 新規作成したツールバーをクリックして「コピー」をクリック。
 ユーザー設定ダイアログボックスを閉じてブックを保存。
 そのまま配布すればブックにツールバーが載っていきます。
 (KAMIYA)

 ついでに非表示にしてしまってツールバーの出し方のわからない人のために
 次のマクロも放り込んでおいたほうがよいかもしれません。
 登録は「ThisWorkbook」モジュールです。

 Private Sub Workbook_Open()
 '起動時にツールバー表示
    Application.CommandBars("ユーザー設定 1").Visible = True
 End Sub

 Private Sub Workbook_WindowActivate(ByVal Wn As Window)
 'ブックのウィンドウがアクティブのときに表示
    Application.CommandBars("ユーザー設定 1").Visible = True
 End Sub

 Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
 '他のブックへ移る、ブックを閉じるときは非表示に
    Application.CommandBars("ユーザー設定 1").Visible = False
 End Sub

 ちなみに一度添付されたブックを開くとツールバーは相手のエクセル側で保存に
 なると思います。
 (KAMIYA)


皆さんありがとうございます。

弥太郎さん、
そのコードで大体事は足りてしまいます。
ただ無条件で値のコピーになってしまっていいので、
ショートカットキーを「値のみ」にセットしますか?のダイアログを出ないようにしてしまいたいのですが、ちょっといじってみようかと思ったのですがうまくいきませんでした。
KAMIYAさん
そんな方法があるのですね ワークブックに、アイコンなどの設定も保存できてしまうとは。 便利な機能だと思います。 ぜひ使ってみます。

ぜんぜん関係ないのですが質問があります。

自分でエクセルから他のプログラムを開くボタンを追加してコードをどっかから引っ張ってきたのですがこれを改造したいです。

 Private Sub CommandButton2_Click()
    Dim Ret As Long
    Ret = Shell("C:\windows\system32\XXXXX.exe", vbNormalFocus)
 End Sub

XXXXXで示したところをあるセル、たとえばC3の値を自動的に拾うようにはできませんか?
新しいスレッドを作ったほうがよいでしょうか?


 > 自分でエクセルから他のプログラムを開くボタンを追加してコードをどっかから引っ 張
 > ってきたのですがこれを改造したいです。 
 >
 >
 >  Private Sub CommandButton2_Click()
 >     Dim Ret As Long
 >     Ret = Shell("C:\windows\system32\XXXXX.exe", vbNormalFocus)
 >  End Sub
 >
 > XXXXXで示したところをあるセル、たとえばC3の値を自動的に拾うようにはできませ ん
 > か?新しいスレッドを作ったほうがよいでしょうか? 

この問題はなんとか自分で解決しました!


すみません何度も。
ショートカットキーを「値のみ」にセットしますか?のダイアログを出ないようにしてしまいたい問題も自分でいじくって解決できました!
また何かあったらよろしくお願いします。
このたびは失礼しました。


弥太郎さん、
値のコピーのマクロですがやはりエラーがでます。
同じデーターを2回コピーしようとするとエラーになってしまいます。 
Range クラスのPastespecial メソッドが失敗しましたとでてしまいます。

 まーちんさん、こんばんわ。
 返事、遅うなってすんまへんなぁ。
 なんや、知らん間に質問しといて、勝手にご自分で解決してしまう馬力をもってはりま
 がな、エライっ!(笑)
 RangeクラスのエラーはApplication.CutCopyMode = Falseのせいです。
 その行を削除して試してみておくんなはれ。
   ほな...(弥太郎)

 >弥太郎さま
 前掲のマクロ、面白そうなので試してみましたが、
 Ctrl+V以前にCtrl+Cしていないとやはりエラーになるみたいです。
 コピーする前に張り付けする人はいないとは思います。

 が、

 マクロしろーとさんにあのエラーはかなり心臓に悪そうなので、

 Sub copy()

 If Application.CutCopyMode = xlCopy Then
    ActiveCell.PasteSpecial Paste:=xlValues
 Else
    MsgBox ("貼り付けることができません。")
 End If

 End Sub

 念のためこんな風にしてみてはいかがなものかと。
 (KAMIYA)

 KAMIYAさん、おはようございます。
 あなたのご指摘通りですわ。
 私、今日も出かけなあきまへんねん。
 メッセージを流した後のC→V→Vの2回目が値のみにならんようですわ。勝手なお願いですけど、もちょっと掘り下げてみておくんなはれ。
 時間がな〜〜い。 ほな(弥太郎) 


弥太郎さん
Application.CutCopyMode = Falseを削除したら2回連続でコピーしようとするとエラーになる問題はなくなりました。
そしてC→V→Vの2回目が値のみにならない問題は私のところでは起きません。
ですから動作は良好です。
しかし、KAMIYAさんが言うとおり最初にコピーをしずにCTRL+Vをやるとエラーが出ます。

コピーする前に張り付けする人はいないとは思います。 そのとおりなんですが、せっかくですからKAMIYAさんのコードを使わせていただきます。
とても助かります。 ありがとうございます。

 まーちんさん、KAMIYAさん、こんばんわ。
 私の知識不足っちゅうか、認識不足っちゅうか、でえらいご迷惑をおかけしました。
 手入力でコピーするばやい、コピー元のあのチカチカするんを消そうと思うたら、Esc
 キーもEnterキーも同じ働きをするんかと思いこんどりましたんですけど、ちゃいまん
 ねんなぁ。なんぼ値のみのコピーを続けてもEnterキーで締めくくると、そのセルのみ
 すべて(A)が採用されるみたいですわ。あ〜しらなんだ、お恥ずかしい。
 KAMIYAさん、改めてお詫び致します。

 決着ついたのに、いまさらですが、これでもいけます。
    ほな...(弥太郎)
 Sub copy()

    On Error Resume Next
    ActiveCell.PasteSpecial Paste:=xlValues
    On Error GoTo 0
 End Sub


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.