Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


9213 / 13646 ツリー ←次へ | 前へ→

【28668】列幅のみ貼り付け matsu 05/9/12(月) 16:37 質問[未読]
【28672】Re:列幅のみ貼り付け MOON 05/9/12(月) 16:48 回答[未読]
【28707】Re:列幅のみ貼り付け matsu 05/9/13(火) 11:32 お礼[未読]
【28711】Re:列幅のみ貼り付け とおりすがり 05/9/13(火) 12:13 発言[未読]
【28715】Re:列幅のみ貼り付け matsu 05/9/13(火) 13:30 お礼[未読]

【28668】列幅のみ貼り付け
質問  matsu  - 05/9/12(月) 16:37 -

引用なし
パスワード
   下記のようにいれても値は貼り付けられますが、列幅がうまくいきません。
どうしたら良いでしょうか?

Workbooks(ZZZ).Activate
Sheets(ZZZZZ).Activate 'COST○○○○の(2)シート
  Rows(1).Select
  Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
    False, Transpose:=False


Sheets("COST項目").Select
Rows(1).Select
Selection.Copy
Sheets(ZZZ).Activate
Sheets(ZZZZZ).Activate
  Rows(1).Select
  Selection.PasteSpecial Paste:=xlColumnWidths, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
  
Workbooks("COST項目").Close savechanges = False

【28672】Re:列幅のみ貼り付け
回答  MOON  - 05/9/12(月) 16:48 -

引用なし
パスワード
   ▼matsu さん:

xlColumnWidths
ではなく、
xlPasteColumnWidths
じゃないでしょうか?

【28707】Re:列幅のみ貼り付け
お礼  matsu  - 05/9/13(火) 11:32 -

引用なし
パスワード
   ▼MOON さん:
>▼matsu さん:
>
>xlColumnWidths
>ではなく、
>xlPasteColumnWidths
>じゃないでしょうか?

xlColumnWidthsのところをxlPasteColumnWidthsに置き換えるという意味ですか?
上記でやってみましたが、できませんでした。

【28711】Re:列幅のみ貼り付け
発言  とおりすがり  - 05/9/13(火) 12:13 -

引用なし
パスワード
    ▼matsu さん:
>▼MOON さん:
>>▼matsu さん:
>>
>>xlColumnWidths
>>ではなく、
>>xlPasteColumnWidths
>>じゃないでしょうか?
>
>xlColumnWidthsのところをxlPasteColumnWidthsに置き換えるという意味ですか?
>上記でやってみましたが、できませんでした。
マクロの記録で列幅貼り付けをすると表示される、xlColumnWidthsには、実は値が設定されていないというバグのような仕様のせいで(オブジェクトブラウザでXLPasteTypeのメンバを確認すればわかります)、XL2000では、
 Range(元).Copy
 Range(先).PasteSpecial Paste:=8
で列幅を貼り付けることができます。
過去ログにあったはずなのですが、見つけられませんでした。

マイクロソフトサポート技術情報
[XL2000]マクロ記録でPasteSpecialの引数Pasteが正しく記録されない
http://support.microsoft.com/default.aspx?scid=kb;ja;415379
 ダイアログ     マクロ記録       正しい定数         値
 -------------------------------------------------------------------------
 すべて       xlAll         xlPasteAll         1
 数式        xlFormulas       xlPasteFormulas       2
 値         xlValues        xlPasteValues        3
 書式        xlFormats       xlPasteFormats       4
 コメント      xlPasteComments    xlPasteComments       5
 入力規則      xlDataValidation    xlPasteDataValidation    6
 罫線を除くすべて  xlAllExceptBorders   xlPasteAllExceptBorders   7
 列幅        xlColumnWidths     なし            8

なしってw

【28715】Re:列幅のみ貼り付け
お礼  matsu  - 05/9/13(火) 13:30 -

引用なし
パスワード
   ▼とおりすがり さん:
> ▼matsu さん:
>>▼MOON さん:
>>>▼matsu さん:
>>>
>>>xlColumnWidths
>>>ではなく、
>>>xlPasteColumnWidths
>>>じゃないでしょうか?
>>
>>xlColumnWidthsのところをxlPasteColumnWidthsに置き換えるという意味ですか?
>>上記でやってみましたが、できませんでした。
>マクロの記録で列幅貼り付けをすると表示される、xlColumnWidthsには、実は値が設定されていないというバグのような仕様のせいで(オブジェクトブラウザでXLPasteTypeのメンバを確認すればわかります)、XL2000では、
> Range(元).Copy
> Range(先).PasteSpecial Paste:=8
>で列幅を貼り付けることができます。
>過去ログにあったはずなのですが、見つけられませんでした。
>
>マイクロソフトサポート技術情報
>[XL2000]マクロ記録でPasteSpecialの引数Pasteが正しく記録されない
>http://support.microsoft.com/default.aspx?scid=kb;ja;415379
> ダイアログ     マクロ記録       正しい定数         値
> -------------------------------------------------------------------------
> すべて       xlAll         xlPasteAll         1
> 数式        xlFormulas       xlPasteFormulas       2
> 値         xlValues        xlPasteValues        3
> 書式        xlFormats       xlPasteFormats       4
> コメント      xlPasteComments    xlPasteComments       5
> 入力規則      xlDataValidation    xlPasteDataValidation    6
> 罫線を除くすべて  xlAllExceptBorders   xlPasteAllExceptBorders   7
> 列幅        xlColumnWidths     なし            8
>
>なしってw

できました(涙)ありがとうございました。

9213 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free