Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


8268 / 13644 ツリー ←次へ | 前へ→

【33383】データの抽出 福神漬 06/1/10(火) 12:49 質問[未読]
【33385】Re:データの抽出 Jaka 06/1/10(火) 13:39 発言[未読]
【33387】Re:データの抽出 福神漬 06/1/10(火) 14:08 発言[未読]
【33386】Re:データの抽出 Statis 06/1/10(火) 13:45 発言[未読]
【33389】Re:データの抽出 福神漬 06/1/10(火) 14:13 発言[未読]
【33392】Re:データの抽出 Statis 06/1/10(火) 15:00 回答[未読]
【34111】Re:データの抽出 福神漬 06/1/26(木) 16:14 お礼[未読]
【34114】Re:データの抽出 福神漬 06/1/26(木) 16:43 質問[未読]
【34115】Re:データの抽出 Statis 06/1/26(木) 16:46 発言[未読]
【34134】Re:データの抽出 福神漬 06/1/27(金) 10:13 発言[未読]
【34136】Re:データの抽出 多分 06/1/27(金) 10:25 発言[未読]
【34140】Re:データの抽出 Statis 06/1/27(金) 10:47 発言[未読]
【34145】Re:データの抽出 福神漬 06/1/27(金) 12:18 質問[未読]
【34149】Re:データの抽出 Statis 06/1/27(金) 13:24 発言[未読]
【34162】Re:データの抽出 福神漬 06/1/27(金) 15:20 発言[未読]
【34164】Re:データの抽出 Statis 06/1/27(金) 15:33 発言[未読]
【34165】Re:データの抽出 福神漬 06/1/27(金) 15:58 発言[未読]
【34167】Re:データの抽出 Statis 06/1/27(金) 16:11 発言[未読]
【34211】Re:データの抽出 Hiro 06/1/28(土) 21:18 質問[未読]
【34265】Re:データの抽出 Statis 06/1/30(月) 9:56 回答[未読]
【34279】Re:データの抽出 福神漬 06/1/30(月) 16:04 発言[未読]
【34282】Re:データの抽出 Statis 06/1/30(月) 16:31 回答[未読]
【34284】Re:データの抽出 福神漬 06/1/30(月) 16:49 発言[未読]
【34286】Re:データの抽出 Statis 06/1/30(月) 17:12 回答[未読]
【34293】Re:データの抽出 Hiro 06/1/30(月) 21:12 質問[未読]
【34310】Re:データの抽出 Statis 06/1/31(火) 9:08 発言[未読]
【34333】Re:データの抽出 Hiro 06/1/31(火) 20:42 発言[未読]
【34313】Re:データの抽出 福神漬 06/1/31(火) 9:53 お礼[未読]
【34314】Re:データの抽出 Statis 06/1/31(火) 10:02 回答[未読]
【34315】Re:データの抽出 福神漬 06/1/31(火) 10:49 お礼[未読]

【33383】データの抽出
質問  福神漬  - 06/1/10(火) 12:49 -

引用なし
パスワード
   初めてお世話になります。

有効期限の管理表から2ヵ月後に有効期限が切れるお得意様のデータを抽出して
別シートへコピーをすると言う作業をしています。
今まではマクロの記録でオートフィルタを使い抽出したい日付を選んでコピーし、
別シートに貼り付けていました。
しかし、他の人も作業ができるように簡単にしたいとの意向があり、マクロを使うことにチャレンジしてみました。
ユーザーボックスを使って○○/○○〜○○/○○と入力し、コマンドボタンを押すと、
別シートに元表の内容がコピーされる…。
と言った内容のマクロを考えたには考えたのですが、初心者の為、ユーザーフォームの
設定や、コマンドボタンの設定などがわかりません。
どなたかご支援下さい。
よろしくお願い致します。
[元表]
No.   顧客コード  注文番号  開始日  終了日  ・・・
1   いろはSOFT  I00123456 05/1/15  06/1/31

【33385】Re:データの抽出
発言  Jaka  - 06/1/10(火) 13:39 -

引用なし
パスワード
   http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=102;id=FAQ

【33386】Re:データの抽出
発言  Statis  - 06/1/10(火) 13:45 -

引用なし
パスワード
   こんにちは

>ユーザーボックスを使って
UserFormの事かな?

>○○/○○〜○○/○○と入力し、コマンドボタンを押すと、
上記期間を抽出と言う事かな?
どこの列を対象となるのかな?

