• ベストアンサー

別シートからの氏名の日付を入力

real beatin(@realbeatin)の回答

回答No.2

マクロを書きました。 どこでもいいので、元の表の内側のセルを選択してある状態 から実行すると、新しいシートに作表します。 条件の説明がなく、添付画像だけが頼りで書いていますから、 元の表やその周辺のレイアウトが画像と違っている場合は、 手当てを加えて使うことになります。 一旦は、添付画像の元となった表で験してみてください。 Excelのバージョンは、2000-2003あたりのようですが、 Excelに関してはバージョン互換を図った内容にしました。 OSに関してはWindows限定(Macでは動かないと思います)です。 この手の回答は、使用環境に合わせて内容を工夫することにも 神経を使います。(万能なものは意外に無いものなので。) 以後、OSやOfficeのバージョン等必要な情報として、 ご使用の環境を開示して質問するようにして下さいませ。 その方が回答し易くなる分、回答を受ける機会も増え、 問題解決の可能性も高まることになろうかと思われますので。 ' ' // 元の表 の内にあるセルを選択してから実行 Sub Re9377246Wa() Dim oDict As Object, rSrc As Range, c As Range Dim vP, sTmp As String, cnP As Long, i As Long   Set oDict = CreateObject("Scripting.Dictionary")   Set rSrc = Selection.CurrentRegion _     .Offset(, 1).SpecialCells(xlCellTypeConstants, xlNumbers)   For Each c In rSrc     For i = 3 To 7       sTmp = c(i, 1)       If sTmp <> "" Then oDict(sTmp) = oDict(sTmp) & vbTab & c.Text     Next i   Next   cnP = oDict.Count   With Worksheets.Add(After:=ActiveSheet).Cells(3, 2)     For i = 0 To cnP - 1       .Cells(i + 1, 1) = oDict.Keys(i) & oDict.Items(i)     Next i     .Resize(cnP).TextToColumns _       Destination:=.Cells, DataType:=xlDelimited, Tab:=True, _       Semicolon:=False, Comma:=False, Space:=False, Other:=False     .Cells(0).Resize(, 2) = Array("氏名", "日付")     With .CurrentRegion       .Borders.LineStyle = xlContinuous       .Columns.AutoFit       .Cells(2).Resize(, .Columns.Count - 1).Merge       .HorizontalAlignment = xlCenter     End With   End With End Sub ' ' //

kuma0220
質問者

お礼

有難うございます。勉強になりました。

関連するQ&A

  • テキスト氏名、日付とExcel表の連動

    ユーザーフォームのテキスト氏名、日付1、日付2を入力したらExcel表のマッチした氏名行の日付を○印で入力するようなVBAのコードがありますでしょうか。どなたかご教授のほどよろしくお願いします。

  • シート1の氏名日付がした記号をシート2に反映

    シート1のマークを入力コマンドボタンでシート2に氏名、日付マッチしたセルに画像のように入力したいのですがコードがお解りになる方どうかよろしくお願いします。

  • 別シートへの飛ばし方

    毎月、売上内容をエクセルで表に入力しています。 元表にはバラバラに日付を入力していますが、別のシートに月毎にまとめたいんですが、 元表に入力すれば、自動に月毎のシートに内容が反映される関数、マクロを教えて下さい。

  • Excelで氏名を入れ替えながら印刷をしたい。

    仕事で使っている表があるのですが、毎回印刷に手間取るので知恵をお貸し下さい。 Sheet1に名簿(入力表)があり、Sheet2が請求書になっています。 請求書は1人分ずつ出すようにしておりSheet2の氏名欄を書き換えればその人の請求書が完成するようになっていますが、 名前を何度も入れ替えながら印刷するとかなりの時間かかってしまいます。 名簿から請求書の氏名欄に氏名を順番にコピーして印刷をしていき、 氏名欄が空白だった場合には印刷を止めるような方法は無いものでしょうか? 環境はWindowsXP(SP2) Excel2000です。 よろしくお願いします。

  • 別シートを参照しNoを記入で氏名を返す

    大変お世話になります。 以下の様な表が別シートで作成してあります。   No 組    氏名   1 赤    太郎   2 ピンク  花子 そこで別のシートにNo2をインプットする事により”花子”という文字を自動入力させたい。 必要理由は表が大きく都度氏名を記入するのが面倒なのでNoで記入させたいのです。 宜しくお願いします。(EXCELの関数が良く解りませんので宜しくお願いします。)

  • 入力されたセルのみを別シートにリンク

    EXCEL2Kです。入門者ですのでご指導下さい。あるシートに日付け毎に入力表(一部リスト選択)があります。毎日入力はありませんので、入力されたセルのみ(空欄は除外)別シートにリンクさせたいのですが、可能でしょうか?添付図のイメージです。宜しくお願いします。

  • エクセルの日付

    シート1に表を作り日付の欄に入力すると、シート2の日付の欄にも自動的に同じ日付が入力されるようにするにはどうしたらよいのでしょうか?教えてください。よろしくお願いします。

  • Excel:日付で選択するシートを選ぶ方法

    今仕事で作りながら質問しています。 日報みたいなものを作っており、 1、2、3…31という感じで、31個のシートに名前をつけ、 別シートから日付によってそのシートの内容を引っ張るような表を作りたいのですが、 シートの選択をどのようにすればいいのか迷っています。 ='1'!A1 の'1'の部分が日付により'2'になったり'3'になったり することはできないのでしょうか? できれば、関数で処理したいのですが、 VBAでも構いません。 すみませんが、よろしくお願い致します。

  • エクセルで参照する別シート名をセルに入力したい

    エクセルで参照する別シート名をセルに入力したいです。 (1) sheet2とsheet3にそれぞれA1:B10の表があります。    A列には氏名がB列には数値が入力してあります。    (同じ表で月度が違います。) (2) vlookup関数を使ってsheet1のA列に氏名を入力して対応する数値を    B列に求めたいです。 (3) この時、sheet1のC1に「sheet2」「sheet3」と入力することで    参照するシートを変えたいのですが、方法が解りません。 そもそも可能かどうかも解らず、悩んでいます。 ご教授お願いいたします。   

  • 日付を入れたら該当するセルに文字を入力する方法

    一度調べたのですが、思う通りのものが見つからなかったので 質問させてください。 判りにくいかも知れないのですが、           1月        2月   ・・・・・ 日付A|日付B|1234567・・・・・・29 30| 31 1 2・・・・・・28| という表があります。 その日付の欄に値を入力したら、自動で該当する月日の欄に 『1』と入力する方法は無いでしょうか? 例えば、             1月        2月   ・・・・・ 日付A|日付B|1234567・・・・・・29 30 31 | 1 2・・・・・・28|  1/3  1/30      1111111111 1 1 という感じです。 よろしくお願いします。