[[20160527092942]] 『VBA入力フォームからの日付入力と書式設定による潤x(アルゼンチンのきつね) ページの最後に飛ぶ

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

 

『VBA入力フォームからの日付入力と書式設定による出力』(アルゼンチンのきつね)

エクセルの初心者です。 ご指導よろしくお願いいたします。
テーブルの入力フォームに生年月日で「H28.5.27」と入力すると、テーブルの2列目に「平成28年05月27日」と自動拡張で追加表示されるようにしたいのですが、どうしたものか判りません。 2列目の書式設定はユーザー定義で、「gggee”年”mm”月”dd””日”」としています。 また、入力フォームのVBAは以下のようなテキスト入力です。 Format関数を引用したりしましたが、なかなかうまくいきませんでした。
 
Private Sub 生年月日入力ボタン_Click()

   If 生年月日テキストボックス.Text = "" Then
      MsgBox "生年月日を入力してください。"
      Exit Sub
   End If

 With Worksheets("Sheet1")
      lastRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
      Cells(lastRow, 2).Value = 生年月日テキストボックス.Text
   End With

    生年月日テキストボックス.Text = ""

  End Sub

< 使用 Excel:Excel2016、使用 OS:Windows10 >


このマクロだとA列は増えませんが、そこは他で埋めているのですかね。

 Private Sub 生年月日入力ボタン_Click()
    Dim lastRow As Long
    Dim cw As String

    cw = Replace(生年月日テキストボックス.Text, ".", "/")
    If IsDate(cw) = False Then
        MsgBox "生年月日を入力してください。"
        Exit Sub
    End If

    With Worksheets("Sheet1")
        lastRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
        Cells(lastRow, 2).Value = CDate(cw)
    End With

    生年月日テキストボックス.Text = ""
 End Sub
(???) 2016/05/27(金) 10:28

本当にありがとうございました。 Replace関数でうまくいきました。 ご指摘のA列を増やす件は、言い方がまずかったです。列数は同じで、テーブルの行を増やしていくやり方です。 いつも、よく調べず勉強もしないで、安易に質問してしまい恐れ入ります。
(アルゼンチンのきつね) 2016/05/27(金) 11:01

コメント返信:

[ 一覧(最新更新順) ]


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