前提・実現したいこと
VBA初心者です.教科書通りにコードを打ち込んだのですが下記のエラーが発生してしまいました.
どこに間違いがあるのかが全く分からず先に進むことができない状況です.
発生している問題・エラーメッセージ
438エラー:オブジェクトは、このプロパティまたはメソッドをサポートしていません。
該当のソースコード
VBA
1Selection.PastSpecial Paste:=x1PasteValues, Transpose:=True
試したこと
教科書を何度も見直しました.
補足情報(FW/ツールのバージョンなど)
使用教科書及び該当箇所は「データ分析法DEA」p34です.
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
「1」 と 「l」 かぁ。。。。。ぱっと見わからんですね^^;
「l」 と 「I」 はよく間違うけど^^;
ExcelVBA
1Option Explicit 2 3Sub test() 4 Selection.PastSpecial Paste:=x1PasteValues, Transpose:=True 5End Sub
Option Explicitと呪文を書いておくと、
--------------------------- Microsoft Visual Basic for Applications --------------------------- コンパイル エラー: 変数が定義されていません。 --------------------------- OK ヘルプ ---------------------------
というエラーになって、
x1PasteValuesのところが反転します。
そうなれば、
PastSpecialメソッドをヘルプで検索して、
定数にどのようなものがあるかを確認すると分かるかもですね。
まぁ、何回かこういう苦労を誰もが経験して覚えて行ってると思います。
投稿2020/05/25 00:04
総合スコア2163
0
ベストアンサー
2か所違います。PastSpecial と x1PasteValues
VBA
1Selection.PastSpecial Paste:=x1PasteValues, Transpose:=True 2↓ 3Selection.PasteSpecial Paste:=xlPasteValues, Transpose:=True
投稿2020/05/25 00:13
総合スコア17000
0
タイプミスです。
よく見ましょう。
投稿2020/05/24 14:29
編集2020/05/24 15:51総合スコア85901
0
ベストアンサーは決まっていますが、参考情報として。
VBAのエディタには、適切にコードを記述すると、命令文を補完してくれる機能が備わっています。
そのため、PasteSpecial
などの単語を暗記しなくとも、エディタの補助でミス無く入力することができます。
例えば、以下のコードエディタにコピペし、End Sub
の直前のrng
の後ろで.
を入力してみてください。
vba
1Sub teratail264507 2 Dim rng As Range 3 Set rng = Selection 4 rng 5End Sub
そうすると、Range
に対して使える命令の一覧が出てきますので、そのままpas...
と入力すればPasteSpecial
が出てきます(消えてしまった場合は一度消してやり直したり、Ctrl + Space を押す)。
PasteSpecial
を一覧から選択したら、Tab
を押すと入力が確定します。
PasteSpecial
の入力が確定したら、さらにSpace
を押すと、xlPasteAll
などから始まる一覧が出てきますが、その中にxlPasteValues
が存在しています。
上記はあくまで一例であり、初心者では実際のコードで適切な型を指定する(Dim rng As Range
)のは難しい場合もあるかもしれませんが、「こういったこともできますよ」という紹介です。
ほとんどの場合、Selection
はRange
を示しているはずなので、Selection.~
とあったら、Range
型の変数に入れてみてもいいかもしれません。
投稿2020/05/25 11:39
総合スコア2166
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。