- ベストアンサー
VBAで行非表示時に型が一致しないエラーが発生する問題
- Excel2003を使用している際に、VBAで行を非表示にすると型が一致しないエラーが発生します。
- エラーが発生した場合、F8キーを押すことで進行できることがあります。
- 問題の解決方法やプログラムの改善点についてアドバイスをいただきたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (1)
- in01280128
- ベストアンサー率50% (48/95)
関連するQ&A
- Excel2007VBAで変動する行範囲の指定方法
下記の様なマクロで、変動する行指定の指定方法がわかりません。 A1+1 行から39行目までを非表示にしたいのですが 上記の A1+1 は変動する。(A1+1を36にて実行するとエラーは出ません) 'マクロで余分な行を非表示にする Rows("A1+1:39").Select Selection.EntireRow.Hidden = True を実行すると、 実行時エラー '13' 型が一致しません。 となってエラーが出てしまいます。 当方ごく初心者で、指定または変更の方法がわかりません。 教えて下さい。どうぞよろしくお願いします。
- ベストアンサー
- その他MS Office製品
- EXCEL2007でVBAが動かない
私の知り合いがWindowsMeを使っていて、個人的に株の取引をしています。知り合いから頼まれて、その株の管理をするための表をEXCELで作りました。そして、その管理表の空白部を非表示にするため、次のようなプログラムをVBAで作りました。 "If ActiveSheet.Name = "銘柄別取引明細" Then ActiveSheet.Unprotect Rows(CStr(1) & ":" & CStr(登録最大件数 + タイトル行 + 1)).EntireRow.Hidden = False 表示最大行 = 表示最大行検索((タイトル行 + 1), "A") Rows(CStr(表示最大行 + 2) & ":" & CStr(登録最大件数 + タイトル行)).EntireRow.Hidden = True ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True End If End Sub" 登録最大件数=100と最初に定義しています。表示最大行検索は別にサブプロシジャを作っています。 さて、知り合いのパソコンが壊れて、新しくパソコンを買いました。当然、Vistaです。新しいパソコンに、このEXCELファイルをメモリから読み込ませ、開いてみると、動きません。セキュリティの問題かと思い、「全てのマクロを有効にする」にして、さらに「開発者を信用する」をオンにしてみましたが、動きません。 調べてみると、VBAの、"Rows(CStr(1) & ":" & CStr(登録最大件数 + タイトル行 + 1)).EntireRow.Hidden = False"でプログラムが止まってしまっています。 理由が分かりません。誰か教えてください。 しかし、何でEXCEL2007になると、突然、プログラムが動かなくなるのでしょうか。EXCEL2007では不具合になるようなことがあったとしても、自動的に、EXCEL2007に合うよう、変換するサービスがあってもいいと思うのですが。 それも含めて助けてください。
- 締切済み
- Visual Basic
- ExcelVBAで行の非表示、表示をコード化
現在、Excel2003をつかっており、VBAを用いて sheet1シートの2行目、4行目、10行目を非表示にするマクロ(HIDDEN)と すべての行を表示にするマクロ(APPEAR)を使っています。 Sub HIDDEN() ThisWorkbook.Worksheets("sheet1").Rows("2").HIDDEN = True ThisWorkbook.Worksheets("sheet1").Rows("4").HIDDEN = True ThisWorkbook.Worksheets("sheet1").Rows("10").HIDDEN = True End Sub Sub APPEAR() ThisWorkbook.Worksheets("sheet1").Rows.HIDDEN = False End Sub いま、2つのマクロを併合し 「Sheet1の2行目、4行目、10行目のいずれかが非表示であれば、すべての行を表示 そうでなければ、2行目、4行目、10行目のすべてを非表示にしたい」 と考えています。 ここで私が困っているのは、2行目、4行目、10行目のいずれかが非表示であれば というのをどうVBAで記述するのかです。
- ベストアンサー
- オフィス系ソフト
- ExcelVBAで行の非表示、表示をコード化したい
現在、Excel2003をつかっており、VBAを用いて sheet1シートの2行目、4行目、10行目を非表示にするマクロ(HIDDEN)と すべての行を表示にするマクロ(APPEAR)を使っています。 Sub HIDDEN() ThisWorkbook.Worksheets("sheet1").Rows("2").HIDDEN = True ThisWorkbook.Worksheets("sheet1").Rows("4").HIDDEN = True ThisWorkbook.Worksheets("sheet1").Rows("10").HIDDEN = True End Sub Sub APPEAR() ThisWorkbook.Worksheets("sheet1").Rows.HIDDEN = False End Sub いま、2つのマクロを併合し 「Sheet1の2行目、4行目、10行目のいずれかが非表示であれば、すべての行を表示 そうでなければ、2行目、4行目、10行目のすべてを非表示にしたい」 と考えています。 ここで私が困っているのは、2行目、4行目、10行目のいずれかが非表示であれば というのをどうVBAで記述するのかです。
- ベストアンサー
- SE・インフラ・Webエンジニア
- エクセルVBAで非表示にする方法
エクセルのVBAを使って表示・非表示の切り替えをする方法を教えてください。 マクロは初心者のため、コードを書いていただけると嬉しいです。 (1)6~9行目、11~14行目、16~19行目…151~154行目まで を表示・非表示 (2)合計列・差額列 (列に名前を入れています。ABCなどどの列に入るかはケースによりかわります) 今のところ、 Rows("6:9").Hidden = True Rows("11:14").Hidden = True Rows("16:19").Hidden = True . . . Columns("Q:R").Hidden = True で誤魔化していますが、時間がかかりますし、列はその都度設定している状況です。 ご指導お願いします。
- 締切済み
- オフィス系ソフト
- 行を非表示するVBA
下記は行を非表示するVBAです、 エラーになり非表示できませんどこが間違っているのですか、よろしくお願いします。 Sub Macro7() Dim a As Integer a = 15 Rows("a:a").Select Selection.EntireRow.Hidden = True End Sub
- ベストアンサー
- オフィス系ソフト
- 【Excel2003 VBA】
【Excel2003 VBA】 行(範囲)選択時、パラメータを利用したいのですが。 例えば、2行目から11行目を非表示にする場合は、 Rows("2:11").Select Selection.EntireRow.Hidden = True ですが、 2及び11が不規則に変わるのでパラメータを利用したいと思っています。 Dim i as Integer Dim j as Integetとし、 i行目からj行目 という選択は、どのように指定すればよろしいでしょうか? よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- 結合されているセル行の中から1行だけを非表示にするマクロ
結合されているセル行の中の1行だけを非表示したいと思っています。 例えばA1:A5が結合していて、B1:E5までは一切結合されていない状態で、3行目だけを非表示にしたいのですが、 Rows("3:3").Select Selection.EntireRow.Hidden = True とすると、1~5行目まで全てが非表示になります。 マクロを自動記録すると Rows("3:3").Select Range("B3").Activate Selection.EntireRow.Hidden = True となるのですが、この通りにコーディングしても、やはり1~5行目が非表示になります。 1行だけを非表示にしたい場合は、どのように記述すれば良いのでしょうか? よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセル 行の表示非表示のマクロでエラーが
たとえば 列A 行1 2300 行2 1500 行3 500 行4 300 となっていて、ボタンを押すたびに行2~行4の表示非表示を切り替えるマクロを以下のように設定しました。 Sub () With Rows("2:4") .Hidden = Not .Hidden End With End Sub そして、A1のセルを保護しシートを保護したところマクロにエラーが出て使えなくなりました。 解決方法はあるのでしょうか? よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- 塗りつぶしのない行を非表示にするマクロ
塗りつぶしのない行を非表示にするマクロを作成したいのですが、 どこが問題で実行できないのかわかりません! 例えば8行目に対して実行したい場合を教えてください! ちなみに自分で作成したVBAはこんな感じです。 Sub macro1() If Rows("8:8").Interior.Color = xlNone Then Rows("8:8").EntireRow.Hidden = True End If End Sub よろしくお願いします。 ちなみにexcel2007です。
- ベストアンサー
- オフィス系ソフト
- 酸熱トリートメントでツヤツヤサラサラの髪に!ただし色落ちには注意
- 美容師によって施術方法が異なるため、カラーとの同時施術は美容室によって違う可能性あり
- 美容室選びは技術と人柄の両方を重視したい
お礼
回答ありがとうございます! グラフを選択した状態だとそのエラーが出るのですか… 原因が分からなかったのでとても助かります! 色々と説明不足な点が多々あり、申し訳ないです。 フォーム上で、データの操作を行っており、 フォームの内容の通りにグラフを作成しております。 そして、フォームのマクロの最後に ActiveSheet.Rows("2:20").Hidden = True と記入していたのですが、 そこで上記エラーがでておりました。 読み返してみたら情報不足すぎて、 本当に申し訳ないです。 試してみたところ、出来ました! in01280128様に教えて頂いた プログラムではなぜ出来ないのか・・・ やっていることは同じだと思うのですが、 やはり、selectは重要なのでしょうかね? keithin様、回答ありがとうございました!