マクロで作ったボタンのサイズが小さくなる

このQ&Aのポイント
  • マクロで作成したボタンのサイズが小さくなる問題について調査しています。エクセル内の別シートにデータを追加する際に発生し、プリントアウトやインクリメントを繰り返すとますますサイズが小さくなり、クリックできないほどになってしまいます。
  • 問題が再現する場合と再現しない場合があり、具体的な原因を特定することができません。これまで様々な試行を行いましたが、解決策が見つかっていません。
  • この問題について心当たりがある方は、ぜひ教えていただきたいと思います。お願いします。
回答を見る
  • ベストアンサー

マクロで作ったボタンのサイズが小さくなる

エクセルにて、以下の2種類のボタンを作成しました。 1、ボタンを押すとプリントアウトへ進む (Private Sub ×△□_Click() Application.Dialogs(xlDialogPrint).Show End Sub) 2、ボタンを押すとあるセルの数値をインクリメントする (Private Sub inc_Click() Sheets("○×△").Select Cells(6, 13) = Cells(6, 13) + 1 End Sub ) これらのマクロを作成しテストした際は、全く問題なく動作しました。 しかし、同エクセル内の別シートに参照となるデータを加えながら 普段使っているのですが、たまにボタンを押して操作すると、 ボタンのサイズが少し小さくなってしまうのです。 (ボタンとは、自分で作成したコマンドボタンです) プリントアウトやインクリメントを繰り返していくと、 どんどんボタンが小さくなり、クリックできないくらいのサイズに なってしまいます。なぜこのような事が起こるのでしょうか。 自分でいろいろ試してみたつもりなのですが、 上記現象が再現する場合と再現しない場合があり、 どういう時に再現しているのかも掴めません。 もし、心当たりのある何かがございましたら、 ぜひ教えてください。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

#1 のWendy02です >今回は違う原因という事でしょうか・・・ >Excelは確かに2002を使っております。 >2002の現象としてそのような報告が過去にあったという事ですよね、 後は、私の考えられるものとしては、月並みの内容で申し訳ないのですが、 一度、ヘルプ(H) メニューの中の[アプリケーションの修復]を掛けること、 C:\Documents and Settings\[ユーザー名]\Application Data\Microsoft\Excel\ の  *.xlb ファイルと、 その下部にある、XLSTART の中のPersonal.xls ファイルに残った残骸が、 おかしな現象をもたらすことがあるのです。なぜか、このどちらかに、設定が入り込んでしまうのです。 それと、XLSTART の中にあるファイルは、Excelの拡張子とか関係なく読んでしまうので、余計なものは一切入れてはいけません。 これで、様子を見ていただけませんか? 後は、Microsoft Support で読んだ範囲は、#1 に書いた知られているバグのひとつですが、まだ、他にもあるはずです。

tamotsu180
質問者

お礼

返信が遅くなりました。 長く様子を見させて頂きました。 何度か修復をかけては様子を見ていたのですが、 残念ながら、やはり同じような症状がでてしまいました。 ただ、修復をかけたからなのか、 再現率が非常に下がりました。 アプリケーションを立ち上げて直ぐだとほぼ問題なしでした。 アプリケーションを立ち上げっぱなしで、 ファイルを開いたり、とじたりを行っていると、 途中からやはり同じ症状が現れるという状態のままです。 気を使えばなんとか対応ができるようになったので、 なんとかこの状態で行こうと思います。ありがとうございました。

その他の回答 (2)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

補足: それにやはりアップデートは確認したほうがよいですね。

tamotsu180
質問者

お礼

複数にわたりご助言頂きましてありがとう御座います。 修正やアップグレード等試して様子を見たあと、 また、ご連絡させて頂きたいと思います。 ありがとうございます<(_ _)>

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんにちは。 その現象は、確か、Excel 2002 の現象だったような気がします。 コントロールのプロパティのデフォルトが違っているようです。 ボタンは、コントロールの書式設定-プロパティ  -セルにあわせて移動するがサイズは変更しない  -セルにあわせて移動やサイズは変更しない   のどちらかを選択していればよいと思います。 もしくは、プロパティの AutoSize の True をFalse に変えればよいと思います。

