2

私の会社はMSOffice2003製品しか使用していないので、それに固執する必要があります。私の仕事の性質上、私は多くの「コピーアンドペースト」機能を使用する必要があります。ソースデータは主にWebサイトからのものであり、Excelのセルにデータを貼り付けます。問題は、クリップボードがソースのフォーマットを維持し、貼り付けるとセルに反映されることです。ユーザーがコピーして貼り付けるたびに[テキストとして貼り付け]オプションを選択してソース形式を削除するのは、本当に面倒です。だから私はマクロを使うことにしました。WebサイトからExcelにコピーアンドペーストしようとするとマクロは完全に機能しますが、Excelから同じワークシートにコピーアンドペーストするとエラーが発生します。

これは、ソースをフォーマットせずに優れたWebサイトからコピーアンドペーストするために使用するコードです。

Sub Paste_without_any_formatting()
    ActiveSheet.PasteSpecial Format:="Text"
End Sub

このように、Excelから同じワークシートにコピーアンドペーストするための別のコードを追加したいと思います。

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False

これらの2つのコードを組み合わせるにはどうすればよいですか?Ctrl+Vを押したときにこれらを魔法のように起こさせたいです。誰か助けてもらえますか?

4

1 に答える 1

2

これは、それを達成するための最も簡単な方法です。

Sub Sample()
    On Error GoTo Whoa1

    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False

    Exit Sub
Pastetext:
    On Error GoTo Whoa2

    ActiveSheet.PasteSpecial Format:="Text"

    Exit Sub
Whoa1:
    Resume Pastetext
Whoa2: '<~~ If both Paste method fails then show message. Ex: Image in Clipboard
    MsgBox err.Description
End Sub

クリップボードのデータ型を確認し、それに応じて貼り付ける方法がもう1つあります。

于 2012-08-01T05:29:39.337 に答える