[[20060129181126]] 『シートの名前について』(kyouhaiitenki) ページの最後に飛ぶ

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

 

『シートの名前について』(kyouhaiitenki)

シートのコードについてお尋ねします.

<基本データ.xls>
   A       B   

1 コーヒー

2  紅茶

3 コーヒー

4 ウーロン茶

5  紅茶

6  緑茶

7  紅茶
 
   ・

   ・
と<基本データ.xls>にはA列に品名が続いていきます.

これを<品名別.xls>のシート名に自動で品名を入れていきたいのです.

<品名別.xls>

        A    B          A       B        

     1 コーヒー          1 紅茶

     2 コーヒー          2 紅茶 

        ・            3 紅茶

        ・

シート名  「コーヒー」        「コーヒー」

ちなみにシートは書式が決まっていてすでに新規に挿入する必要がないほど作ってあります.

よろしくお願いいたします.


 こんな感じで宜しいでしょうか?

 基本データ.xls
 品名別.xls
 両方のファイルを開いてください。

 1)品名別 の シートタグ に、カーソルを持っていく
 2)右クリック → すべてのシートを選択 

 A1 =RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1)))
 A2 =IF(COUNTIF([基本データ.xls]Sheet1!$A$1:$A$30,$A$1)<ROW(A1),"",
    INDEX([基本データ.xls]Sheet1!$A$1:$A$30,SMALL(IF($A$1=[基本データ.xls]Sheet1!$A$1:$A$30,ROW($A$1:$A$30),""),ROW(A1)),1))
   ↑配列数式
   Ctrl + Shift + Enter で確定。
   { 数式 }になればOK
 必要範囲まで、下にコピペ

 ※基本データのシート名は「Sheet1」にしてありますが、
  実際のシート名と違う場合は変更してください。
 ※基本データの範囲は、A1からA30までにしてありますが、必要であれば
  「$A$1:$A$30」の範囲を変更してください(合計4個)

 (キリキ)(〃⌒o⌒)b


キリキさん,早速のご回答ありがとうございます.
説明不足で申し訳ありません.A1にはすでに関数が入っており,別の所から品名を引っ張ってきています.したがいまして,シートのマクロでやりたいと思っているのです.よろしくお願いいたします.

 >A1にはすでに関数が入っており
 例えマクロでしたとしても、関数が入っていると消えちゃいますよ???

 >別の所から品名を引っ張ってきています
 何を何処から引っ張ってきてるんですか?

 >シートのマクロでやりたいと思っているのです
 シートのマクロって何のことでしょう?

 マクロで処理をするのでしたら、それなりに「条件・セル番地・抽出先・・・」などを
 具体的に記入しないと出来ないと思うのですが。。。

 それとも『どんな感じで作成したら良いのでしょうか?』と言う質問でしょうか?
 それでしたら、
 自動的にするのでしたら、Worksheet_Change イベントがいいと思います。
 ボタン等で一気にするのでしたら、そこに登録するのも良いかもしれません。
 Select Case や、If 等で、分岐させて処理をしていけば出来ると思いますよ〜♪

 (キリキ)(〃⌒o⌒)b

 今、読み返したら、、、
 >シート名に自動で品名を入れていきたいのです.
 とは、シート名をマクロで作成したいって事かしら???

 そうすればこんな感じでしょうか?
 標準モジュールへ
'---------------
Sub test()
Dim MySh As Worksheet
For Each MySh In Worksheets
    ActiveWorkbook.Worksheets(MySh.Name).Name = Worksheets(MySh.Name).Range("A1")
Next MySh
End Sub

 (キリキ)(〃⌒o⌒)b


何度もすみません.できました.excelは関数でしか使えないので助かりました.ありがとうございます.

コメント返信:

[ 一覧(最新更新順) ]


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