tamotsu180
質問者

お礼

wendy02さん ご回答ありがとうございました。 ご指示頂きました点について確認したのですが、 コントロールの書式設定は、 -セルにあわせて移動するがサイズ変更しない プロパティ AutoSize は、 False に元々なっており、修正する点がありませんでした。 今回は違う原因という事でしょうか・・・ Excelは確かに2002を使っております。 2002の現象としてそのような報告が過去にあったという事ですよね、 自分でももう少し調べてみようと思います。 ありがとうございました。

関連するQ&A

  • ボタンを押したら値に+1したいです。

    こんにちは。 すいませんが、教えてください。 エクセルのシートにボタンをつけて そのボタンを押したらA1のセルの例えば2 という値に+1したいです。 自分でもやってみたのですが、 Private Sub ボタン1_Click() A1 = A1 + 1 End Sub しか思いつきませんでした。 どうぞよろしくお願いいたします。

  • マクロボタンが勝手に飛び回る

    エクセルシートの「フォームツールバー」でフォームボタンを配置して印刷マクロを作ったのですが、なぜかボタンをクリックすると勝手に移動してしまいます 原因がサッパリわかりません、 プロシージャは Private Sub CommandButton1_Click() Worksheets("納付書").Range("a1:v35").PrintOut Range("Z4").Select End Sub このようなマクロになっています。 助けてください。

  • マクロのボタン名設定方法

    お世話になります。 マクロのボタン名を 別のファイルのセルの値に設定したいとおもい プログラムを組んでいるのですが、うまくいきません。 CommandButton1をクリックしCommandButton2へ表示 Private Sub CommandButton1_Click() Workbooks("c:\file.xls").Worksheets("Sheet1").Range("A1").Copy Worksheets("Sheet1").CommandButton2.Caption End Sub や Private Sub CommandButton1_Click() Worksheets("Sheet1").CommandButton2.Caption = _ Application.ExecuteExcel4Macro("'C:\[file.xls]Sheet1'!" & Cells(1,1 ).Address(, , xlR1C1)) End Sub などといろいろ試しているのですが、 「インデックスが有効範囲にありません」 とエラーがかえってきます。 そもそもボタン等のプロパティにセットしようとしているのがいけないのでしょうか・・・。 どなたかご教授お願いします。

  • サブルーチンの使い方

    こんにちは 以前 このサイトでサブルーチンを教えて頂いたのですが 今回は、このサブルーチンを使って Commandbuttonに Sheets("20年7月度").Cells(2, 6).Value = Cells(2, 6) & Mojiを 入れたいのですが、どのようにすれば いいですか? 宜しくお願い致します。 Private Sub mySub(Moji) '数字 If Me.MultiPage1.Value = 0 Then TextBox3.Value = TextBox3 & Moji Else: TextBox1.Value = TextBox1 & Moji End If End Sub Private Sub CommandButton1_Click() 'サブルーチン Call mySub("1") End Sub Private Sub CommandButton2_Click() Call mySub("2") End Sub Private Sub CommandButton3_Click() Call mySub("3") End Sub Private Sub CommandButton4_Click() Call mySub("4") End Sub Private Sub CommandButton5_Click() Call mySub("5") End Sub Private Sub CommandButton6_Click() Call mySub("6") End Sub Private Sub CommandButton7_Click() Call mySub("7") End Sub Private Sub CommandButton8_Click() Call mySub("8") End Sub Private Sub CommandButton9_Click() Call mySub("9") End Sub Private Sub CommandButton10_Click() Call mySub("0") End Sub Private Sub CommandButton11_Click() Call mySub("00") End Sub Private Sub CommandButton12_Click() Call mySub("000") End Sub

  • VBA コマンドボタン 頭に0がでない

    各ボタンに以下を入れる Private Sub CommandButton1_Click() Selection.Value = Selection.Value & "1" End Sub Private Sub CommandButton2_Click() Selection.Value = Selection.Value & "2" End Sub . . Private Sub CommandButton10_Click() Selection.Value = Selection.Value & "0" End Sub Private Sub CommandButton11_Click() Selection.Value = Selection.Value & "." End Sub 0.1と入力しても0.1が表示できなく、1となってしまいます。 また.1と入力しても0.1でなく、1になってしまいます。 どうすれば良いでしょうか?

  • エクセルVBA マクロの記録をコマンドボタンにコピペしても動かないのはなぜ?

    マクロを記録した以下は問題なく動くのですが、 Sub Macro1() Sheets("AAA").Select Range("A39:AQ39").Select Selection.Copy Sheets("BBB").Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False End Sub これをシート”BBB”のコマンドボタンに下記のようにコピペすると Range("A39:AQ39").Selectでエラーが発生し動きません。 どうすれば動くようになるのでしょうか? また、どうしてボタンだとコピペするだけではいけないのでしょうか? Private Sub CommandButton1_Click()    ここにコピペ End Sub

  • 選択範囲の空白セルに0を入れるマクロ

    Private Sub CommandButton1_Click() If Cells("選択範囲").SpecialCells(xlcellTypeblank).Select Then Range("選択範囲").Value = 0 End If End Sub このマクロを作成したのですが、動きません。 どこが、おかしいのでしょうか?

  • エクセル マクロ コマンドボタンで行をコピーエラー

    教えてください。 sheet2にコマンドボタンを作成し、コードを下記の通りに入力しました。 ボタンを押すと「RangeクラスのSelectメソッドが失敗しました。」とエラー表示され デバックを見るとRows("1:1").Selectが原因みたいですが、どのように手直ししたら いいか教えて頂けないでしょうか。 Private Sub CommandButton1_Click() Sheets("Sheet1").Select Rows("1:1").Select Selection.Copy Sheets("Sheet2").Select Rows("20:20").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub

  • マクロでフォーム処理の繰り返し

    よろしくお願いします。 マクロでフォームを作成したとき同じような処理がたくさんある時、繰り返し処理は可能でしょうか? 例えば以下のような処理をループ処理できないでしょうか? Private Sub Label1_Click() Label1.BackColor = RGB(255, 0, 0) End Sub Private Sub Label2_Click() Label2.BackColor = RGB(255, 0, 0) End Sub Private Sub Label3_Click() Label3.BackColor = RGB(255, 0, 0) End Sub   ・   ・   ・ Private Sub Label100_Click() Label100.BackColor = RGB(255, 0, 0) End Sub

  • エクセル マクロ チェックボックス

    sheet1にチェックボックスが3つあり、マクロを実行するコマンドボタンが1つあります。 チェックボックスにレ点を入れることにより、sheet4のデータからsheet2にグラフを作成しようと考えてますが、エラーが出てしまい解決できません。 どのように訂正したらいいのか教えて頂けないでしょうか。 Private Sub CommandButton1_Click() Dim GraphRange As String Dim Graph As ChartObject Dim lastRow As Long Set Graph = Sheets("sheet2").ChartObjects.Add(150, 27, 350, 200) lastRow = Sheets("sheet4").Range("A" & Rows.Count).End(xlUp).Row GraphRange = Sheets("sheet4").Range(Cells(1, 1), Cells(lastRow, 1)).Value If Sheets("sheet1").CheckBox1.Value = True Then 'CheckBox1にチェックがあれば GraphRange = Sheets("sheet4").Range(Cells(1, 2), Cells(lastRow, 2)).Value End If If Sheets("sheet1").CheckBox2.Value = True Then 'CheckBox2にチェックがあれば GraphRange = Sheets("sheet4").Range(Cells(1, 3), Cells(lastRow, 3)).Value End If If CheckBox3.Value = True Then 'CheckBox3にチェックがあれば GraphRange = Sheets("sheet4").Range(Cells(1, 4), Cells(lastRow, 4)).Value End If Graph.Chart.ChartWizard Source:=Sheets("sheet4").Range(GraphRange).Value, _ Gallery:=xlLine, Format:=1, PlotBy:=xlColumns, _ CategoryLabels:=1, SeriesLabels:=1, HasLegend:=True End Sub

専門家に質問してみよう