アプリ版:「スタンプのみでお礼する」機能のリリースについて

EXCELのスクロールが極端に遅くなったので、ここでヒントを探しました。すると、オブジェクトが何らかの原因ではないかということで、オブジェクトを全部選択して消去することで、解決しました。2メガ以上あった容量も50キロ程度になりました。
ところで、どんなオブジェクトが原因だったのかと思って、空のワークシートにそのオブジェクトを貼り付けてみました。
目に見えるオブジェクトを消して保存すると、まだ2メガ以上の容量があり、何か見えないオブジェクトが残っているのかもしれないと思うのです。それを発見する方法はないものでしょうか。また、見えないオブジェクトの正体は?

A 回答 (5件)

>リサイズの方法がわかりません。



全オブジェクトを選択した状態で、
[右クリック]-[オートシェイプの書式設定]-[サイズ]から指定します。

>実行方法がわかりませんでした

1. [Alt]+[F11]でVisual Basic Editor起動(以下VBE)
2. VBE画面で[挿入]-[標準モジュール]クリック
3. 2.で開いたウインドウに#2のVBAコードをコピー&ペースト
4. VBEを閉じる
5. [ツール]-[マクロ]-[マクロ]で実行

です。次のような感じで新規シートにオブジェクト一覧を作成します。

ex)
Rectangle Rectangle 1  $F$16:$H$21
Picture  Picture 2   $G$11:$I$18

全部英数字で出力されますが、種類と名前を見れば、大抵検討はつきます。
例えば、ワードアートなら、名前が「WordArt 1」とでますので。
    • good
    • 0
この回答へのお礼

どうもありがとうございました。うまくいきました。マクロを実行してみると、「図形」のオブジェクトが16000個以上発見されました。その実行にも10分以上かかりました。これではスクロールが遅くなるのも仕方ないですね。
問題のオブジェクトは長さ1cmにも満たない線でした。どうしてこのようなオブジェクトが紛れ込んでしまったのかわかりませんが、今回のことでいろいろなことがわかりよかったと思っています。
また機会がありましたらよろしくお願いします

お礼日時:2005/03/14 22:24

>すべてのオブジェクトが選択されていると思われる状態で、色をつけてみましたが...



とありますので、オブジェクトのプロパティ操作はできたのですよね?オブジェクトを全選択して、縦と横のサイズを1cmとかにリサイズしてみれば?

>でも見えないのです。不思議です。

プロパティで「セルに合わせて移動やサイズの変更をする」になっていると、行や列の削除でオブジェクトが極端に細くなったりしますが、セルに罫線が引かれていたりすると、それに埋もれて見えにくくなりますね。というか、見えない。

>...まだ2メガ以上の容量があり、何か見えないオブジェクトが残っているのかもしれないと思うのです。それを発見する方法...

リスト化すれば一発で、残っているオブジェクトの「種類・名前・位置」がわかるのですが。

>アクティブなワークシート全体が選択されてしまいます。すべてのセルにオブジェクトが存在していた。と解釈するべきなのでしょうか

マクロの自動記録をとればわかりますが、

[Ctrl]+[Shift]+[Space] --> Cells.Select

つまり、セルの全選択です。オブジェクトだけ選択することはできません。
    • good
    • 0
この回答へのお礼

KenKen_SPさんありがとうございます。
マクロの紹介をしてくださった方ですよね、ご丁寧にありがとうございます。ただ、私はマクロを使ったことがなく、実行方法がわかりませんでした。残念!

>オブジェクトを全選択して、縦と横のサイズを1cmとかにリサイズしてみれば?

とのことですが、リサイズの方法がわかりません。

つまり、わからないだらけなのです。ただ、何かの拍子に何かを間違ってペーストしてしまったことは明らかのようです。その正体を突き止めたいと思っております。

お礼日時:2005/03/12 22:27

No.1 の者です。


