[[20041013115123]] 『グループ化したグループ名の固定』(ちづ) ページの最後に飛ぶ

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

 

『グループ化したグループ名の固定』(ちづ)

 こんにちは。またまた教えてください。
 今、組織図を作っています。マクロでボタンを押すと、組織図内のメンバー名が
 あらわれたり、消えたりするようにしています。
 メンバー名は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.