Excel VBA質問箱 IV

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

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


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

【11768】セルのコピーでシステムエラー megu 04/3/16(火) 10:02 質問
【11769】Re:セルのコピーでシステムエラー megu 04/3/16(火) 10:10 発言
【11770】Re:セルのコピーでシステムエラー IROC 04/3/16(火) 10:17 回答
【11771】Re:セルのコピーでシステムエラー megu 04/3/16(火) 10:26 質問
【11774】Re:セルのコピーでシステムエラー IROC 04/3/16(火) 11:11 回答
【11775】Re:セルのコピーでシステムエラー IROC 04/3/16(火) 11:13 回答
【11777】Re:セルのコピーでシステムエラー megu 04/3/16(火) 11:23 質問
【11779】Re:セルのコピーでシステムエラー こうちゃん 04/3/16(火) 12:08 発言
【11780】Re:セルのコピーでシステムエラー IROC 04/3/16(火) 12:27 回答
【11786】Re:セルのコピーでシステムエラー megu 04/3/16(火) 13:36 質問
【11791】Re:セルのコピーでシステムエラー Jaka 04/3/16(火) 14:57 発言
【11793】Re:セルのコピーでシステムエラー megu 04/3/16(火) 15:08 発言
【11795】Re:セルのコピーでシステムエラー Jaka 04/3/16(火) 15:25 発言
【11797】Re:セルのコピーでシステムエラー megu 04/3/16(火) 15:36 発言
【11801】さらに確認ですが・・ こうちゃん 04/3/16(火) 16:02 発言
【11804】Re:セルのコピーでシステムエラー megu 04/3/16(火) 16:14 発言
【11808】Re:セルのコピーでシステムエラー 七誌 04/3/16(火) 16:42 回答
【11838】Re:セルのコピーでシステムエラー megu 04/3/17(水) 12:00 質問
【11839】Re:セルのコピーでシステムエラー こうちゃん 04/3/17(水) 12:07 発言
【11852】Re:セルのコピーでシステムエラー 七誌 04/3/17(水) 15:33 発言
【11880】Re:セルのコピーでシステムエラー megu 04/3/18(木) 11:00 お礼

【11768】セルのコピーでシステムエラー
質問  megu  - 04/3/16(火) 10:02 -

引用なし
パスワード
   おはようございます。
今、VBAで単なるセルのコピーをしようとしてるんですが、何故かシステムエラーが出ます。

エラーが出る箇所で行っているのは、矢印のところです。

 With Worksheets("Sheet2")
  :
  :
⇒ Worksheets("Sheet1").Range("H33:BK63").Copy (.Range("H33:BK63"))
  :
 End With

ここで表示されるエラーメッセージは次のどちらかです。
「システム エラーです。:&H80010108 (-2147417848) 起動されたオブジェクトはクライアントから切断されました。」
「実行時エラー '1004':アプリケーション定義またはオブジェクト定義のエラーです。」
2回目からは上記メッセージの代わりに 400 とエラーコード?が出ます。