気休めでしかないかもしれませんが、まずはオブジェクトを見えるようにしてみてはどうでしょうか。
(1)の方法で個別に、または(2)の方法で一括に、オブジェクトに色や線をつけて画面上で見える状態にする。

オブジェクトの数がそれほで多くなければ(1)の方法で何種類かに色分けした方がいいかもしれませんね。

No.2 の方の方法でリスト化されるのも、違う意味で見えるようにすることになるので良いかと思います。

この回答への補足

すべてのオブジェクトが選択されていると思われる状態で、色をつけてみましたが、正体を現しません。
TABキーでオブジェクトを次々に選択すると、左上に「図×××」というような表示が出ます。この数字の部分が最大4桁になってしまいました。でも見えないのです。不思議です。

補足日時:2005/03/11 23:08
    • good
    • 0

シート内のオブジェクトを全て選択する方法



1. 任意の単位セルを選択(複数セルを選択しない)
2. [Ctrl]+[G]で[ジャンプ]ウインドウが開きます
3. [セル選択]ボタンクリック
4. [オブジェクト]を選択し、[OK]クリック

これで、シート内の全オブジェクトが選択されます。ただし、コントロールは事前にデザインモードにしておかないと選択されません。

また、参考までにですが、下記マクロはシート内の全オブジェクトをリスト化するものです。

Sub 配置オブジェクトの一覧作成()
  Dim myObject As Object
  Dim aryResult() As String, Buf() As String
  Dim strShName As String, LT As String, BR As String
  Dim i As Long, j As Long
  Dim Sh As Worksheet
  
  strShName = ActiveSheet.Name
  i = 0
  For Each myObject In ActiveSheet.DrawingObjects
    ReDim Preserve aryResult(2, i)
    aryResult(0, i) = TypeName(myObject)
    aryResult(1, i) = myObject.Name
    LT = myObject.TopLeftCell.Address
    BR = myObject.BottomRightCell.Address
    If LT <> BR Then LT = LT & ":" & BR
    aryResult(2, i) = LT
    i = i + 1
  Next myObject
  If i = 0 Then
    MsgBox "オブジェクトはありません", vbInformation
    Exit Sub
  End If
  '要素入替え
  ReDim Buf(UBound(aryResult, 2), UBound(aryResult))
  For i = 0 To UBound(aryResult)
    For j = 0 To UBound(aryResult, 2)
      Buf(j, i) = aryResult(i, j)
    Next j
  Next i
  '結果
  Set Sh = Sheets.Add
  With Sh
    .Range("A3") = "種類"
    .Range("B3") = "名前"
    .Range("C3") = "位置"
    .Range("A4").Resize(j, i).Value = Buf
    .Columns("A:C").AutoFit
    .Range("A1") = "シート[ " & strShName & " ]に配置されたオブジェクト"
  End With
  MsgBox j & "個のオブジェクトが配置されています", vbInformation
End Sub
    • good
    • 0

見えないオブジェクトを探す方を2通りご紹介します。


まず適当なオブジェクトを1つ作成します。
それを選択した状態で
(1)Tabキーを押す
  シート上のオブジェクトを次々に選択していきます
(2)日本語入力をOFFにした状態で[Ctrl]+[Shift]+[スペース]を押す
  シート上のオブジェクトを一括で選択します

この回答への補足

TABキーにより、ワークシートの左上に次々にオブジェクトの名前が表示されるのがよくわかりました。
ところがそれぞれのオブジェクトがいったい何であうのか?どこにあるのか?表示されないので、全くわかりません。
(2)日本語入力をOFFにした状態で[Ctrl]+[Shift]+[スペース]を押す
  シート上のオブジェクトを一括で選択します
をためしてみましたが、アクティブなワークシート全体が選択されてしまいます。すべてのセルにオブジェクトが存在していた。と解釈するべきなのでしょうか

補足日時:2005/03/10 21:52
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!