![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
業務短縮化のために、VBAを使って社内のスケジュール表を作成しています。
内容としてはA3からA33には日付が入力されていて、B2からK2まで各メンバーの名前か表示されています。C3からK33まで各メンバーの予定が手入力されています。
やりたいことは
ユーザーフォームを使用して
名前 日時 場所 内容が入力してもらい、登録ボタンを押すと各メンバーの予定表に自動入力されるものです。
そして名前はタブで選択できるようにしたいのです。
検索の仕方が悪いのか知識不足もありますが、あまり捗りません…
条件がおおいですが、どうか解決して頂けると嬉しいです。
何卒宜しくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
Private Const SCHEDULE_WORKSHEET_NAME As String = "Schedule"
Public Enum SCHEDULE_WORKSHEET_MATRIX
START_ROW = 2
START_COL = 2
End Enum
Public Sub CommandButton1_Click()
Dim tabName As String
tabName = TabStrip1.SelectedItem.Caption
Dim scheduleWorksheet As Worksheet
Set scheduleWorksheet = ThisWorkbook.Worksheets(SCHEDULE_WORKSHEET_NAME)
With scheduleWorksheet
Dim nameLastCol As Long
nameLastCol = .Cells(SCHEDULE_WORKSHEET_MATRIX.START_ROW, Columns.Count).End(xlToLeft).Column
Dim nameCol As Long
nameCol = WorksheetFunction.Match(tabName, Range(.Cells(SCHEDULE_WORKSHEET_MATRIX.START_ROW, 1), .Cells(SCHEDULE_WORKSHEET_MATRIX.START_ROW, nameLastCol)), 0)
Dim dayLastRow As Long
dayLastRow = .Cells(Rows.Count, 1).End(xlUp).Row
Dim dayRow As Long
dayRow = 3
Do Until DateValue(.Cells(dayRow, 1)) = DateValue(TextBox1.Value)
dayRow = dayRow + 1
Loop
.Cells(dayRow, nameCol) = TextBox2.Text & vbCrLf & TextBox3.Text
End With
End Sub
Public Sub UserForm_Initialize()
With ThisWorkbook.Worksheets(SCHEDULE_WORKSHEET_NAME)
Dim nameLastCol As Long
nameLastCol = .Cells(SCHEDULE_WORKSHEET_MATRIX.START_ROW, Columns.Count).End(xlToLeft).Column
Dim nameArray As Variant
nameArray = WorksheetFunction.Transpose(Range(.Cells(SCHEDULE_WORKSHEET_MATRIX.START_ROW, SCHEDULE_WORKSHEET_MATRIX.START_COL), .Cells(SCHEDULE_WORKSHEET_MATRIX.START_ROW, nameLastCol)))
Dim loopCount As Long
For loopCount = LBound(nameArray) To UBound(nameArray)
TabStrip1.Tabs.Item(loopCount - 1).Caption = nameArray(loopCount, 1)
Next loopCount
End With
End Sub
名前はフォームから取得しているので消しました。
![「VBAでスケジュール表を作成しています」の回答画像2](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/7/542268871_59b0f3c56c43c/M.jpg)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Accessで予定表を作成しようとしてます。 テーブル フィールド名 連番 オートナンバー型 年月日 2 2023/07/23 11:40
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Visual Basic(VBA) Excel VBA 同じ名前のフォルダがあれば作成したブックを格納するマクロをつくりたい 2 2023/01/16 16:19
- Excel(エクセル) アンケート集計用VBAについて教えて下さい。 約100人にアンケート内容が入ったExcelファイルを 1 2022/07/27 13:12
- Excel(エクセル) Excel VBAについてです。 少しだけ知識はあるのですが、 うまくいかなかったので 質問させてい 3 2022/09/13 18:40
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- その他(プログラミング・Web制作) GASでガントチャートを作りたいです 1 2022/09/05 17:26
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
NOFXに詳しい人教えて下さ...
-
映画「あぶない刑事」に出演し...
-
ニュースステーションに登場し...
-
少女時代のメンバーの名前
-
デカレンジャー 名前 お茶 推理...
-
またまた、TWICEのメンバーの名...
-
「スパイ大作戦(Mission impos...
-
この娘の名前を教えてください。
-
『デスノート』のミサミサは可...
-
ハイパーリンクされたセルをVlo...
-
この方の名前を知りたいです
-
このファミマのCMの子は何て名...
-
名前が「は行」の人のイニシャ...
-
銅管の加工方法
-
誰かこのAV女優の名前を知って...
-
グラビアアイドル 現役女子高生...
-
グラビア好きの彼氏が理解でき...
-
サイト名
-
今だに、子供の名前に「子」を...
-
EXILE PV 道の出演女性
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
映画「あぶない刑事」に出演し...
-
数学の問題で、ABCDEFGHの8人が...
-
セーラー服を脱がさないで ジャ...
-
最近の若者はソヌ・ヒャンヒを...
-
Go!Go!7188の「7188」
-
この娘の名前を教えてください。
-
【優しいARMYの方教えて!】 BT...
-
パンチパーマ軍団について
-
いまいちセブチのメンバーの顔...
-
写真に写っているIZ*ONEのメン...
-
コンエアー
-
デカレンジャー 名前 お茶 推理...
-
ニュースステーションに登場し...
-
Apinkのメンバーの名前って英語...
-
N響メンバーの名前を知りたいの...
-
シェラって前アサヤン出てませ...
-
MSNメッセンジャーで他のメ...
-
幻の天才少年日本人バイオリニスト
-
男性8人くらいのアカペラグルー...
-
平成11年(1999年)九月大歌舞...
おすすめ情報