【33387】Re:データの抽出
発言  福神漬  - 06/1/10(火) 14:08 -

引用なし
パスワード
   ▼Jaka さん:
>http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=102;id=FAQ
jakaさん、そっそくのご回答ありがとうございました。
上記の目安箱も参考にやってみました。
でも、頂いた回答は、日付が固定になっていて、毎月マクロを変更する必要がでてきてしまいます。
マクロを変更するのではなく、ユーザーフォームのテキストボックスに
抽出範囲を入力して、コマンドボタンを押せば別表に転記と言う感じの処理を
したいと思ったのですが…。
よろしくお願い致します。

【33389】Re:データの抽出
発言  福神漬  - 06/1/10(火) 14:13 -

引用なし
パスワード
   ▼Statis さん:
>こんにちは
>
>>ユーザーボックスを使って
>UserFormの事かな?
>>○○/○○〜○○/○○と入力し、コマンドボタンを押すと、
>上記期間を抽出と言う事かな?
>どこの列を対象となるのかな?

statisさん、ご返信ありがとうございます。

>UserFormの事かな?
すみません、間違えました\(;゜∇゜)/
>上記期間を抽出と言う事かな?
その通りです。
>どこの列を対象となるのかな?
列はF列になります。
今はデータ量がそれほどではないし、記録したマクロで充分対応できるのですが、
近い将来、データ量も増えるし一環管理をしたいので、お知恵を拝借させてください。

【33392】Re:データの抽出
回答  Statis  - 06/1/10(火) 15:00 -

引用なし
パスワード
   こんにちは
UserFormにTextBox1,TextBox2,CommandButton1を用意
データシートをSheet1とコピー先をSheet2としています

ではお試しを。

Private Sub CommandButton1_Click()
Dim Da As Date, Da1 As Date
With Worksheets("Sheet1")
  If IsDate(Me.TextBox1.Value) And IsDate(Me.TextBox2.Value) Then
   Da = Format(Me.TextBox1.Value, .Range("F2").NumberFormat)
   Da1 = Format(Me.TextBox2.Value, .Range("F2").NumberFormat)
   Worksheets("Sheet2").Cells.Clear
   If .AutoFilterMode = False Then
     .Rows(1).AutoFilter
   End If
   .Columns(6).AutoFilter Field:=6, Criteria1:=">=" & Da, Operator:=xlAnd, _
              Criteria2:="<=" & Da1
   If .Range("F65536").End(xlUp).Row > 1 Then
     .AutoFilter.Range.Copy Worksheets("Sheet2").Range("A1")
   Else
     MsgBox "抽出データがありません。", vbInformation
   End If
   .AutoFilterMode = False
  Else
   MsgBox "抽出日を確認", vbCritical
  End If
End With
End Sub

【34111】Re:データの抽出
お礼  福神漬  - 06/1/26(木) 16:14 -

引用なし
パスワード
   ▼Statis さん:
>こんにちは
>UserFormにTextBox1,TextBox2,CommandButton1を用意
>データシートをSheet1とコピー先をSheet2としています
>
>ではお試しを。
>
>Private Sub CommandButton1_Click()
>Dim Da As Date, Da1 As Date
>With Worksheets("Sheet1")
>  If IsDate(Me.TextBox1.Value) And IsDate(Me.TextBox2.Value) Then
>   Da = Format(Me.TextBox1.Value, .Range("F2").NumberFormat)
>   Da1 = Format(Me.TextBox2.Value, .Range("F2").NumberFormat)
>   Worksheets("Sheet2").Cells.Clear
>   If .AutoFilterMode = False Then
>     .Rows(1).AutoFilter
>   End If
>   .Columns(6).AutoFilter Field:=6, Criteria1:=">=" & Da, Operator:=xlAnd, _
>              Criteria2:="<=" & Da1
>   If .Range("F65536").End(xlUp).Row > 1 Then
>     .AutoFilter.Range.Copy Worksheets("Sheet2").Range("A1")
>   Else
>     MsgBox "抽出データがありません。", vbInformation
>   End If
>   .AutoFilterMode = False
>  Else
>   MsgBox "抽出日を確認", vbCritical
>  End If
>End With
>End Sub

