2016-08-23 12 views
0

この記事を読んで私に答えてくれてありがとう。VBAは、1つのExcelシート内のセルに基づいて複数のワークシートを名前を変更して相互に変換し、Excelワークシートに基づいてExcelセルの名前を変更します。

以前の質問と回答を検索すると、各ワークシートの内容に基づいて1つのワークシート(または複数のワークシート)の名前を変更する(つまり、「B1」に記載されている名前に基づいてワークシートの名前を変更する)少し違うものを探しています。

VBAでの私の唯一の経験は "コピー貼り付けコマンド"で構成されていますので、答えの中でどのようなプログラミングが何をしているかについて少しの情報が分かっていれば非常に感謝します。

特定のExcelシートを使用しようとしていますが、そのExcelシートの名前を変更すると、すでに作成されている各Excelワークシートの名前が直接変更されます。各ワークシートの名前をExcelは、シート "要約"の内容を変更します。

例:Excelシートの「概要」セルA5〜A35には、それぞれ「1」、「2」、「3」などの情報が含まれ、「30」まで続きます。

マクロを実行すると、自動的に「1」、「2」、「3」などの名前に変更されたサマリー(「シート1」シート2「シート30」までのシート)を有効にします。

同様に、「テストシート」にシート「3」の名前を変更すると、自動的に「テストシート」を「3」からセル「A7」の内容を変更します。

あなたのヘルプは非常に高く評価されるだろう。

ありがとうございます、

ヨハンソン

+1

あなたは....にStackOverflowに – HA560

+2

ようこそ任意のコードを試してみました。これは無料のコード作成サービスではありませんのでご注意ください。しかし、私たちは、仲間のプログラマー(そして志望者)が自分のコードを書くのを助けることを熱望しています。 [良い質問をするにはどうすればよいですか](http://stackoverflow.com/help/how-to-ask)のヘルプトピックをお読みください。また、ツアー中に(http://stackoverflow.com/tour)、バッジを獲得することもできます。その後、達成したいタスクを完了するために、これまでに書いたVBAコードで質問を更新してください。 – Ralph

答えて

1

コード以下のようにしてください。..

Sub test() 
    On Error Resume Next 
    For Each oldName In ThisWorkbook.Workseets("Sheet1").Range("C1:C133") 
     ThisWorkbook.Worksheets(oldName.Value).Name = oldName.Offset(0, -1).Value 
    Next 
End Sub 
関連する問題