- 締切済み
EXCEL VBAで列に任意の数字があるかを確認
HohoPapaの回答
- HohoPapa
- ベストアンサー率65% (455/693)
VBAのコードをポストするのはやぶさかではないものの 求めている仕様がよくわからないのです。 >①任意の列(下のB列)に任意の数字があるかを確認する ある場合はB列、ある場合はD列といった具合に 数値のある列(確認する列)を利用者が指定するわけですが、 その指定方法は ・1行目がタイトル行で、その列名を指定する? ・何番目の列なのかを列番号(アルファベットor数値)を指定する? 更に、どのような手段で指定するか? ・適当なシートの適当なセルに予め指定する? ・チェックする列を予め選択しておく? ・指定するためのダイアログを表示して入力させる? ・VBAのソースコード内に書き込む? 続いて、 >②ある場合、該当行を除き、ない場合は、そのまま。 ・処理結果を新たなシートに書き出す? ・単にフィルターする? ・新たなブックに書き出す? といった具合に、処理結果をどのように作成すればいいのかを 明示してほしいのです。 それとも、該当しない場合は、 その旨のメッセージを表示してマクロから抜ければいいですか?
関連するQ&A
- Excelのフィルターなんですが
A列 B列 1 りんご 2 みかん 3 すいか 1 りんご 2 みかん 3 すいか 1 りんご 2 みかん 3 すいか 上記の表があり、フィルターで1を選ぶ場合に自動マクロで記録すると Selection.AutoFilter Field:=1, Criteria1:="1" となります。これをC3に入力した数字を参照したいので Selection.AutoFilter Field:=1, Criteria1:=cells(1,3) としてみたのですが、うまくいきませんでした 下記のように選択されるようにしたいのですが、どうすればよいのでしょうか? A列 B列 1 りんご 1 りんご 1 りんご
- ベストアンサー
- その他MS Office製品
- EXCEL VBA 複数列を2列にまとめる
下記のようなデータ(列数も行数も常に変わり、固定ではない)を ┌───────────────── │ A 列 | B列 | C列 | D列 ├─────────────────── │ 1 │伝票01 │品名01 | 品名02 │品名03 ├─────────────────── | 2 │0011 │みかん │みかん | りんご ├─────────────────── │ 3 │1001 │りんご │いちご | ├─────────────────── │ 4 │1100 │いちご │みかん | ぶどう └─────────────────── ↓のように2列にまとめる方法はございますでしょうか?VBAを希望しております。 よろしくお願い申し上げます。 ┌───────────────── │ A │ B ├───────────────── │ 1 │伝票 │品名 ├───────────────── │ 2 │0011_品名01 │みかん ├───────────────── │ 3 │1001_品名01 │りんご ├───────────────── │ 4 │1100_品名01 │いちご ├───────────────── │ 5 │1001_品名02 │みかん ├───────────────── │ 6 │1100_品名02 │いちご ├───────────────── │ 7 │1001_品名02 │みかん ├───────────────── │ 8 │1100_品名03 │りんご ├───────────────── │ 9 │1001_品名03 │ ├───────────────── │ 0 │1001_品名03 │ぶどう ├─────────────────
- ベストアンサー
- オフィス系ソフト
- オートフィルタのVBAについて
初めまして、オートフィルタに係るVBAについて質問させてください! A列にりんごやぶどうなど果物の名前が入っているデータがあり、K列までデータが 入っています。(B列以降は果物の個数や値段のデータなので、果物の名前はA列のみです。)うち、「りんご」、「みかん」、「もも」、「いちご」のデータのみを抽出したいため、以下のようなVBAを記述しました。 しかし、実行したところエラーコード1004「RangeクラスのAutofillメソッドが失敗しました。」というメッセージが出てきたため、処理ができませんでした。 何か範囲の指定方法が間違っているのでしょうか…? ご教示いただけるととても嬉しいです。 よろしくお願いいたします。 Rows("1:1").AutoFilter ActiveSheet.Range("A1:K" & Cells(1).CurrentRegion.Rows.Count).AutoFilter Field:=1, Criteria1:= _ Array("りんご", "みかん", "もも", "いちご"), Operator:=xlFilterValue
- ベストアンサー
- Excel(エクセル)
- excel VBAの文字列設定
VBAで繰り返し作業を行っているのですが変数と文字列の組み合わせの設定に困っています。 for ~next(変数x)で繰り返しを行い medx の文字列を検索したいのですがうまくいきません。 疑問の部分は以下の範囲です 定義 x, y, i, ro, li as integer med1~medx までそれぞれ別の文字列(ex. med1= a med2 = b・・・ 統一性はないです) VBA部分 If y > 1 Then For x = 1 To y - 1 For i = 1 To 13 ←sheet数 For ro = 1 To 150 ←行 For li = 1 To 200 ←列 Worksheets("sheet" & i).Select If InStr(Cells(ro, li), "med" & x) > 0 Then ←疑問部分 med1、med2・・・を含むかどうか Cells(ro, li).Interior.ColorIndex = 3 Else End If Next Next Next Next else end if 上のように書くと"med1"を含むかどうがになってしまい、"a"を含むかどうかになりません。 わかりにくいかもしれませんが回答どうぞお願いします。
- ベストアンサー
- その他MS Office製品
- Excel のフィルター
下記の表があり、フィルターで1を選ぶ場合に自動マクロで記録すると Selection.AutoFilter Field:=1, Criteria1:="1" となります。 Criteria1:=~ ~の部分をセルで参照するにはどうすればいいのでしょうか?単純にCriteria1:=cells(3,1) としてもうまくいきません。 正しい記述方法をお願いいたします。よろしくお願いします。 A列 B列 1 りんご 2 みかん 3 すいか 1 りんご 2 みかん 3 すいか 1 りんご 2 みかん 3 すいか
- ベストアンサー
- その他MS Office製品
- エクセル関数で、2列の情報を1列に順番に並べたい
以下の元データのようにA~D列にある情報を、 下方のE列、F列にあるように情報を合わせて表示したい場合、 E列、F列にはどのような関数を入れたらよいでしょうか。 COUNTIFやVLOOKUP関数を試してみましたが、 うまく順番に並べることができず途方に暮れています。。。 どなたかお知恵がある方、マクロではなく関数で 教えていただけたらありがたいです。 ※A列はB列の情報番号、C列はD列の情報番号です。 ↓元データ↓ A B C D 1 みかん 1 あ 1 みかん 2 い 1 みかん 3 う 2 りんご 4 え 2 りんご 5 お 3 すいか 6 か 3 すいか 7 き 3 すいか 8 く 3 すいか 9 け ↓このようにしたいです。↓ A B C D E F 1 みかん 1 あ 1 みかん 1 みかん 2 い 1 あ 1 みかん 3 う 2 い 2 りんご 4 え 3 う 2 りんご 5 お 2 りんご 3 すいか 6 か 4 え 3 すいか 7 き 5 お 3 すいか 8 く 3 すいか 3 すいか 9 け 6 か 7 き 8 く 9 け 何とぞよろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルVBA
1ブック A列 B列 みかん 105 りんご 150 バナナ 198 2ブック A列 D列 みかん 105 りんご 150 バナナ 198 2ブックのA列が1ブックのA列と同じ値なら1ブックのB列の値を2ブックのD列に反映させたいのですが、どうしたら良いでしょうか。 A列の値を基準にB列だけでなく、他列も抽出したいのですが…。 宜しくお願いします。
- ベストアンサー
- Excel(エクセル)
- Excelでの文字列とりだしについて
Excel(version2013)について質問です。 ある文字列を検索範囲内で検索し、みつかった場合、 その文字列を返すようにしたいです、どのような関数を使えば宜しいでしょうか。 例えば下記A列に検索したいリスト(りんご、ばなな、ぶどう)があり、 検索したい範囲がD1~E5とします。 その場合、B列に関数を使った式を入れ、 りんご、ばなな、空文字、りんご、ぶどうと並ぶようにしたいです。 どのような関数を使えば宜しいでしょうか。 A B C D E 1 りんご (式) りんご みかん 2 ばなな (式) ばなな すいか 3 ぶどう (式) すいか みかん 4 (式) りんご すいか 5 (式) ぶどう みかん
- 締切済み
- オフィス系ソフト
- エクセルで一致するをセルを参照して入力したい
お世話になります。 わかりにくいタイトルで申し訳ないのですが以下の場合について教えてください。 A列に1,2,3,4,5・・・というように重複しない数字が入っています。 C列にも1,3,4・・・など重複しない数字が入っています。(1と3の間に空白セルはない) D列には任意の文字が入っています。 C列の数字と同じ数字は必ずA列には存在します。(逆にA列の数字がすべてC列にあるわけではない) ここであいているB列にその左のA列と同じ数字をC列から探し、その右側のD列の文字を入力したいのです。 (A列と同じ数字がC列にない場合は空白にする。) 例 A1:1 C列で「1」が入っているセルがC1、D1:みかん の場合 B1:みかん とする A2:2 C列に2がない場合 B2:空白 A3:3 C列で「3」が入っているセルがC2、D2:りんご の場合 B3:りんご とする この場合B列にはどのような計算式を入れておけばよいのでしょうか。 よろしくお願いします。 Excel2002です。
- ベストアンサー
- オフィス系ソフト
- セル内の文字列に複雑な処理をしたい
セルの中の複数の異なる文字列を以下のように処理したいのですが、Excelの標準の文字列操作の関数で試行錯誤してみたのですが、どうもうまくできませんでしたので、ご存知の方がいらっしゃいましたらご教授ください。VBAで処理しないとできないかもしれませんがよろしくお願いします。 あるリストのC列に備考欄が設けてあり、次のようなデータが入っています。 4/30 みかんを買った(強制改行して) 5/1 りんごを売った 5/2 ぶどうを食べた 5/5 すいかを買った このセルを調べて、 (1) セル内に"みかん"と"りんご"という文字列があったら、これを取り出して、右隣のセルに表示 (結果)⇒ みかん りんご (2) セル内に"みかん"と"りんご"という文字列があったら、これを"A","B"に置き換えて、右隣のセルに表示 (結果)⇒ A B (3) セル内の数値データと"を食べた"、"を買った"、"を売った"を取り除いて、右隣のセルに表示 (結果) ⇒ みかん りんご ぶどう すいか (4) セル内に"か"を含む文字列があったら個数に関係なく"A"に置換して右隣のセルに表示 (結果) ⇒ A すべて取り出したい文字列(上の例ではみかん、りんご)や置換したい文字列(A、B)以外の文字列は全てクリアして表示しないようにします。少し複雑ですが、やり方をご存知の方がいらっしゃいましたら、お教えください。
- ベストアンサー
- オフィス系ソフト