Statis さん、お返事がだいぶ遅くなってしまってすみませんでした。
。・゜゜・(>_<;)・゜゜・。
頂いたマクロをこれから試してみたいと思います。
また、質問があったらよろしくお願い致します。

【34114】Re:データの抽出
質問  福神漬  - 06/1/26(木) 16:43 -

引用なし
パスワード
   早速、質問なのですが・・・
頂いたマクロを貼り付けて実行してみましたが、
“コンパイルエラー メソッドまたはデータメンバーが見つかりません”と
エラーがでて、
Private Sub CommandButton1_Click()の部分が黄色く反転しています。
それと、If IsDate(Me.TextBox1.Value) And
          ~~~~~~~~~
           ↑ここの部分が青く反転しています。
私がやった手順は、
1.デザインモードでエクセルにコマンドボタンを設定。
2.VBEを立ち上げ、マクロを貼り付け、シート名を変更。
3.実行したところエラーになってしまいました。

マクロの作成は初めてなので、初歩から教えていただけるとありがたいのですが。
よろしくお願い致します。

【34115】Re:データの抽出
発言  Statis  - 06/1/26(木) 16:46 -

引用なし
パスワード
   ▼福神漬 さん:
>早速、質問なのですが・・・
>頂いたマクロを貼り付けて実行してみましたが、
>“コンパイルエラー メソッドまたはデータメンバーが見つかりません”と
>エラーがでて、
>Private Sub CommandButton1_Click()の部分が黄色く反転しています。
>それと、If IsDate(Me.TextBox1.Value) And
>          ~~~~~~~~~
>           ↑ここの部分が青く反転しています。
>私がやった手順は、
>1.デザインモードでエクセルにコマンドボタンを設定。
>2.VBEを立ち上げ、マクロを貼り付け、シート名を変更。
>3.実行したところエラーになってしまいました。
>
>マクロの作成は初めてなので、初歩から教えていただけるとありがたいのですが。
>よろしくお願い致します。


UserFormに作っていますか?

【34134】Re:データの抽出
発言  福神漬  - 06/1/27(金) 10:13 -

引用なし
パスワード
   おはようございます。

>UserFormに作っていますか?
初めは標準モジュールにコードを貼り付けて、userfoamを作っていました(^▽^;)
ご返信をもらった後、
まず、userfoamを挿入して、そこにコードを入れました。
すると、[rangeクラスのautofilterメソッドが失敗しました]とメッセージが出てきて、
.Columns(6).AutoFilter Field:=6, Criteria1:=">=" & Da, Operator:=xlAnd, _
              Criteria2:="<=" & Da1
が黄色くなっています。
コードの意味が全くわからずにマクロを完成させるのは無理だと思うので、
簡単にで良いのですが、お時間が宜しければ、お手空きの時で構いませんので
コードの意味を教えていただけないでしょうか<m(__)m>

【34136】Re:データの抽出
発言  多分  - 06/1/27(金) 10:25 -

引用なし
パスワード
   ▼福神漬 さん:
>おはようございます。
>
>>UserFormに作っていますか?
>初めは標準モジュールにコードを貼り付けて、userfoamを作っていました(^▽^;)
>ご返信をもらった後、
>まず、userfoamを挿入して、そこにコードを入れました。
>すると、[rangeクラスのautofilterメソッドが失敗しました]とメッセージが出てきて、
>.Columns(6).AutoFilter Field:=6, Criteria1:=">=" & Da, Operator:=xlAnd, _
>              Criteria2:="<=" & Da1
>が黄色くなっています。

多分この下のコードでOKと思います。数字6を1 に変更するだけです。
 .Columns(6).AutoFilter Field:=1, Criteria1:=">=" & Da, Operator:=xlAnd,   _Criteria2:="<=" & Da1

【34140】Re:データの抽出
発言  Statis  - 06/1/27(金) 10:47 -

引用なし
パスワード
   こんにちは
もう一度確認します。

データについて
A列から順にデータがあり1行目は項目行で2行目からデータとなる
F列のデータをオートフィルタし抽出する。