2日間悩み続けて分からなかったので投稿させていただきました。
オブジェクト名など間違ってはいないのですし、コピー元・貼り付け先のセルの形状も同じです。
いつもの私のパターンからして、イージーミスじゃないかと思うのですが・・・(TT
どなたか分かる方いましたら助けてください・・・。

(追記)
不思議なことに環境によってはエラーが出ない場合があるんです。
WinXP ProとExcel2002 だとほとんどでエラーがでました。
WinXP ProとExcel2003 だとエラーが出ない場合がありました。
WinXP ProとExcel2000 だとエラーが出ない場合がありました。
まぁ、環境の問題と言うよりはVBAのコードに問題があるんでしょうけど・・・。

【11769】Re:セルのコピーでシステムエラー
発言  megu  - 04/3/16(火) 10:10 -

引用なし
パスワード
   追記です。

Microsoftのサイトには、
「配列 (セル範囲) 内に、912 文字以上を含む文字列が格納されるセルが 1 つ以上存在する場合に発生することがあります」
とありましたが、912文字以上の文字列を含むセルはありませんでした。
(参考)
http://support.microsoft.com/default.aspx?scid=kb;ja;818808

【11770】Re:セルのコピーでシステムエラー
回答  IROC  - 04/3/16(火) 10:17 -

引用なし
パスワード
   >Worksheets("Sheet1").Range("H33:BK63").Copy (.Range("H33:BK63"))

コンパイルエラーにはなりませんか?
括弧が余分な気がしますが・・

【11771】Re:セルのコピーでシステムエラー
質問  megu  - 04/3/16(火) 10:26 -

引用なし
パスワード
   >>Worksheets("Sheet1").Range("H33:BK63").Copy (.Range("H33:BK63"))
      1    1   2     2   3   4     43
>コンパイルエラーにはなりませんか?
>括弧が余分な気がしますが・・

???
余分・・・ですか?

【11774】Re:セルのコピーでシステムエラー
回答  IROC  - 04/3/16(火) 11:11 -

引用なし
パスワード
   すみませんでした。大丈夫なんですね。 m(_ _)m


(.Range("H33:BK63"))
↑         ↑
付けたこと無かったので、
これらが必要ないのではと思ってしまって・・・

【11775】Re:セルのコピーでシステムエラー
回答  IROC  - 04/3/16(火) 11:13 -

引用なし
パスワード
   ちょっとずれてしまいました。
3番の括弧のことです。


貼り付け先ですが、試しに単一セルで指定してみては如何でしょうか?

.Copy .Range("H33")

【11777】Re:セルのコピーでシステムエラー
質問  megu  - 04/3/16(火) 11:23 -

引用なし
パスワード
   IROC さんありがとうございます。
いろいろ試してみました。

●エラーが出る
1.投稿した文
 Worksheets("Sheet1").Range("H33:BK63").Copy (.Range("H33:BK63"))
2.範囲をちょこっと変えてみる
 Worksheets("Sheet1").Range("X33:AF63").Copy (.Range("X33:AF63"))
3.括弧をはずしてみる
 Worksheets("Sheet1").Range("H33").Copy .Range("H33:BK63")
4.単一セルにしてみる
 Worksheets("Sheet1").Range("H33").Copy (.Range("H33"))
5.単一セルにして括弧もはずしてみる
 Worksheets("Sheet1").Range("H33").Copy .Range("H33")

●エラーが出ない
 Worksheets("Sheet1").Range("X33").Copy

この結果を見る限りでは、貼り付け先指定の記述が違ってるのでしょうか・・・。
違ってるとは思えないのですが・・・。(TT

【11779】Re:セルのコピーでシステムエラー
発言  こうちゃん E-MAIL  - 04/3/16(火) 12:08 -

引用なし
パスワード
   meguさん、IROCさん、みなさん、こんにちは

>この結果を見る限りでは、貼り付け先指定の記述が違ってるのでしょうか・・・。
>違ってるとは思えないのですが・・・。(TT

エラーが再現しません。
以下のケースを試験しました。
WinXP Pro + Excel2000
WinXP Pro + Excel2002
Win2000 + Excel2000
Win2000 + Excel2002
Win2000 + Excel2003

WinやOfficeのSRやSPは適用してますか?

以下のパタンではいかがでしょう?
1)Withを使わない
Worksheets("Sheet1").Range("H33:BK63").Copy Worksheets("Sheet2").Range("H33:BK63")

2)コピー先のみ範囲の先頭セルを指定
Worksheets("Sheet1").Range("H33:BK63").Copy Worksheets("Sheet2").Range("H33")

3)コピー先引数Destinationを明示的に指定
Worksheets("Sheet1").Range("H33:BK63").Copy _
  Destination:=Worksheets("Sheet2").Range("H33")

【11780】Re:セルのコピーでシステムエラー
回答  IROC  - 04/3/16(火) 12:27 -

引用なし
パスワード
   貼り付け先に問題があるのでしょうか・・・


新規ブックでも再現しますか?
もし大丈夫なら現在のブックのデータを
新規ブックにコピペで移して、ファイルを作り直しても良いかもしれません。

あと、Copyメソッドの引数を使わないで
Pasteメソッドを使ってみるとか・・・

【11786】Re:セルのコピーでシステムエラー
質問  megu  - 04/3/16(火) 13:36 -

引用なし
パスワード
   IROC さん、こうちゃん さん ありがとうございます。
またまたいろいろ試してみました。
途中の経過を報告しますね・・・

