[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『コピーした情報を貼りつけるマクロ』(COCO)
エクセル等からコピーした情報を、
右クリックして貼付け またはCTL+Vで貼付けしなくても
マクロ(VBA)を設定し フォームボタンを押すだけで
値で貼付けになるようにしたいのですが
どのような記述をすればよいでしょうか。
貼り付けたい場所は
シート名「検索」、セルはC4です。
また、コピーしている情報がない場合は以下のメッセージを出したいです
MsgBox "コピー情報がありません。", vbExclamation
宜しくお願い致します。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
'メニュー>ツール>参照設定:Microsoft Forms 2.0 Object Library
'クリップボードの文字列を取得
Public Function GetClipboardText() As String
Dim CB As New DataObject CB.GetFromClipboard On Error Resume Next '失敗時はエラー無視。""を返す GetClipboardText = CB.GetText On Error GoTo 0 End Function
Sub a()
If GetClipboardText() = "" Then MsgBox "コピー情報がありません。", vbExclamation Else Worksheets("検索").Range("C4").Value = GetClipboardText() End If End Sub (名無し) 2018/08/01(水) 14:33
その後
Public Function GetClipboardText() As String 以下貼付けさせていただきましたが
End subが必要です と表示されます
(COCO) 2018/08/01(水) 14:43
>End subが必要です と表示されます
となったとのことですが、対処方法はすぐにピンときてますか?
(というか、エラーメッセージをみて、あ〜そっかそうだよね。って言えますか?)
上記は上記として別途確認。
「エクセル等からコピーした情報」とのことですが、Excel以外もありますか?
貼付け先が特定されていて、コピー元も特定されているのであればですけど、どうせならボタン押したらコピー元にデータが入っていればコピーする。みたいにしたほうが良くないですか?
(もこな2) 2018/08/01(水) 15:04
初心者です
なぜそういうエラーがでるのかピンときていません
エクセル以外からコピーする事もあります(コピー元の指定はないです)
貼付けさきは 検索シートのC4セル ということは決まっています
(COCO) 2018/08/01(水) 15:08
私の書いたコードの
'メニュー>ツール>参照設定:Microsoft Forms 2.0 Object Library
から
End Sub
まで全てをコピーして貼って下さい。
※今後使い回す時にこまるので、参照設定が必要である文もコメントに残すことをおすすめします。
('から始まる文がコメントです)
改めて御確認下さい。
(名無し) 2018/08/01(水) 15:28
'メニュー>ツール>参照設定:Microsoft Forms 2.0 Object Library
'クリップボードの文字列を取得
Public Function GetClipboardText() As String
Dim CB As New DataObject CB.GetFromClipboard On Error Resume Next '失敗時はエラー無視。""を返す GetClipboardText = CB.GetText On Error GoTo 0 End Function
自動的に↑ここで区切り線が入ります(それは大きな問題ではないのかもしれませんが)
'クリップボードの文字列を取得 のところで
コンパイルエラー
End Subが必要です と出ます。
(COCO) 2018/08/01(水) 15:32
とりあえず指示された上の行にEnd Subは書いてみましたか?
(名無し) 2018/08/01(水) 16:08
Sub 貼付け()
'メニュー>ツール>参照設定:Microsoft Forms 2.0 Object Library
'クリップボードの文字列を取得
Public Function GetClipboardText() As String
Dim CB As New DataObject CB.GetFromClipboard On Error Resume Next '失敗時はエラー無視。""を返す GetClipboardText = CB.GetText On Error GoTo 0 End Function
Sub a()
If GetClipboardText() = "" Then MsgBox "コピー情報がありません。", vbExclamation Else Worksheets("検索").Range("C4").Value = GetClipboardText() End If
'
End Sub
(COCO) 2018/08/01(水) 16:46
既存のものは消していただき、私のマクロのSub a()をSub 貼付け() にすると良いかと思います。
(名無し) 2018/08/01(水) 16:53
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.