A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
このA列とB列の日付「らしき」ものが、どんな内容かによって微妙に変わってきます。
つまり、A列とB列がシリアル値なのか単なる文字列かということです。
でも、#2さんの提示されたVBAで出来たということは、シリアル値なのでしょうね。
VBAを使わないのであれば、
データの入っているシートにワーク列を作ります(仮にZ列とします)
Z列に
=AND(A1>=DATE(2007,4,1),B1<=DATE(2007,9,30))
として。下へコピー。
次に、Z1を選択し、「データ」-「オートフィルタ」でOKをクリック。
Z列の右に表示された「▼」をクリックして「TRUE」をクリック。
条件に合致した行だけが表示されるで、それらの行を全て選択してコピー。
別シートに移動して、A1を選択して貼り付ければOKです。
あとは、貼り付けた先のシートから、元シートのZ列に当たる列を削除します。
如何でしょう。
No.4
- 回答日時:
ミスが有りました。
>If Worksheets(1).Cells(i, 1) > DateValue("2007/3/31") _
>And Worksheets(2).Cells(i, 2) < DateValue("2007/10/1") Then
ここが
If Worksheets(1).Cells(i, 1) > DateValue("2007/3/31") _
And Worksheets(1).Cells(i, 2) < DateValue("2007/10/1") Then
です。
ご教示いただきありがとうございました。
>If Worksheets(1).Cells(i, 1) > DateValue("2007/3/31") _
の「Cells(i,1)」が1つ目のセルを指していることがわかるまでちょっと悩みましたが、無事取り出せました。
これでやってみたところ、コピー先であるアクティブのシートに参照元のシートの該当行を取り出し、同じ場所に(2列目が該当すればコピー先も2行目へ)コピーする、という結果になりました。
今は、取り出した結果に対してC1の列をキーにしてソートをかけたくて考えています。
VBAのヘルプを(MSExcelのヘルプです)をみつつ追加してみています。
ここから質問の内容が最初とずれますが、ヘルプでは
Worksheets("test1").Range("A1").Sort _
Key1:=Worksheets("test1").Range("C1")
のように書くサンプルがありました。これをSubLineCP()の中に追加してもうまくいかない状態です。
違う動きは違うSub ()の中に分けるものなのでしょうか。
No.3
- 回答日時:
私の方もよく質問事項を理解していなかったようです。
すみませんこの場合、VBAによる方法が良いかと思います。
VBエディタを起動し、標準モジュールを挿入、その中に以下の分を書いて下さい。
Sub LineCP()
Dim i As Integer
For i = 1 To 100
If Worksheets(1).Cells(i, 1) > DateValue("2007/3/31") _
And Worksheets(2).Cells(i, 2) < DateValue("2007/10/1") Then
Worksheets(1).Rows(i & ":" & i).Copy
Worksheets(2).Rows(i & ":" & i).Select
ActiveSheet.Paste
Application.CutCopyMode = False
End If
Next i
End Sub
-------------ここまで
For文の「100」は、検索する行数です。
Sheet1から検索し、Sheet2へコピーしています
No.2
- 回答日時:
Sheet1のデータを別シートに取り出すとし「2007/4」等のデータは、日付データとして入力されているとしています。
表示したいシートのA1に
=IF(Sheet1!$A1>DATE(2007,3,31),IF( Sheet1!$B1<DATE(2007,9,30),Sheet1!A1,""),"")
を入力、A1のセルを選択し、セルの右下にマウスを持って行くとカーソルが「+」に変わるので、そのままB1に引っ張って行きましょう。
B1にも数式が入ったと思います。
次に、A1とB1を選択した状態でB1側の右下へマウスを持って行き、同じように、必要なセルまで下へ引っ張っていきましょう。
この回答への補足
ありがとうございます。
やってみたところ、なんとか該当セルを取り出すことができました。
言葉がさらに足りなかったようで、たとえば
1)の行をすべて取り出したい(つまり、1行まるまるをコピーペーストのように)場合はどうすればよいでしょうか。
No.1
- 回答日時:
その特定の期間とは?
それが判らないと解答のしようが有りません。
この回答への補足
そうですね。申し訳ありません。
A列とB列を比較して、(A列)2007/4以上でかつ(B列)2007/9以下に該当する行を取り出したいと思っています。
ですので、たとえば
A B
1)2007/4 2007/9 取り出す
2)2007/1 2007/12 取り出さない
3)2007/6 2007/8 取り出す
4)2007/5 2007/10 取り出さない
5)2007/3 2007/9 取り出さない
というふうにしたいのです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Excel(エクセル) エクセルでIF関数中にIFERROR関数を使いたいのですが???? 5 2022/04/08 13:24
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- Excel(エクセル) エクセルの数式について教えてください。 7 2023/06/18 10:16
- Excel(エクセル) Excel vbaについて、知恵を下さい。 下表①で出勤が「あり」になっている対象者を隣のシートにあ 1 2022/10/20 18:58
- Visual Basic(VBA) エクセルのマクロで対象ごとにシート分けしてその内容をセルに書き込みたい 9 2022/08/24 13:23
- Excel(エクセル) ExcelのVBAコードについて教えてください。 1 2023/01/13 10:42
- Excel(エクセル) エクセルの数式で教えてください。 5 2023/02/10 15:11
- Excel(エクセル) Excelで数式をそのままコピーしたい どうすればいいですか? 4 2022/09/16 02:16
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Word2016でExcelデータを差込し...
-
【Excel VBA】CSV取込時、数字...
-
EXCELの列の幅
-
EXCELで2つのシートから一致し...
-
EXCEL2007で2つのシートのどっ...
-
エクセルの複数ワークシートの...
-
エクセルで前年同日・前月同日...
-
エクセルシートの選択範囲をコ...
-
順位表において先週と今週の数...
-
可視セルのみのコピー
-
VBAで列に計算式を入れたい
-
Excelで複数セルを選択したまま...
-
エクセルでページ毎の計をつけ...
-
EXCELで不良率を出そうと思って...
-
エクセルVBAで複数列データを1...
-
エクセルでシートを隔てての合...
-
セル入力文字が、「右のセルに...
-
パワポの複数ページにまたがる...
-
エクセル、ページをまたがった...
-
ワードの文章囲み枠(?)を消...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Word2016でExcelデータを差込し...
-
【Excel VBA】CSV取込時、数字...
-
EXCELで2つのシートから一致し...
-
Excel 表の必要箇所だけを抜き...
-
EXCELの列の幅
-
エクセルで前年同日・前月同日...
-
エクセルでページ毎の計をつけ...
-
EXCEL2007で2つのシートのどっ...
-
excelの列がいっぱいになり列を...
-
エクセルで電話番号にハイフン...
-
エクセルVBAで複数列データを1...
-
EXCELで不良率を出そうと思って...
-
エクセルの複数ワークシートの...
-
エクセルの余白を0にしても列...
-
エクセルで縦線のいっぱい入っ...
-
Excelで奇数行を削除
-
ExcelのIF関数について
-
Excelのhperlink関数で作ったモ...
-
エクセル:最新データ12件で...
-
ピボットテーブル作成後、重複...
おすすめ情報