|
Yukiさん、回答ありがとうございました。
しかしながら、まだうまくいきません(´・ω・`)
この記述は31回繰り返すのをまとめてくださったものなのですよね?
「あああ」というシートにある表にオートフィルターオプションにて
「カレンダー」というシートにある値を入れて(一個ずつ下にずれます)
抽出した結果を、それぞれ「1」〜「36」という名のシートに貼り付けたいと思っています。
> Criteria1:=Sheets("0").Cells(i + 6, 3).Value,
ちなみに「シート名」「0」というシートはないのですが
これはどういう意味でしょうか?
>A〜L列はA〜H列列より大きいですけど
すみません(恥)
本当にその通りです。
抽出した結果すべてをコピーで間違いありませんでした。
しかし今回教えていただいた事は次に役立てる事ができそうです。
ありがとうございます。
下記の記述31個を全て消して、
Yukiさんに教えていただいた記述をいれてみました。
「インデックスが有効範囲にありません」というエラーが出ます。
Sub test()
Dim i As Long
For i = 1 To 31
With Sheets("あああ")
.AutoFilterMode = False
.Range("A1").CurrentRegion.AutoFilter Field:=4, _
Criteria1:=Sheets("0").Cells(i + 6, 3).Value, Operator:=xlAnd
With .AutoFilter.Range
End With
End With
Next
End Sub
もしよろしければ、またご回答ください。
すみませんが、宜しくお願いします。
最初に書いた記述です↓↓↓
------------------------------------------------------------------
シート名「あああ」にある表から、オートフィルターのオプションにて
シート名「カレンダー」にある、セル「C7」で条件を絞り
シート名「1」に貼り付ける
シート名「あああ」にある表から、オートフィルターのオプションにて
シート名「カレンダー」にある、セル「C8」で条件を絞り
シート名「2」に貼り付ける
シート名「あああ」にある表から、オートフィルターのオプションにて
シート名「カレンダー」にある、セル「C9」で条件を絞り
シート名「3」に貼り付ける
・・・・・・・・・・・・
といった処理を31回繰り返したいのですが
下記のように記述したら「リソース不足です」と表示されて
うまくいきません。
ループで記述できるのであれば
どのように記述すればよいのでしょうか?
初歩的な質問かもしれませんが教えてください。
宜しくお願いします
Sheets("あああ").Select
Selection.AutoFilter Field:=4, Criteria1:=Sheets("カレンダー").Range("C7").Value, Operator:=xlAnd
Range("A12:L12").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("1").Select
Range("B2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
Sheets("あああ").Select
Selection.AutoFilter Field:=4, Criteria1:=Sheets("カレンダー").Range("C8").Value, Operator:=xlAnd
Range("A12:L12").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("2").Select
Range("B2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
Sheets("あああ").Select
Selection.AutoFilter Field:=4, Criteria1:=Sheets("カレンダー").Range("C9").Value, Operator:=xlAnd
Range("A12:L12").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("3").Select
Range("B2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A1").Select
|
|