コード説明
Private Sub CommandButton1_Click()
Dim Da As Date, Da1 As Date
With Worksheets("Sheet1") 'データシート
 'TextBoxの値が日付か如何かを確認
  If IsDate(Me.TextBox1.Value) And IsDate(Me.TextBox2.Value) Then
   'Format関数でtextBoxの値の書式をセルの書式に変更
   Da = Format(Me.TextBox1.Value, .Range("F2").NumberFormat)
   Da1 = Format(Me.TextBox2.Value, .Range("F2").NumberFormat)
   'コピー先のセルの値をクリア
   Worksheets("Sheet2").Cells.Clear
   'Sheet1にオートフィルタが設定しているか確認
   If .AutoFilterMode = False Then
     'ない場合設定
     .Rows(1).AutoFilter
   End If
   'F列の値をオートフィルタで変数DAからDA1までを抽出
   .Columns(6).AutoFilter Field:=6, Criteria1:=">=" & Da, Operator:=xlAnd, _
              Criteria2:="<=" & Da1
   'オートフィルタでデータが抽出されたかを確認
   If .Range("F65536").End(xlUp).Row > 1 Then
     '抽出されたデータをコピーしSheet2へ貼り付け
     .AutoFilter.Range.Copy Worksheets("Sheet2").Range("A1")
   Else
     '抽出されたデータがない場合MSGBOXを表示
     MsgBox "抽出データがありません。", vbInformation
   End If
   'オートフィルタを解除
   .AutoFilterMode = False
  Else
   'TextBoxの値が日付と判断出来なかった場合MSGBOXを表示
   MsgBox "抽出日を確認", vbCritical
  End If
End With
End Sub

【34145】Re:データの抽出
質問  福神漬  - 06/1/27(金) 12:18 -

引用なし
パスワード
   Statisさん、お世話になっております。

マクロ、ちゃんと動きました( p_q)
ちゃんと、抽出されました。
何度もお手数をおかけ致しました。

とりあえず、コピーした表でTESTをやってみようと思っていたのですが、
うっかり、元表にマクロを設定していました ... _| ̄|○
実は、元表には1行目に表題、2・3行目に特記事項、4・5行目に項目があり、
データは、6行目から始まっています。
その場合は、F2をF6に変えただけではダメなのでしょうか?

[多分]さんが仰っていた、AutoFilter. field:=6を1に変える事によって
何が違ってくるのでしょうか?

まだ、元表で実行したい事があるのですが、それについてもご教授頂けるでしょうか<m(__)m>

1.エクセル上にコマンドボタンを設定し、コマンドボタンを押下するとuserfoamが
出てきて、開始日・終了日を入力後、userfoam上のコマンドボタンを押下、
データが抽出される。

2.データ抽出後、×で閉じる。

3.元表には他にもいろんな情報があるのですが、抽出するデータは指定したデータだけを抽出する。

全く無知な上に、コードを教えてほしい等と無理を言いまして、
本当にすみません・・・。
よろしくお願い致します。

【34149】Re:データの抽出
発言  Statis  - 06/1/27(金) 13:24 -

引用なし
パスワード
   こんにちは

>多分]さんが仰っていた、AutoFilter. field:=6を1に変える事によって
>何が違ってくるのでしょうか?

F列からデータ始まる場合です。
ABCDE F   G
   項目  項目 →ここにオートフィルタを設定
   データ データ

>1.エクセル上にコマンドボタンを設定し、コマンドボタンを押下するとuserfoamが
>出てきて、開始日・終了日を入力後、userfoam上のコマンドボタンを押下、
>データが抽出される。

UserForm1.Show

>1.エクセル上にコマンドボタンを設定し、コマンドボタンを押下するとuserfoamが
>出てきて、開始日・終了日を入力後、userfoam上のコマンドボタンを押下、
>データが抽出される。

Private Sub CommandButton1_Click()
Dim Da As Date, Da1 As Date
With Worksheets("元表")
  If IsDate(Me.TextBox1.Value) And IsDate(Me.TextBox2.Value) Then
   Da = Format(Me.TextBox1.Value, .Range("F2").NumberFormat)
   Da1 = Format(Me.TextBox2.Value, .Range("F2").NumberFormat)
   If .AutoFilterMode = False Then
     .Rows(5).AutoFilter
   End If
   .Range("F5", .Range("F65536").End(xlUp)).AutoFilter Field:=6, _
       Criteria1:=">=" & Da, Operator:=xlAnd, Criteria2:="<=" & Da1
   If .Range("F65536").End(xlUp).Row = 5 Then
     MsgBox "抽出データがありません。", vbInformation
     .AutoFilterMode = False
   Else
    Unload UserForm1
   End If
  Else
   MsgBox "抽出日を確認", vbCritical
  End If
