advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 4266 for オートフィルタ (0.004 sec.)
[[20221223211522]]
#score: 4241
@digest: 8d6bdd18b77cb24e83ca4e36fbf7d66e
@id: 93103
@mdate: 2022-12-25T14:33:18Z
@size: 3530
@type: text/plain
#keywords: 木天 (13180), 天蓼 (13180), ド. (4911), ん*" (4376), autofilter (3790), 成a (3372), ーワ (3181), ・考 (2882), dstsh (2796), ドカ (2198), ワイ (1991), 索語 (1886), りー (1679), autofiltermode (1531), 種別 (1521), sheets (1361), トフ (1351), ルタ (1244), ト名 (1158), オー (1154), フィ (1042), ィル (991), 解除 (980), ワー (897), 2022 (818), キー (797), ルド (780), カー (725), 記マ (693), ート (652), ード (638), 名に (579)
『エラー「シート名が正しくありません」』(りりー)
オートフィルターで抽出したデータをシートごとに分ける下記マクロでArray内の品名に「*」をつけて抽出しても品名ごとのシート名になるようにするにはどのような変更をすればよいか教えてください。 Sub TEST2() Dim A '種別リストを作成 A = Array("いちご*", "みかん*", "めろん*", "ばなな*", "ぶどう*", "かき*") For i = 0 To UBound(B) '種別でフィルタ Sheets(1).Range("A3").AutoFilter 2, A(i) 'シートを追加 Sheets.Add after:=Sheets(Sheets.Count) ActiveSheet.Name = A(i) 'シート名を変更 'フィルタ結果を転記 Sheets(1).Range("B3").CurrentRegion.Copy Range("B3") Sheets(1).Range("B3").AutoFilter 'オートフィルタを解除 Next End Sub < 使用 Excel:Microsoft365、使用 OS:Windows11 > ---- Office TANAKA - Excel VBA Tips[シート名に設定できる文字列かどうかを判定する] http://officetanaka.net/excel/vba/tips/tips68.htm (白茶) 2022/12/23(金) 21:42:34 ---- 既に紹介されたサイトを見れば解りますが、 アスタリスク「*」はシート名に使えません。 A(i)に対して、Replace関数で「*」を消してみるとか。 (木天蓼) 2022/12/23(金) 21:58:40 ---- ワイルドカードも使えません。 ワイルドカードは、シート名を比較する時しか使えません。 実際のシート名でしか使えません。 実際、人に聴く前に自分でやってみれば解るでしょうに Sheets("Sheet*").Select (自分で色々試しなさい) 2022/12/23(金) 22:58:57 ---- 原因は皆さんが仰るとおりですし、解決方法は既に木天蓼さんが提示されていますが、別アプローチで。 Sub 別案() Stop 'ブレークポイントの代わり Dim キーワード As Variant Dim dstSH As Worksheet With Sheets(1) .Range("A3").AutoFilter For Each キーワード In Array("いちご", "みかん", "めろん", "ばなな", "ぶどう", "かき") .AutoFilter.Range.AutoFilter Field:=2, Criteria1:="=" & キーワード & "*" If .Cells(.Rows.Count, "B").End(xlUp).Row > 3 Then Set dstSH = Sheets.Add(after:=Sheets(Sheets.Count)) dstSH.Name = キーワード .AutoFilter.Range.Copy dstSH.Range("B3") End If Next キーワード .AutoFilterMode = False End With End Sub ↑のように、オートフィルタで抽出するときだけワイルドカードを使って前方一致にしてはどうでしょうか? (もこな2) 2022/12/24(土) 07:29:22 ---- みなさん もこな2さん ありがとうございます。お示しいただいたコードは、私にも理解ができ助かります。しかし「オブジェクト変数または With ブロック変数が設定されていません。」とエラーになりました。 キーワードを検索語としても使い、シート名としても使う場合どのように変更すればよいか教えてください。 (りりー) 2022/12/25(日) 13:32:49 ---- う〜んこちらでは正常にうごいてますけどねぇ・・ 考えられることとしては、コード実行前にオートフィルタが設定されていたりしませんかね。 その場合↓でオートフィルタが解除される .Range("A3").AutoFilter 結果↓が存在しなくなるからエラーになる .AutoFilter.Range〜〜 もしそうであれば↓のように、オートフィルタをいったん解除してから設定するようにしてみてはどうでしょうか? With Sheets(1) .Range("A3").AutoFilter ↓ With Sheets(1) .AutoFilterMode = False ←いったん解除してから .Range("A3").AutoFilter ←改めてオートフィルタを設定 (もこな2) 2022/12/25(日) 15:05:38 ---- もこな2さん 助かりました。理解できるコードでエラーも解消され思ったような動きが実現できました。 ありがとうございます。 (りりー) 2022/12/25(日) 23:33:18 ...
https://www.excel.studio-kazu.jp/wiki/kazuwiki/202212/20221223211522.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97046 documents and 608224 words.

訪問者:カウンタValid HTML 4.01 Transitional