下記の設定で入力して転記はできているのですが
別sheetで日付検索かけてもヒットしません
日付転記しているsheet1のC列その他別日をN列・Q列・T列・Z列に記載しています
検索条件は合っています、各日付列をデータ→区切り位置→区切り位置指定ウィザードで
日付に変更すると検索にヒットしました
コードの設定が間違っているのでしょうか?
正しいコード教えていただけませんか?
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
With Me.TextBox1
If .Value = "" Then
.Value = Format(Date, "yyyy/mm/dd")
End If
If IsNumeric(.Value) Then
If IsDate(Format(.Value, "\2\000\/00\/00")) Then
.Value = Format(.Value, "\2\000\/00\/00")
End If
End If
End With
End Sub
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
こんにちは
>入力して転記はできているのですが
>別sheetで日付検索かけてもヒットしません
肝心の転記の部分が記されていないので、以下は想像での回答になってしまいますが・・
シート上での検索等は、シリアル値(=エクセルの日付型の値)で行っているものと想像しました。
ご説明の現象から判断するに、シートのセルには文字列として日付が転記されているように思われます。
(見た目は日付形式でも、文字列と日付は異なります)
確認するには、対象セルの表示形式を「標準」にしてみてください。
エクセルの日付形式(=シリアル値)であれば「44987」等の数値が表示されるはずです。
(ご説明のシートでは、日付の文字列のままなのではないでしょうか?)
TextBox等のValue値は基本的に文字列です。
IsDate関数は、日付として「認識可能」であるかを判定するものなので、対象が文字列であっても日付と認識できれば真を返します。
>コードの設定が間違っているのでしょうか?
転記のコードが不明なので、間違いかどうかはわかりませんが、結果から想像するところ文字列で転記しているのではないかと想像します。
確実に行うなら、転記の際に文字列をシリアル値に変換し、セルの表示書式を「日付」になるようにして値をセットすれば良いものと想像します。
文字列をシリアル値に変換するには、DateValue 関数あるいは DateSerial 関数を利用することで可能です。
https://learn.microsoft.com/ja-jp/office/vba/lan …
https://learn.microsoft.com/ja-jp/office/vba/lan …
No.2
- 回答日時:
このコードは、TextBox1の値が日付形式になっているかどうかを確認し、日付形式にフォーマットするコードです。
検索条件に関係する部分は含まれていませんので、別の問題がある可能性があります。日付列を区切り位置で日付に変更した場合、その列が日付形式であることが保証されます。しかし、元の列が日付形式でない場合、検索結果が表示されない場合があります。したがって、元の列が日付形式であることを確認する必要があります。
以下の手順で日付形式であることを確認し、検索条件に合わせてコードを修正してください。
検索条件に合わせて日付列を選択する
「ホーム」タブから「数値」→「日付」をクリックし、日付形式に変更する
VBAコードを修正し、以下のようになるようにします。
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
With Me.TextBox1
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何 3 2022/09/05 15:11
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) Excel VBAの解読について質問があります。 概要は、マクロでチェックボックスにチェックすると日 1 2023/02/10 07:50
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ユーザーフォームのラベルに日...
-
3人のじゃんけんのプログラム
-
Eclipseの対応する括弧の強調表...
-
VBA 日付、未来の日付はエラー...
-
コンボボックスに日付を表示する
-
VisualBasic6.0のFormat関数で...
-
Googleフォームで選択肢に応じ...
-
DataGridViewでyyyy/MM/dd
-
VBAの質問になります 行の非表示
-
今日より前の書き方 マクロ
-
C++で日付判定を行いたい!!
-
指定した日付が、その月の第何...
-
【VBA】土日をスキップして日付...
-
C#で日付をdateTimePickerに読...
-
【Excel VBA】条件に合った行の...
-
ExcelVBAでSQLサーバの日付時刻...
-
VBAで日付入力しているのですが
-
VBAで当月の1日を表示するには...
-
コンボボックスの値を日付とし...
-
DataGridViewの和暦表示について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAの質問になります 行の非表示
-
ユーザーフォームのラベルに日...
-
Googleフォームで選択肢に応じ...
-
エクセルのVBAで日付を検索し転...
-
VisualBasic6.0のFormat関数で...
-
システム日付とは?
-
Eclipseの対応する括弧の強調表...
-
【VBA】土日をスキップして日付...
-
DataGridViewでyyyy/MM/dd
-
【Excel VBA】条件に合った行の...
-
VBAで当月の1日を表示するには...
-
VBA 日付、未来の日付はエラー...
-
JSPからYYYYMMDDで日付入力する
-
VB6.0 のformat関数について
-
指定した日付が、その月の第何...
-
VBで時間計算
-
VBAのオーバーフローについて質...
-
今日より前の書き方 マクロ
-
テキストボックスに今日の日付...
-
3人のじゃんけんのプログラム
おすすめ情報