End With

End Sub

>2.データ抽出後、×で閉じる
抽出データが有った時だけ自動に閉じるようにしています。

>3.元表には他にもいろんな情報があるのですが、抽出するデータは指定したデータだけを抽出する。

具体的に書かないと判りません。

【34162】Re:データの抽出
発言  福神漬  - 06/1/27(金) 15:20 -

引用なし
パスワード
   お世話になります。
コマンドボタンへのコードの設定はできました。
質問なんですが、初めに頂いたコードと2番目にもらったコードは違いますが、
何が違うのでしょうか?
2番目のコードはどんな日付を入れても“抽出データはありません”になってしまいますが。
よろしくお願い致します。

【34164】Re:データの抽出
発言  Statis  - 06/1/27(金) 15:33 -

引用なし
パスワード
   ▼福神漬 さん:
こんにちは
>お世話になります。
>コマンドボタンへのコードの設定はできました。
>質問なんですが、初めに頂いたコードと2番目にもらったコードは違いますが、
>何が違うのでしょうか?
>2番目のコードはどんな日付を入れても“抽出データはありません”になってしまいますが。
>よろしくお願い致します。

オートフィルタの設定されている行が違う可能性があります?

「マクロの記録」で下記の通り行ってください。
1,該当の行にオートフィルタをセットする
2,該当の列でオートフィルタで抽出(実際のデータを抽出する)

上記の動作でコードをUpして頂けませんか。

【34165】Re:データの抽出
発言  福神漬  - 06/1/27(金) 15:58 -

引用なし
パスワード
   お世話になります。
マクロの記憶を行いました。

Sub Macro1()
'
' Macro1 Macro
' マクロ記録日 : 2006/1/27 ユーザー名 : kkk'

'
  Range("F1").Select
  ActiveWindow.SmallScroll Down:=102
  Range("F1:F121").Select
  Selection.AutoFilter
  Selection.AutoFilter Field:=1, Criteria1:="2005/09/30"
End Sub

以上です。
何か私の方で違った設定をしているのでしょうか・・・。

【34167】Re:データの抽出
発言  Statis  - 06/1/27(金) 16:11 -

引用なし
パスワード
   ▼福神漬 さん:
>お世話になります。
>マクロの記憶を行いました。
>
>Sub Macro1()
>'
>' Macro1 Macro
>' マクロ記録日 : 2006/1/27 ユーザー名 : kkk'
>
>'
>  Range("F1").Select
>  ActiveWindow.SmallScroll Down:=102
>  Range("F1:F121").Select
>  Selection.AutoFilter
>  Selection.AutoFilter Field:=1, Criteria1:="2005/09/30"
>End Sub
>
>以上です。
>何か私の方で違った設定をしているのでしょうか・・・。

あれれ?
>実は、元表には1行目に表題、2・3行目に特記事項、4・5行目に項目があり、
>データは、6行目から始まっています。

コードと内容がちがいますが?

【34211】Re:データの抽出
質問  Hiro  - 06/1/28(土) 21:18 -

引用なし
パスワード
   ▼Statis さん:

横からごめんなさい。
興味を持って見させていただいていたのですが…一寸分からなくって
教えてください。
現在下のような配列になっています。
Statisさんのコードを利用させていただいたのですが、エラーが出ます。
エラーの個所とそのメッセージをコードの中に書いています。
問題点は何なのでしょうか?ご指導の程お願いします。

     F
6    年月日
7    2005/3/1
8    2005/3/2
9    2005/3/3
10   2005/3/4
11   2005/4/5
12   2005/4/6
13   2005/4/7
14   2005/4/8
15   2005/7/10
16   2005/7/11
17   2005/7/12
18   2005/7/13
19   2005/12/11
20   2005/12/12
21   2005/12/13
22   2005/12/14
23   2005/12/15
24   2005/12/16

