[[20151212085210]] 『四角形とRectangleの違いでエラー』(バロン) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『四角形とRectangleの違いでエラー』(バロン)

機種により四角形とRectangleの表示違いでエラーが出ます。
対応策をお教えください。

< 使用 Excel:Excel2013、使用 OS:Windows7 >


もう少し詳細の情報(コードやエラー内容)を説明されれば、
コメントが寄せられるでしょう。

(γ) 2015/12/12(土) 10:05


コメントありがとうございます。
Sub start消去()
    ActiveSheet.Shapes("四角形 8").Visible = False
End Sub
機種によりこのコードのShapes("四角形 8")が無いとエラーが出ます。
それでまた別の機種で動かすと動いたり Rectangle 8と四角形 8 の違いが悪いのか?
意味が分かりません
(バロン) 2015/12/12(土) 10:15

回答じゃありません。
1. 機種によりこのコードのShapes("四角形 8")が無いとエラーが出ます。
 意味がよくわかりません。
 >このコードのShapes("四角形 8")が無いと
 とは?
2. エラーはなんというものですか?
3. それぞれの機種について、
  ExcelのVersionは同じなんでしょうか。
  Versionは?
4. 図形の名前は自動生成されたものですか?ユーザーがつけたものですか?

(γ) 2015/12/12(土) 10:43


返事が遅くなりすみません。
意味不明な言葉でごめんなさい。
同じコード・エクセルのバージョンも同じで動く機種と動かないものがあります。
違っているのはOSでVistaではエラーが上がります。
確かエラー内容は「指定したアイテムが見つかりませんでした」だったと思います。

(バロン) 2015/12/12(土) 13:25


Versionは2013なんですかね。
OSとかに依存することはちょっと考えにくいです。(ちょっと とかを追加しておこう)
よくわかりませんが、
Rectangle で統一するのが手近な対応かと思います。

# 具体的な場面が詳細にわからないと私には手に負えません。
# 他の方からの回答を待って下さい。
(γ) 2015/12/12(土) 13:54


 >同じコード・エクセルのバージョンも同じで動く機種と動かないものがあります。 

 回答側と状況認識を同じにするために、先ずどんな名前のShapeがあるのか、
 下記コードを使ってJ列に書き出してみていただけませんか。

 Sub PrintShapeNames()
     Dim shp, NN As Long
     For Each shp In ActiveSheet.Shapes
         NN = NN + 1
         Cells(NN, "J").Value = shp.Name
     Next
 End Sub

    結果例1        結果例2
  行  ____ J ____    行  ______ J ______
   1  四角形 8           1  四角形 8       
   2  Rectangle 2        2  正方形/長方形 2

 トラブル機種 と トラぶらない機種 で何か違っていませんか?

(半平太) 2015/12/12(土) 16:51


おそらくExcel2007以降とそれ以前の日本語版での違いですが、四角形の名前が変わっています。
(半平太さんが確認しようとしているのも、この点)

・Excel2003まで
ActiveSheet.Shapes("四角形 8").Visible = false

・Excel2007から
ActiveSheet.Shapes("正方形/長方形 8").Visible = false

Excelのバージョンが混在した環境で利用するならば、本来の英語名は変わっていないので、これでいかが?
ActiveSheet.Shapes("Rectangle 8").Visible = false
(???) 2015/12/14(月) 11:11


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.