>WinやOfficeのSRやSPは適用してますか?
残念ながら完全に適用しています・・・(TT

>1)Withを使わない
>2)コピー先のみ範囲の先頭セルを指定
>3)コピー先引数Destinationを明示的に指定
どうしてもうまくいきません・・・(TT

>新規ブックでも再現しますか?
新規ブックでもダメでした・・・(TT

>Pasteメソッドを使ってみるとか・・・
これもダメでした・・・(TT

元ブックがセルの結合をしていたので、これが原因か?と思いましたが、セルの結合を全解除してやってみましたが、変わりませんでした・・・

手作業でコピーペーストならうまくいくのに・・・
ゲイツの罠だと諦めるしかないのでしょうか・・・

【11791】Re:セルのコピーでシステムエラー
発言  Jaka  - 04/3/16(火) 14:57 -

引用なし
パスワード
   こんにちは。

気になる事。

>クライアントから切断されました。

どこにあるブックで行っているのか解りませんが、問題のブックは、どこにあるのでしょうか?
自身のパソコン内だけのブックでやってもエラーになるのでしょうか?

XPのセキュリティとか端末環境とか、もろもろ原因がありそうですけど...。

その辺りも調べて見たらどうでしょうか。

【11793】Re:セルのコピーでシステムエラー
発言  megu  - 04/3/16(火) 15:08 -

引用なし
パスワード
   Jaka さん こんにちは。

>>クライアントから切断されました。
>どこにあるブックで行っているのか解りませんが、問題のブックは、どこにあるのでしょうか?
問題のブックはデスクトップに置いて作業しています。

>自身のパソコン内だけのブックでやってもエラーになるのでしょうか?
自身のパソコン内で行うと、単一のセルを対称にするとエラーが出ます。
複数だとエラーが出ませんでした。
他のパソコンだと、単一セル・複数セルどちらでもエラーになりますが、自身のパソコンと同じ動きをする場合もありました。
もうわけがわかりません・・・(==;

>XPのセキュリティとか端末環境とか、もろもろ原因がありそうですけど...。
ここまでくると環境依存でしょうか・・・
環境依存となると、そのあたりに詳しくないので全く手が出ませんが・・・(TT

【11795】Re:セルのコピーでシステムエラー
発言  Jaka  - 04/3/16(火) 15:25 -

引用なし
パスワード
   確認です。

コピー元とコピー先のセル範囲の大きさは全く同じですか?
提示されたコードの状態だとWin98se&Exl97では、エラーになりませんでした。

>自身のパソコン内で行うと、単一のセルを対称にするとエラーが出ます。
このエラーになるコードは、提示されたコードですか?
できたら、エラーになるコード(提示された物と別だったら)と
エラーにならないコードを記載して見てください。

【11797】Re:セルのコピーでシステムエラー
発言  megu  - 04/3/16(火) 15:36 -

引用なし
パスワード
   >コピー元とコピー先のセル範囲の大きさは全く同じですか?
全く同じなんです。
というのも、Sheet1をコピーしたシートがSheet2ですので・・・。

>>自身のパソコン内で行うと、単一のセルを対象にするとエラーが出ます。
>このエラーになるコードは、提示されたコードですか?
記載したこのコード(シート名・セル範囲も完全に同一)でエラーが起こるんです。
Sheet1とかの名前のまま開発を続ける自分もどうかと思いますが(==;
(当然そろそろ置換などで名前を変更したほうがよさそうですが・・・)
(で、これによってまたエラーが出たりするかも・・・(滝汗))

F8のステップ実行で確認してもやっぱりここで引っかかるんですよ・・・。
みなさんの環境で動いているのが非常にうらやましい・・・。
私の周りの環境だとほとんどで動かないので・・・。

【11801】さらに確認ですが・・
発言  こうちゃん E-MAIL  - 04/3/16(火) 16:02 -

引用なし
パスワード
   みなさんこんにちは

手作業ではエラーにならないということですので、
手作業をそのままマクロ記録して実行したらどうなるでしょ?

また、念のため、アプリケーションの自動修復を試みてみるとか・・

【11804】Re:セルのコピーでシステムエラー
発言  megu  - 04/3/16(火) 16:14 -

引用なし
パスワード
   今更ですが、困っているコードを載せておきます。

--------------------------------------------------

Sub btnTakeOver_Click()

  ActiveWorkbook.Save
  
  With Worksheets("Sheet2")
    Dim strCreateBookPath As String
    ' 名前を付けて保存ダイアログ表示
    strCreateBookPath = Application.GetSaveAsFilename("引継", "EXCEL形式 (*.xls),*.xls")
    
    ' クリアする (Sheet1からコピー&ペースト)
    Worksheets("Sheet1").Visible = True
    ' ■■■↓エラー箇所ここから↓■■■
    Worksheets("Sheet1").Range("H33:BK63").Copy (.Range("H33:BK63"))
    ' ■■■↑エラー箇所ここまで↑■■■
    Worksheets("Sheet1").Visible = xlVeryHidden
    
    ' ユーザーが設定した名前で保存する
    ActiveWorkbook.SaveAs Filename:=strCreateBookPath
      
  End With

End Sub

【11808】Re:セルのコピーでシステムエラー
回答  七誌  - 04/3/16(火) 16:42 -

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

コマンドボタンならおそらくFAQ

>Sub btnTakeOver_Click()

  ActiveCell.Activate
>
>  ActiveWorkbook.Save
>  
>  With Worksheets("Sheet2")
>    Dim strCreateBookPath As String
>    ' 名前を付けて保存ダイアログ表示
>    strCreateBookPath = Application.GetSaveAsFilename("引継", "EXCEL形式 (*.xls),*.xls")
>    
>    ' クリアする (Sheet1からコピー&ペースト)
>    Worksheets("Sheet1").Visible = True
>    ' ■■■↓エラー箇所ここから↓■■■
>    Worksheets("Sheet1").Range("H33:BK63").Copy (.Range("H33:BK63"))
>    ' ■■■↑エラー箇所ここまで↑■■■
>    Worksheets("Sheet1").Visible = xlVeryHidden
>    
>    ' ユーザーが設定した名前で保存する
>    ActiveWorkbook.SaveAs Filename:=strCreateBookPath
>      
>  End With
>
>End Sub

【11838】Re:セルのコピーでシステムエラー
質問  megu  - 04/3/17(水) 12:00 -

引用なし
パスワード
   こうちゃんさん、七誌さん、みなさん、こんにちは。

▼こうちゃん さん:
>手作業ではエラーにならないということですので、
>手作業をそのままマクロ記録して実行したらどうなるでしょ?
↑これをしたらそのときはよかったです。動きました。
でも、次の日に同様に実行したら「400」のエラーコードがでました。
なんで・・・(TT

▼七誌 さん:
>  ActiveCell.Activate
↑七誌さん、この行を追加と言う意味でしょうか。
追加しても何も変わらなかったのですが・・・。
追加するだけではダメなのでしょうか。

ここまでダメだとExcelが壊れていると考えるのが良いのでしょうか・・・。

【11839】Re:セルのコピーでシステムエラー
発言  こうちゃん E-MAIL  - 04/3/17(水) 12:07 -

引用なし
パスワード
   meguさん、こんにちは

>ここまでダメだとExcelが壊れていると考えるのが良いのでしょうか・・・。

疑ったほうがいいかもしれませんね。
アプリケーションの自動修復を試みてはいかがでしょうか。

【11852】Re:セルのコピーでシステムエラー
発言  七誌  - 04/3/17(水) 15:33 -

引用なし
パスワード
   ▼こうちゃん さん:

>>ここまでダメだとExcelが壊れていると考えるのが良いのでしょうか・・・。
>疑ったほうがいいかもしれませんね。

これも疑ってみてください
http://support.microsoft.com/default.aspx?scid=kb;ja;823988&Product=xl2003

あと、XL2003では過去のXLで作成された図形のあるシートなどを含むブックが正しく開かれなかったりもします。

【11880】Re:セルのコピーでシステムエラー
お礼  megu  - 04/3/18(木) 11:00 -

引用なし
パスワード
   七誌 さん、こうちゃん さん、みなさん、こんにちは。

いろいろ試してみたところ、どうやらセルの枠線が関わってくるとエラーが出るようです。
これは何故か分かりませんが、枠線に一切関わらない形にすることでエラーは出なくなりました。
本当の意味での解決には至ってはいませんが、エラーが消えたから良いかな、と思います。
また、何か分かりましたら投稿したいと思います。
みなさんも、同じようなことが起こったり、原因が分かったりしましたらぜひ教えてください。
おねがいします。m(_ _)m

みなさん、本当にありがとうございました。

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