Private Sub CommandButton1_Click()
Dim Da As Date, Da1 As Date
With Worksheets("Sheet1")
  If IsDate(Me.TextBox1.Value) And IsDate(Me.TextBox2.Value) Then
   Da = Format(Me.TextBox1.Value, .Range("F6").NumberFormat)
   Da1 = Format(Me.TextBox2.Value, .Range("F6").NumberFormat)
   If .AutoFilterMode = False Then
     .Rows(5).AutoFilter
   End If
   .Range("F5", .Range("F65536").End(xlUp)).AutoFilter Field:=6, _
       Criteria1:=">=" & Da, Operator:=xlAnd, Criteria2:="<=" & Da1
   ’↑の列で「Range クラスのオートフィルターに失敗しました」と
   'メッセージが出ます。何が問題なのでしょうか?

    If .Range("F65536").End(xlUp).Row = 5 Then
     MsgBox "抽出データがありません。", vbInformation
     .AutoFilterMode = False
   Else
    Unload UserForm1
   End If
  Else
   MsgBox "抽出日を確認", vbCritical
  End If
End With

End Sub

【34265】Re:データの抽出
回答  Statis  - 06/1/30(月) 9:56 -

引用なし
パスワード
   こんにちは
項目行が6行目なら
.Rows(6).AutoFilter

となります。

問題は「Field」の位置です。
F列からデータが始まる場合は(A〜E列までデータがない場合)
Field:=1となります
A〜E列もデータがある場合は
Field:=6 となります。
上記は「マクロの記録」で確認して下さい。

>Range("F5", .Range("F65536").End(xlUp)).AutoFilter Field:=6, _
>       Criteria1:=">=" & Da, Operator:=xlAnd, Criteria2:="<=" & Da1

Range("F6", .Range("F65536").End(xlUp))
  
>If .Range("F65536").End(xlUp).Row = 5 Then
If .Range("F65536").End(xlUp).Row = 6 Then

となります。

【34279】Re:データの抽出
発言  福神漬  - 06/1/30(月) 16:04 -

引用なし
パスワード
   お世話になります。
ようやく、元表へのコードの設定ができました。
いろいろとお世話になりありがとうございました。
Statis さんに頂いた1番目と2番目のコードを組み合わせ、
下記のコードにしました。

ちゃんと、抽出はされますが、なぜか元表にはない日付を入れても
“抽出データはありません”のメッセージボックスが出てきません。

Else
     MsgBox "抽出データがありません。", vbInformation
このコードの設定場所がおかしいのでしょうか?
ご教授頂ければ幸いです。

Private Sub CommandButton1_Click()
Dim Da As Date, Da1 As Date
With Worksheets("元表")
  If IsDate(Me.TextBox1.Value) And IsDate(Me.TextBox2.Value) Then
   Da = Format(Me.TextBox1.Value, .Range("Q6").NumberFormat)
   Da1 = Format(Me.TextBox2.Value, .Range("Q6").NumberFormat)
   Worksheets("一覧表").Range("A6:AP65536").Clear
   If .AutoFilterMode = False Then
     .Rows(5).AutoFilter
   End If
   .Columns(6).AutoFilter Field:=17, Criteria1:=">=" & Da, Operator:=xlAnd, _
              Criteria2:="<=" & Da1
   If .Range("Q65536").End(xlUp).Row > 1 Then
     .AutoFilter.Range.Copy Worksheets("一覧表").Range("A5")
   Else
     MsgBox "抽出データがありません。", vbInformation
   End If
   .AutoFilterMode = False
  Else
   MsgBox "抽出日を確認", vbCritical
  End If
End With
End Sub
Private Sub CommandButton2_Click()
Unload UserForm1

End Sub

よろしくお願い致します。

【34282】Re:データの抽出
回答  Statis  - 06/1/30(月) 16:31 -

引用なし
パスワード
   こんにちは

>.Columns(6).AutoFilter Field:=17, Criteria1:=">=" & Da, Operator:=xlAnd, _
              Criteria2:="<=" & Da1

Q列なら
.Columns(17).AutoFilter Field:=17, Criteria1:=">=" & Da, Operator:=xlAnd, _
              Criteria2:="<=" & Da1

となります。

【34284】Re:データの抽出
発言  福神漬  - 06/1/30(月) 16:49 -

引用なし
パスワード
   早々のお返事ありがとうございます。
ご教授頂いた通り、修正しました。
しかし、メッセージボックスは出てこないのですが・・・。
重ね重ね申し訳ありませんが、よろしくお願い致します。

【34286】Re:データの抽出
回答  Statis  - 06/1/30(月) 17:12 -

引用なし
パスワード
   ▼福神漬 さん:
>早々のお返事ありがとうございます。
>ご教授頂いた通り、修正しました。
>しかし、メッセージボックスは出てこないのですが・・・。
>重ね重ね申し訳ありませんが、よろしくお願い致します。


