[[20031207100229]] 『複数のセルの内容を一つのセルに転記する方法』(taka) ページの最後に飛ぶ

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

 

『複数のセルの内容を一つのセルに転記する方法』(taka)

カレンダつくりをはじめてはや2月目。色々勉強させてもらっています。
氏名 誕生日の表があります。同一の誕生日の人の氏名を別の一つのセルに転記したいのですが、可能でしょうか。カレンダに誕生日の人の氏名を表示させたいのです。ご存知の方お教え願えませんか。


 どのようなレイアウトなのでしょうか?
 一般機能で処理したいのか、VBAで処理したいのかもお願いします。 

  (INA)


 氏名 誕生日の表があれば誕生日の隣のセルに =MONTH(B2)&"/"&DAY(B2) で月/日を取り出します。
表内を選択し、データメニューのフィルタ→オートフィルタを設定します。
月/日の欄のリストで日付選択すれば、同日の氏名が表示されます。この氏名をコピーし、空きセルでEnterで確定
貼り付けられた複数行を選択し、Shiftキーを押しながら方向キーで右に広げます(すべての文字が入る幅)
編集メニューのフィル→一番下にある【文字の割付】をクリックします。
これで、1つのセルに納めることが出来ます。
この機能は重宝なので、ツールバーにボタンとして表示させれば便利に利用できます。
ツールメニューの[ユーザー設定][コマンド][編集]の中にある[文字の割付]をツールバーまでドラッグ&ドロップします。
 (シニア)


ありがとうございます。シート1にカレンダーがありA1に年A2に月を入力するとカレンダーが表示されます。シート2にA列に氏名B列に生年月日があります。シート1のA1A2に入力すると該当する日付に誕生日の氏名を表示するようにしたいのですが、1セルしかありませんので誕生日の同一の人が表示できません。ちなみにVBAはまったくわかりません。できるでしょうか?(taka)

エクセル2000を使っています。「文字の割付」がみあたりません。基本的なことで申し訳ありませんが、どうすればよいのでしょうか?
(taka)


 編集メニューのフィル→一番下にあるvvの重なった記号を押すと【文字の割付】が表示されます。
 (シニア)


 カレンダーのレイアウトを教えて下さい。

  (INA)


ありがとございます。以下のレイアウトです。

  A     B     C       D    E      F

 1 2003年 

 2   12月
 3      曜日   祝祭日   誕生日   生年月日   氏名 
 4  1日                                  1959/12/20    OOOOOO            
 5  2日                                  1970/12/20    ******
 6  3日
 7

 (taka)


 シート2のリストから誕生日に該当する人の名前を
 D列に記入すればよいのですよね?
 E,F列は何でしょうか?

 1セルに複数人分を入力するには、 Alt+Enter で改行して入力するか、
 コメント機能を使うのがよいかと思いますが、如何でしょうか?

  (INA)
 

失礼しました。レイアウトが変でした。E,F列はシート2のA,B列の誤りです。ごめんなさい。
(INA)さんの言うとおりシート2から氏名を取り出してD列の誕生日欄に自動で表示させたいのです。VLOOKUP関数でやると一人しか表示できません。コメント機能?
(taka)


 質問ばかりで済みません。

 日付の検索は、ちょっと工夫が必要なので、
 シート1のA列とシート2のA列について、
 セルに入力されている値と、表示形式を教えて下さい。

 あとシート名は、sheet1 , sheet2 で良いですか?
 D列に表示する誕生日の人名は、カンマ区切り?、改行?など
 表示方法はどうしますか?

  (INA)


シート1のA4=1 表示形式 ユーザ定義 0”日”
     A5=A4+1
シート2のA列は表示形式日付です。できればシート1のD列には氏だけを表示させたいのですが。
(taka)


