Excel (VBA) |
![]() ![]() |
(Windows 10 Pro : Microsoft 365)
新しいデータより前をフィルターすると、新しいデータまでメールに貼り付け られてしまう。
投稿日時: 22/12/19 11:40:39
投稿者: takatada72
|
---|---|
お世話になります。
|
![]() |
投稿日時: 22/12/19 12:05:09
投稿者: taitani
|
---|---|
何点か。
引用: 「最新更新日より、前の日を指定すると、」はどこの部分を変更していますか? 3.実際に貼り付けたいデータがあるシートは、どれですか? 4.コードは、sub or function からすべて貼り付けてください。 よろしくお願いいたします。 |
![]() |
投稿日時: 22/12/19 12:29:55
投稿者: takatada72
|
---|---|
早速、ありがとうございました。
|
![]() |
投稿日時: 22/12/19 13:07:53
投稿者: taitani
|
---|---|
うーむ、なんだろ、うまく伝わらないようですね。
下記のコードだと、最新更新日より、前の日を指定すると、最新日までのデータが全て出て きてしまうのです。 ※例:12/15を指定するのですが、12/15-12/19までのデータが表示されてしまいます。 は、シートの機能のフィルターでできないですか? そのあと、メールに貼り付ければ済むかと。 ※読み間違ってたらすみません。 4.コードは、sub or function からすべて貼り付けてください。 これうまく伝わらないかな? 前回の質問で私が貼り付けたように貼っていただければという意味でした。 ※BBコード を 「コード」 で処理するといいです。 |
![]() |
投稿日時: 22/12/19 13:50:49
投稿者: takatada72
|
---|---|
taitaniさん
|
![]() |
投稿日時: 22/12/19 14:06:18
投稿者: taitani
|
---|---|
私もうまく伝わらず申し訳ないです。
こちらは、「DR2更新日」シートでExcel の機能であるフィルターを使って、更新日 を選んでから、その後に今回のコードを実行しております。 とのことですが、コードでは、 i = 1 For i = 1 To b - 1 Cells(i + 1, 1) = a(i, 1) 'A列に貼り付ける Cells(i + 1, 2) = a(i, 2) 'B列に貼り付ける Cells(i + 1, 3) = a(i, 3) 'C列に貼り付ける Cells(i + 1, 4) = a(i, 4) 'D列に貼り付ける Cells(i + 1, 5) = a(i, 5) 'E列に貼り付ける Cells(i + 1, 6) = a(i, 6) 'F列に貼り付ける Cells(i + 1, 7) = a(i, 7) 'G列に貼り付ける On Error GoTo tsugi Next i の動作を行っているので、フィルターで非表示の部分も「DR2Mail」シートへ貼り付けを行っている見解です。 「Microsoft 365」をご利用されているのであれば、データを 「Filter」 関数で対象日だけを表示するとか、 上記、For 〜 Next の間に、IF 文で「対象の日かどうか」の判断を行い、「DR2Mail」シートへ貼り付けを行うかのどちらかなって思っています。 |
![]() |
投稿日時: 22/12/19 14:13:41
投稿者: taitani
|
---|---|
<追記>
|
![]() |
投稿日時: 22/12/19 15:09:04
投稿者: takatada72
|
---|---|
taitaniさん
|
![]() |
投稿日時: 22/12/19 15:26:27
投稿者: taitani
|
---|---|
<おまけ>
|
![]() |
投稿日時: 22/12/19 15:41:23
投稿者: takatada72
|
---|---|
taitaniさん
|
![]() |
投稿日時: 22/12/19 15:41:31
投稿者: takatada72
|
---|---|
taitaniさん
|