こんにちは
データが無い場合ですね。
よく読んでいませんでした(すみません。)

>If .Range("Q65536").End(xlUp).Row > 1 Then
If .Range("Q65536").End(xlUp).Row > 5 Then

【34293】Re:データの抽出
質問  Hiro  - 06/1/30(月) 21:12 -

引用なし
パスワード
   ▼Statis さん:
▼福神漬 さん:

Sttis さんご返事ありがとうございました。
そして、福神漬 さん 横から聞いたりしてご迷惑をかけています。
すみません。

再度質問させてください。
Statis さんからの回答よく理解できました。
ただ、Textbox1は上手く働きますが、Textbox2では
12/12まではコントロール(正しくオートフィルター)がかかりますが
12/13以降は全て、12/17までになり絞り込まれません。

なぜか理由が分かれば、もし理由が分かればアドバイスを
お願いします。

【34310】Re:データの抽出
発言  Statis  - 06/1/31(火) 9:08 -

引用なし
パスワード
   ▼Hiro さん:
こんにちは
>
>Sttis さんご返事ありがとうございました。
>そして、福神漬 さん 横から聞いたりしてご迷惑をかけています。
>すみません。
>
>再度質問させてください。
>Statis さんからの回答よく理解できました。
>ただ、Textbox1は上手く働きますが、Textbox2では
>12/12まではコントロール(正しくオートフィルター)がかかりますが
>12/13以降は全て、12/17までになり絞り込まれません。
>
>なぜか理由が分かれば、もし理由が分かればアドバイスを
>お願いします。

F列のすべてのセルの書式設定は同じですか?
一度、手作業で試してみて下さい。

【34313】Re:データの抽出
お礼  福神漬  - 06/1/31(火) 9:53 -

引用なし
パスワード
   おはようございます。
Statisさん、早朝からお返事頂きありがとうございます。

こちらの式でうまく動きました。
If .Range("Q65536").End(xlUp).Row > 5 Then
しかし・・・、1から5に変えることで何が違うのでしょうか??
コードの意味を簡単に教えてください。
また、長期に渡り、質問に丁寧にお答えくださって、本当に感謝しています。
これからも少しずつ、VBAの勉強をしていきたいと思います。
本を買って勉強しますp(*^-^*)q♪
(お勧めの本があったら教えてください)
また、質問等があったらこちらに投稿させて頂きたいと思いますので
よろしくお願い致します。

【34314】Re:データの抽出
回答  Statis  - 06/1/31(火) 10:02 -

引用なし
パスワード
   ▼福神漬 さん:
こんにちは
>おはようございます。
>Statisさん、早朝からお返事頂きありがとうございます。
>
>こちらの式でうまく動きました。
>If .Range("Q65536").End(xlUp).Row > 5 Then
>しかし・・・、1から5に変えることで何が違うのでしょうか??
>コードの意味を簡単に教えてください。

Q列の最終データ行を取得しています。
オートフィルタでデータを抽出後、最終データを取得すると
項目行が5行目なのでそれ以上データが無い場合は抽出データが無いと言うことです。
「If .Range("Q65536").End(xlUp).Row > 5 Then」は最終データ行が6以上と言う事で区分しています。

【34315】Re:データの抽出
お礼  福神漬  - 06/1/31(火) 10:49 -

引用なし
パスワード
   わかりやすく教えていただいてありがとうございます。
Statisさんに教えて頂いて本当に感謝の気持ちでいっぱいです。
…でなければ途中で挫折していたと思います。
Statisさんが気長にお付き合いして頂けたからこそ、完成しました。
途中色々ご迷惑おかけしたり、ちんぷんかんぷんなご質問をしてしまい
本当にすみませんでした。

【34333】Re:データの抽出
発言  Hiro  - 06/1/31(火) 20:42 -

引用なし
パスワード
   ▼Statis さん:

>F列のすべてのセルの書式設定は同じですか?
>一度、手作業で試してみて下さい。
書式の設定はみな同じです・・・

>>ただ、Textbox1は上手く働きますが、Textbox2では
>>12/12まではコントロール(正しくオートフィルター)がかかりますが
>>12/13以降は全て、12/17までになり絞り込まれません。

なぜか理由が分かりません。

質問と回答が多く重なっていますので、
また、別途改めて質問をさせていただきます。

8268 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free