EXCEL(2003) VBA ユーザー定義 yyyy/mm/dd で mm は AutoFilter にかからない?
生年月日の表示を セルの書式設定で ユーザー定義 yyyy/mm/dd にしています。
例 1935/08/07 (標準にすると 13003 となります)
例えば 8月生まれを検索するため */08/*(注含む検索) で AutoFilter にかけても検索されません。
ちなみに 1935/08/07(注完全一致検索) や これを基にした 別の列で 昭和10年 8月 7日 の *8月*(注含む検索)
では検索できます。
yyyy/mm/dd で 1935*(先頭一致検索) や前記の */08/*(注含む検索) のコーディングが可能でしょうか?
宜しくお願いします。
No.3ベストアンサー
- 回答日時:
No.2です!
たびたびごめんなさい。
質問文をよく読まずに投稿してしまいました。
VBAでのオートフィルタですね!
前回の画像の配置でのコードになりますが・・・
↓のコードを操作したいSheet見出し上で右クリック → コードの表示 を選択し、コピー&ペーストしてマクロを実行してみたください。
Sub test()
Dim i As Long
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
With Cells(i, 4)
.Value = Cells(i, 2).Value
.NumberFormatLocal = "m"
End With
Next i
Range("A1:D1").Select
Selection.AutoFilter
Selection.AutoFilter field:=4, Criteria1:=Cells(1, 6)
End Sub
前回同様、F1セルにフィルタ条件の月の数値を入力してのマクロ実行になります。
特定の日付限定や同年度の月のでのオートフィルタならもう少し簡単だと思いますが、
複数年の中で、「月」でのフィルタだとこの程度しか思いつきませんでした。
VBAでもD列を作業用の列として使ってしまいました。
他に良い方法があれば読み流してくださいね。m(__)m
tom04 さん 有難うございました。
yyyy/mm/dd ではAutoFilter にかからず
これを基にした 別の列で 昭和10年 8月 7日 の *8月*(注含む検索)
では、かかったので不思議に思っていました。ご指摘のとおり他のソフトとから
csvで変換したデータです。ただ、何故か Mid関数が使えたのでこれを使って
文字列に変換し、無事目的を果たせました。
tom04 さんはじめ皆さん有難うございました。(Mid がきいてAutoFilter が
きかない疑問は残りましたが)
No.2
- 回答日時:
こんばんは!
外していたらごめんなさい。
たぶんですが・・・
元データの表示形式をユーザー定義で変えても、見た目だけの問題で
あくまでシリアル値が入っています。
という訳で「8月」のような検索条件ではフィルタはかけれないと思います。
(もし出来るのであれば当方の認識不足ですので、ごめんなさい。)
という訳で無理やりって感じの方法ですが、↓の画像のような感じではどうでしょうか?
別列に検索したい月(数値のみ)を入力するとそのデータを別列に表示される方法です。
作業用の列を1列設けています。
作業列D2セルに
=IF(A2="","",IF(MONTH(B2)=$F$1,ROW(),""))
という数式をいれ、フィルハンドルの(+)マークでダブルクリック、またはオートフィルで下へコピーします。
そして結果のF4セルに
=IF(COUNT($D:$D)<ROW(A1),"",INDEX(A:A,SMALL($D:$D,ROW(A1))))
という数式をいれ、H4セルまでオートフィルでコピーします。
最後にF4~H4セルを範囲指定し、H4セルのフィルハンドルで下へコピーすると
画像のような感じになります。
尚、生年月日の列はシリアル値で表示されますので、
ユーザー定義から表示形式を変更する必要があります。
以上、この程度ですが
参考になれば幸いです。
他に良い方法があれば読み流してくださいね。m(__)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAで日付入力しているのですが 4 2023/03/02 11:25
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/01/23 17:13
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 09:24
- Access(アクセス) Accessのデータ型の日付/時刻型について 1 2023/04/02 17:03
- Access(アクセス) エクセルのVBAについて教えてください。 4 2023/01/21 10:21
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 11:02
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/05/23 16:28
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Excel(エクセル) 【vba】日付の形式が勝手に変わってしまう。 1 2022/09/29 10:54
- Excel(エクセル) Excel 数行を1組とする300組ほどあるデータの項目を揃えたいです。 3 2023/01/26 19:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows XP SP3のインストール...
-
絶対にいけるWindowsXPsp3の無...
-
シムズ4(PS4版) マイライブラリ...
-
WindowsXPを最近のパソコンに...
-
メモリ、SSD、HDDの違いを教え...
-
条件付き書式の結果につて
-
ソフトのインストールトラブル
-
windows xp proが起動しなくな...
-
Windows アカウント名 とは?
-
【至急です!】 久しぶりにPCを...
-
アウトルックを「タスクバー」...
-
windows10 フォルダを上書きす...
-
webpファイルとは?
-
ウインドウズ11の電源のメニ...
-
win 10 のログイン時に不要なユ...
-
「96px=1inch(2.54cm)」という...
-
プロダクトキー
-
パソコン起動時に2つのユーザー...
-
DVDとかで、ブルーレイと普通の...
-
windows 終了時にプログラムを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
WindowsXPを最近のパソコンに...
-
絶対にいけるWindowsXPsp3の無...
-
Windows XP SP3のインストール...
-
シムズ4(PS4版) マイライブラリ...
-
windows 終了時にプログラムを...
-
アウトルックを「タスクバー」...
-
WindowsXPのプロダクトキーを紛...
-
Windows xpにWindows10を無理や...
-
パソコンでCDを見たい、見る...
-
メモリ、SSD、HDDの違いを教え...
-
アカウント名とユーザー名との...
-
windows10 フォルダを上書きす...
-
windows xp proが起動しなくな...
-
やっぱり現代のPCにWindowsXPを...
-
電源ボタンでスリープするよう...
-
プロダクトキー
-
win 10 のログイン時に不要なユ...
-
Windows vistaのパスワードが分...
-
ラズパイでwindows XPは動くのか
-
Windows アカウント名 とは?
おすすめ情報