[[20150312122645]] 『エクセルのシート見出しにセルの名前を付けたいの』(文) ページの最後に飛ぶ

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

 

『エクセルのシート見出しにセルの名前を付けたいのですが』(文)

エクセルのシート見出しにセルA-1のバナナと名前を自動で付けたいのですが

セルA-1がりんごに変更になった場合は、シート見出しの名前もりんごとなる様に出来ないでしょうか

宜しくお願い致します。

	A	B
1	バナナ	
2	りんご	

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 シートモジュールに以下でどうでしょうか?
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Target.Address = "$A$1" Then ActiveSheet.Name = ChkShName(Range("A1").Value)
    End Sub
    Private Function ChkShName(ByVal ShName As String) As String
        With CreateObject("VBScript.RegExp")
            .Pattern = "(:|\\|\?|\[|\]|/|\*)"
            .Global = True
            .Ignorecase = True
            ChkShName = .Replace(ShName, "")
        End With
    End Function
 ※ちょっと差し替え 3/13 09:35
(稲葉) 2015/03/12(木) 12:49

 とりあえずお遊びのサンプルです。
 新規ファイル等でマクロの ThisWorkbook の下に下記をおき、ファイルを保存後に
 開きなおしてみてください。

 シート名が重複したり、使用できない文字があると A1 が強制的にシート名に戻ります。

 Private Sub Workbook_Open()
    For Each ws In Worksheets
        ws.Range("A1").Value = ws.Name
    Next
 End Sub

 Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Intersect(Target, Sh.Range("A1")) Is Nothing Then Exit Sub

    Application.EnableEvents = False
    On Error Resume Next
    Sh.Name = Sh.Range("A1").Value
    On Error GoTo 0

    If Sh.Name <> Sh.Range("A1").Value Then
        Sh.Range("A1").Value = Sh.Name
        Beep
    End If
    Application.EnableEvents = True
 End Sub

(Mook) 2015/03/12(木) 12:56


稲葉様
Mook様
ご教授有難うございます。

シートモジュールとか、マクロの ThisWorkbookとか
色々やってみましたが、貼り付け場所がまったく分かりませんでした。

ほとんど初心者ですので、もう少し具体的に教えて頂くと助かります。

宜しくお願い致します。
(文) 2015/03/12(木) 14:41


 下記を参考にできるでしょうか。
http://officetanaka.net/excel/vba/beginner/10.htm 「マクロってどこに書けばいいの?」

 シートモジュールは、シートタブから「コードの表示」でも辿れますし、
 ThisWorkbook は参照先の「プロジェクト」内にある ThisWorkbook をダブルクリックで
 編集画面が開きます。
(Mook) 2015/03/12(木) 14:49

 稲葉さんのレスにありますので蛇足ですが・・・。

 シート名、ブック名につけられない文字 
http://support.microsoft.com/kb/401030/ja
(カリーニン) 2015/03/12(木) 14:53

Mook様
カーニング様

有難うございます。

Mook様に教えて頂いた「マクロってどこに書けばいいの?」を見ながら
なんとか標準モジュールへ貼り付ける事が出来ました。

しかし、実行(R)⇒Sub/ユーザーフォームの実行F5のボタンをクリックするとマクロ(M)の窓が出てきて

その先へ進む事が出来ずに困っています。

貼り付けた後のやり方を教えて頂けないでしょうか

宜しくお願い致します。
(文) 2015/03/12(木) 19:59


 参照先は標準モジュールに書くようにと説明されていますが、
 稲葉さんのはシートモジュール、私のは ThisWorkbook モジュールの下において
 使用するものですので、おき場所を変更してください。

 提示したマクロは、ユーザが実行するのではなく、A1 セルを変更することで
 処理が実行されます。
(Mook) 2015/03/12(木) 20:04

稲葉様
Mook様
カリーニン様

ようやく出来ました。
稲葉様とMook様に教えて頂いたマクロが使用出来る様になりました。
昨日から、取り組んできましたが希望通りに実施できました。
対象セルの変更も出来ました。

マクロの式は、まったく理解出来ていませんが貼り付け場所を少し理解出来たと思います。

少しマクロに興味が出ました。
皆様方のお蔭だと深く感謝いたしております。

有難うございました。
(文) 2015/03/13(金) 08:15


稲葉様

※ちょっと差し替え

有難うございます。

変わった所は確認できたのですが、内容は全く分かりません。

使用させていただきます。

有難うございました。
(文) 2015/03/14(土) 07:59


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.