Excel (VBA)

Excel VBAに関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(指定なし : 指定なし)
A列の名前をそのままシート名にする方法
投稿日時: 23/01/25 17:26:13
投稿者: 高円寺の郷のもの

質問です。
A列に書かれている文字列をそのままシート名にする方法がありましたら、教えてください。

回答
投稿日時: 23/01/26 06:30:32
投稿者: simple

A列の名前とは?
A列のどこかのセルにある文字列ということですか?
それとも「定義された名前」ということですか?
ちょっとわかりません。
 
ワークシート名の変更は、マクロ記録をとればすぐわかりますが、
例えば、

ActiveSheet.Name = "aaa"
といった書き方になると思います。
ActiveSheetに限定するわけではなく、WorksheetオブジェクトであればなんでもOKです。

回答
投稿日時: 23/01/28 14:52:31
投稿者: simple

失礼しました。
A列の文字列と書いていただいていました。
 
それで、お困りの点はどこなんでしょうか。
A列に文字列が入っているセルはひとつだけなんですか?
それをマクロで探そうということですか?
それとも、複数の文字列が入っていて、各シートに順次、名前をつけていきたい、
ということなんですか?
 
基本になる構文はすでに示したとおり、
Worksheetオブジェクト.Name = 文字列
ということで対応可能なはずです。
必要ならそれを繰り返すということになります。
 
されたいことを追加説明いただくとよいと思われます。

回答
投稿日時: 23/01/28 15:49:59
投稿者: WinArrow
投稿者のウェブサイトに移動

もう少し、状況とかも説明した方がよいかも・・・・
 
現在表示されているシートの
特定のA列セル:A2の文字列
という限定で

Sub Sample1()
Dim 文字列 As String
    文字列 = ActiveSheet.Range("A2").Value
    ActiveSheet.Name = 文字列
End Sub

 
 
※シート名として使用できない文字列がある
※既に存在するシートの名前と重複しない
※シート名に摘要したいA列が存在するシート以外のシートのン前を設定する
など、チェックは含まれない。

トピックに返信