「文字の割付」見つかりました。教えていただいた方法を試しました。面白いですね。何かに使えそうですが、「数値や数式が入力されたセルを割付できません」と拒否されました。氏名欄からLEFT関数で氏だけをとりだして、カレンダに転記させたいのです。”&”くっつきマーク(何て呼ぶのか知りません)を使って何とかならないか考えています。
(taka)

 A1,A2 セルについてもお教え下さい。
 あと、「氏だけをとりだして、カレンダに転記」は、氏が何文字か分からないと出来ません。
 氏と名のあいだにスペースなど目印になるものが記入されていれば問題ありませんが・・。

 (INA) 

A1は標準で数値ユーザ定義 0”年”
A2は標準で数値ユーザ定義 0”月”です。氏名欄は六文字で三文字が氏にあてています。二文字の氏の場合ブランクが入ります。よろしくおねがいします。
(taka)

 1.ALT+F11キーで、VBEを起動
 2.挿入−標準モジュール
 3.標準モジュールのコードウィンドウに以下のコードをコピペ
 4.EXCELに戻って、ツール>マクロ>マクロ>から sample1 を実行

 Sub sample1()
 Dim ws1 As Worksheet
 Dim ws2 As Worksheet
 Dim i As Long
 Dim s As Long

    Set ws1 = Worksheets("sheet1")
    Set ws2 = Worksheets("sheet2")

    '誕生日欄をクリア
    ws1.Range("D4:D34").ClearContents

 With ws2
    'sheet2のA列をループ
    For i = 2 To .Range("A65536").End(xlUp).Row

        '月が一致するか比較
        If Month(.Cells(i, 1).Value) = ws1.Range("A2").Value Then

            'sheet1 A列の日付欄をループ
            For s = 4 To 34
                '日付が一致するか比較
                If ws1.Cells(s, 1).Text = Day(.Cells(i, 1).Value) & "日" Then
                    '誕生日欄が空欄か、既に入力されているか場合分け
                    If ws1.Cells(s, 4).Value = "" Then
                        ws1.Cells(s, 4).Value = _
                        ws1.Cells(s, 4).Value & RTrim(Left(.Cells(i, 2).Value, 3))
                    Else
                        ws1.Cells(s, 4).Value = _
                        ws1.Cells(s, 4).Value & "&" & RTrim(Left(.Cells(i, 2).Value, 3))
                    End If
                End If
            Next s

        End If

    Next i
 End With

 End Sub

   (INA)

INAさんありがとうございます。でも全くマクロ、VBAを知りません。一般機能でできないものでしょうか?できなければ、これを機会に、敷居の高そうなマクロ、VBAを勉強してみようかな(^_^;)
(taka)


 ただコピペすればよいので、試しに使ってみて下さい。

 私は、一般機能は詳しくないので、よく分からないです。

  (INA)

INAさんのとおりやってみました。すばらし!みごとにやりたいことができています。こうなるとちょと真剣にVBAを勉強する気になりました。でも何からどうしたらいいのか見当もつきませんががんばってみます。カレンダの日付を関数で自動取得させている時は、どこかを変えないといけないんでしょうね。今は分からないけど。でもありがとうございました。(taka)

 >こうなるとちょと真剣にVBAを勉強する気になりました。
 VBAを使えると、EXCELの凄さがわかってきますよ。 
 ちょっとしたアプリも簡単に作れるようになるので、楽しいですよ。

 >でも何からどうしたらいいのか見当もつきませんががんばってみます。
 私の勉強したサイトを、すこし紹介しておきます。
http://www.sanynet.ne.jp/~awa/excelvba/kouza.html
http://www.asahi-net.or.jp/~ef2o-inue/sub04.html
http://t_shun.at.infoseek.co.jp/My_Page/Excel-VBA/vba_menu.htm

 >カレンダの日付を関数で自動取得させている時は、
 >どこかを変えないといけないんでしょうね。
 表示されている文字と入力されている文字の違いなどで、コードを修正する必要があります。

  (INA) 


コメント返信:

[ 一覧(最新更新順) ]


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