また、質問させていただきます。
今、UserFormが開くと【TextBox1】【TextBox2】【TextBox3】に現在の日付が入るようになっています。
【TextBox1】(年 08)
【TextBox2】(月 03)
【TextBox3】(日 03)
UserFormには、【CommandButton1】(登録)と【CommandButton2】(呼び出し)があります。
【CommandButton1】(登録)をクリックするとExcelに '08/03/03と表示されます。
ある日、データを間違えて入力してしまい【CommandButton2】(呼び出し)をクリックし修正する時にExcelに登録している日を【TextBox1】(年 08)【TextBox2】(月 03)【TextBox3】(日 03)と自動的に入力することは出来るでしょうか?
宜しくお願いいたします。
No.3ベストアンサー
- 回答日時:
こんばんは。
>【TextBox1】 yy
>【TextBox2】 mm
>【TextBox3】 dd
>
>の形で戻すことは可能ですか?
もう少し、ご質問に対して、気をつけていれば良かったでした。すみませんね。そのご質問どおりに考えると、
If IsDate(Cells(i, 2).Text) Then
myDate = Cells(i, 2).Value2
TextBox1.Value = Format$(myDate, "yy")
TextBox2.Value = Format$(myDate, "mm")
TextBox3.Value = Format$(myDate, "dd")
End If
こんな風にするのが、一番忠実のような気がしました。たぶん、ご存知ですよね。
なお、Format 関数の、$ が、付いているのは、テキスト出力しているということです。そのままにすると、Variant 出力になりますが、あまり、今の時代は、付いていても、付いていなくても、大きな違いはないと思います。
有難うございました。
解決しました。
しかし、よく直ぐに分かりますね。とても助かりました。
自分なんか、参考書を広げて悩んだあげくここで聞く始末なので・・・
もう少し、色々勉強します。
No.2
- 回答日時:
こんにちは。
>【TextBox1~3】
こちらに戻すということですね。
>TextBox】に呼び出したいNo.を入力して【CommandButton2】(呼び出し)をクリックするとそのNo.の行のデータが【TextBox】・【ComboBox】・【ListBox】にデータが反映される(戻る?)ようにしているのですが、
私は、ここの仕組みがどうされているのか分からなかったのですが、まあ、それはそのままにしておきます。
【TextBox】に呼び出したいNo.
のTextbox を TextBox4 とします。
Private Sub CommandButton1_Click()
に以下のように加えたらいかがですか?
Cells(i, 2).Value2 , Value2 でなくても、Value だけでもよいです。
i = TextBox4.Value + 9 は、行の呼び出し
Dim myDate As Date
Dim i As Long
If Val(TextBox4.Value) > 0 Then
i = TextBox4.Value + 9
If IsDate(Cells(i, 2).Text) Then
myDate = Cells(i, 2).Value2
TextBox1.Value = Year(myDate)
TextBox2.Value = Month(myDate)
TextBox3.Value = Day(myDate)
End If
End If
なお、お礼欄を使えば、こちらに直接連絡が入りますが、補足欄ですと、回答が遅くなります。予めご了解ください。
有難うございます。
TextBoxに反映(戻す)出来ました。
ただ、もう1つ説明不足だったのですが、上記の場合TextBoxに戻した場合
【TextBox1】 yyyy
【TextBox2】 m
【TextBox3】 d
になりますが、これを
【TextBox1】 yy
【TextBox2】 mm
【TextBox3】 dd
の形で戻すことは可能ですか?
それと、丁寧にお礼欄の使い方(?)まで教えて下さいまして有難うございました!
No.1
- 回答日時:
こんばんは。
同じテキストボックスを使いながら、前回の話とは違うのですね。
>自動的に入力することは出来るでしょうか?
質問の中の文章では、不十分です。
TextBox1 ~3 にセルから入れるのは、出力の反対のことをすればよいはずです。
>ある日、データを間違えて入力
ある日とはいつですか?任意のセルのことですか?
修正するセルをどのように決定するのでしょうか?
一体、どこのセルなのでしょうか?
起動時に登録で入れた部分でしょうか?
直すのは、UserForm をモードレスにして、直接、手書きのほうが早かったりするのではないでしょうか?
この回答への補足
早速の回答有難うございました。
説明不足で申し訳ありませんでした。
UserFormには、日付の【TextBox1~3】以外にも、入力が出来る【TextBox】や【ComboBox】・【ListBox】があります。
これらを、入力して【CommandButton1】(登録)をクリックすることにより下記の様にExcelに反映させるようにしています。(登録する毎に最終行に自動的にNo.を入力して反映します。)
A B C D ・・・・
・
・
9 No. 日付 商品名 価格 ・・・・・
10 1 2008/03/03 ○○○ ○円
11 2 2008/03/03 ××× ×円
12 3 2008/03/03 △△△ △円
13 4 2008/03/03 ■■■ ■円
14 5 2008/03/03 ◎◎◎ ◎円
15 6 2008/03/03 □□□ □円
16 7 2008/03/03 ▼▼▼ ▼円
・
・
・
上記の様なデータを作成していきましたが、「入力間違い」や「修正」が出てきた場合、UserFormにある【TextBox】に呼び出したいNo.を入力して【CommandButton2】(呼び出し)をクリックするとそのNo.の行のデータが【TextBox】・【ComboBox】・【ListBox】にデータが反映される(戻る?)ようにしているのですが、日付だけはどのようにしたらいいか分かりません。
日付は、Excelの B列に yyyy/mm/ddの形式で入っています。
UserFormに反映させる方法があれば教えて頂きたいのですが・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【vba】日付の形式が勝手に変わってしまう。 1 2022/09/29 10:54
- Excel(エクセル) Excelのtextboxへの入力で小数点以下に0が続く場合でも正しく表示したい 3 2022/04/11 13:53
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/22 08:53
- Visual Basic(VBA) Excel VBAのリストボックスの値を他のフォームに反映させる方法を教えてください。 2 2023/07/14 14:06
- Visual Basic(VBA) VBA 重複チェック後に値をワークシートに転記する方法を教えてください。 1 2023/03/19 12:43
- Visual Basic(VBA) 複数条件のオートフィルタ(VBA) 2 2022/12/09 15:40
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/21 13:29
- その他(プログラミング・Web制作) ボールの動きがスムーズに動いてかつ目盛り線描画を維持するためには 4 2023/05/31 10:01
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/17 11:59
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【エクセル】関数で「A1が0でな...
-
エクセルでセルにポインタする...
-
エクセル逆三角マークで選択項...
-
エクセルでセルのコメントが消...
-
【Excel】ドロップダウンリスト...
-
シートを保護しても入力規則を...
-
エクセルの入力規則で作ったリ...
-
入力規則をブック全体にかける...
-
エクセル 入力規則のリストボ...
-
カンマで区切った数値をCOU...
-
Excel 自動的に半角英数になり...
-
ドロップダウンリスト(INDIREC...
-
Excelでセルに名前を定義したい...
-
Excelで同じセルに入力し エン...
-
EXCEL:入力規則の「リスト」は...
-
エクセルで電話番号から市内局...
-
エクセルVBA ブックを閉じる前...
-
EXCELの入力規則を相対指定でコ...
-
エクセルVBA、間違っているコー...
-
エクセルのセルの手入力を禁止。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【エクセル】関数で「A1が0でな...
-
エクセル逆三角マークで選択項...
-
エクセルでセルにポインタする...
-
シートを保護しても入力規則を...
-
エクセルVBA ブックを閉じる前...
-
【Excel】ドロップダウンリスト...
-
エクセルでセルのコメントが消...
-
エクセル 入力規則のリストボ...
-
Excel 集計表
-
入力規則の入力時メッセージの...
-
エクセルの入力規則で作ったリ...
-
エクセルVBA ユーザーフォーム...
-
ドロップダウンリスト(INDIREC...
-
Excel 自動的に半角英数になり...
-
カンマで区切った数値をCOU...
-
エクセルで、入力制限(プルダ...
-
Excelで同じセルに入力し エン...
-
Excelでセルに名前を定義したい...
-
エクセルで。
-
エクセルのセルの手入力を禁止。
おすすめ情報