[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『グループ化したグループ名の固定』(ちづ)
こんにちは。またまた教えてください。 今、組織図を作っています。マクロでボタンを押すと、組織図内のメンバー名が あらわれたり、消えたりするようにしています。 メンバー名は40個程のテキストボックスから作成されており、全ての課分をグループ化し、 それをVBEに反映させ、表示・非表示を指示しています。
ただ、組織変更などがあると、グループ化を解除→テキストボックスの サイズ拡大(増員分入力)→ 再グループ化 などをしなくてはならなくなり そのたびにグループ名が変わってしまい、VBEも変更が必要になります。
そこで質問なのですが、このグループ名を固定させることは可能なのでしょうか。 もしくは変数等を使ってそれぞれのテキストボックスを指定するのが 一番いいのでしょうか・・・何かアドバイスをいただければと思います。
Sub メンバー非表示() ActiveSheet.Shapes("Group 194").Visible = False ActiveSheet.Shapes("Group 196").Visible = False
End Sub
Sub メンバー表示() ActiveSheet.Shapes("Group 194").Visible = True ActiveSheet.Shapes("Group 196").Visible = True
End Sub
>もしくは変数等を使ってそれぞれのテキストボックスを指定するのが >一番いいのでしょうか
これは、どのような処理ですか? 想像がつかないのですけど。
(INA)
こんな夢みたいなことができないかなと思っていました・・・ もっと勉強します・・・(/-_-\) 恥ずかしい。。。(ちづ)
For i = 1 To 50
ActiveSheet.Shapes("text box i").Visible = False
Next i
お邪魔します。 グループ化しなおした時にそれが勝手に変わってしまう、と言う事で グループ名の変更 「コントロール ツールボックス」が出ている状態で 名前ボックス(初期状態だと式の左隣?)に そのオブジェクト名(グループ名)が表示されます。 そこを任意の名前に変更すればいいんでないですかね。 例)Group 123→Group営業部 そうすればマクロ側は変更しないでも良いでしょう。
> ActiveSheet.Shapes("text box i").Visible = False ActiveSheet.Shapes("text box " & CStr(i)).Visible = False CStrは無くても動くけど丁寧にするならこう。 (ご近所PG)
これでできますけど、 ActiveSheet.Shapes("text box" & i).Visible = False
これができても、 手作業で再グループ化したときの名前の変化にたいする 問題の解決につながらないような気がするのですが・・・
複数図形選択→再グループ化→名前変更 のマクロを作るのかな・・?
(INA)
ご近所PGさん、ありがとうございます\(◎o◎)/ 任意の名前に設定できるなんて知りませんでした。うまくできました!
そしてINAさん、いつもすみません・・・。
>複数図形選択→再グループ化→名前変更 のマクロを作るのかな・・? いえいえ、グループ化さえあきらめて、もっと単純にテキストボックス単位で ループ処理を使って一つ一つ表示・非表示させようかと低レベルなことを もくろんでおりました。
以後、レベル向上につとめます・・・(^_^A;。 とにかく助かりました。ありがとうございます!(ちづ)
はぁ〜〜い!!はっきり言って「押し売り」でぇ〜〜す。σ(^◇^;) こんなんいりませんかぁ??? v(=∩_∩=)v (SoulMan) Private Sub CommandButton1_Click() Dim i As Long With Me If .Shapes.Count = 0 Then MsgBox "何かかいてください" Exit Sub End If For i = 1 To Int((.Shapes.Count * Rnd) + 1) Randomize .TextBox1.Value = .Shapes(i).Name If .Shapes(i).Name <> "CommandButton1" Then If .Shapes(i).Name <> "TextBox1" Then If .Shapes(i).Name = .TextBox1.Value Then If .Shapes(i).Visible = False Then .Shapes(i).Visible = True .Shapes(i).Select Selection.ShapeRange.Fill.ForeColor.SchemeColor = _ i + Int((.Shapes.Count * Rnd) + 1) ActiveCell.Select Else .Shapes(i).Visible = False End If End If End If End If Next End With End Sub http://ryusendo.no-ip.com/cgi-bin/upload/src/up0103.xls
SoulManさん、先ほどは別件でお世話になりました。(覚えていらっしゃれば・・・) 見事なまでのブーメラン型!さらにアップしていただいたエクセルを あけた瞬間、ド派手さに思わず微笑んでしまいました(^_^)
お恥ずかしながら低レベルな私にはVBEを拝見しても、なかなか 仕組みを理解できなかったのですが、あとでじっくり勉強させてもらいます! 教材の押し売り、大歓迎ですぅ\(^o^)/ (ちづ)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.