- ベストアンサー
エクセルVBAでこういう事は可能でしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
件数が出れば良いのですか? さらに、VBAでしなくてはいけないのでしょうか? 関数だけで出来ますが・・・ A2に、 =(LEN(A1)-LEN(SUBSTITUTE(A1,"変更(2004/10","")))/10 B2に、 =(LEN(B1)-LEN(SUBSTITUTE(B1,"変更(2004/10","")))/10 でそれぞれのセル内に"変更(2004/10"の文字列が何個あるか分かります。 最後の10で割っているのは、"変更(2004/10"は10文字だからです。 VBAでも同じ事ができます。
その他の回答 (2)
- papayuka
- ベストアンサー率45% (1388/3066)
Or _stCnt ↓ Or stCnt の間違い
- papayuka
- ベストアンサー率45% (1388/3066)
あんまりスマートじゃないけど。 Sub Test() Dim stCnt As Integer, r As Range Dim s1 As String, fs As String fs = "変更(2004/10/*" For Each r In Selection If r.Text Like "*" & fs Then stCnt = 1 Do While stCnt < Len(r.Text) s1 = "" Do s1 = s1 & Mid(r.Text, stCnt, 1) stCnt = stCnt + 1 Loop Until Mid(r.Text, stCnt, 1) = Chr(10) _ Or _stCnt > Len(r.Text) If s1 Like fs Then MsgBox r.Address & " : " & s1 End If stCnt = stCnt + 1 Loop End If Next r End Sub
関連するQ&A
- エクセルVBAでのSQLについて
エクセルVBAで、SQLを記述しているのですがwhereの抽出条件にセルの値を指定したいと思っています。その当該セルの値を変更することで、抽出条件を変更することができるようにしたいです。 しかし、どのような記述にすればよいか分かりません。以下のような記述をしたのですが、うまくいきません。すみませんが、教えていただけないでしょうか。よろしくお願い申し上げます。 ◆抽出条件を指定するセル:A1 セルA1には、数字(例:1000、2000等)をいれます。 mySQL = " SELECT * FROM [◆◆シート!] WHERE Range("A1")"
- 締切済み
- Visual Basic
- エクセルVBAについて
エクセルVBA初心者です。 以下のような処理をしたくて、色々な質問等を見て組み合わせて動かしてみたものの、なかなかうまくいかず困っております。アドバイスいただけないでしょうか? 「Sheet1」に以下のようなデータがあります。 <A列> <B列> <C列> ok59 886 ok88 ok70 777 ok75 okGG 478 ok66 ok97 358 ok58 ok69 764 ok47 ok39 368 ok40 okGG 794 ok68 ok85 463 ok75 ・ ・ ・ ・ ・ ・ A列とC列にはそれぞれ「ok+2桁の数字or文字」が入っています。 B列は特に今回は使わないデータですが、数字が入っています。 やりたいことは以下の通りです。 A列に「GG」を含む文字列(実質okGGしかない状態です)が出てきたとき、 その1つ下の行のA列とC列のセルをピックアップし、背景色をピンク色にします。 上の例だと、A列は「ok97」と「ok85」、B列は「ok58」と「ok75」のセルが該当します。 さらにピンク色にピックアップしたセルのから、頭の「ok」を除いた数字を3.5倍した数字を、 別のシートに抽出したいのです。 なので、上の例を使用した場合の抽出したデータは以下のようになります。 <A列> <B列> 339.5 203 297.5 262.5 ちょっと複雑なのですが、どのようにするのがよいのでしょうか? また、別シートに抽出したいのですが、 「Sheet1」の特定のセルに日付が入っているので、 できればその日付の名前のシートを作り、そこに抽出できたらなぁ・・・と考えています。 「Sheet1」にデータを貼り付けて、ボタンをポンっとおしたら日付の名前のシートができて、 欲しいデータが抽出されていく・・・というイメージです考えています。 どうぞよろしくお願いします。
- 締切済み
- その他(業務ソフトウェア)
- エクセル VBAで入力
エクセル初心者です。 条件付き書式で一つのセルに特定の文字列を入力した際に、そのセルと任意の法則性のある複数のセルに(入力内容は無関係でセルの行・列に法則性があります)特定の塗りつぶしを行いたいのですが、どのようにすればよいのでしょうか。 条件付き書式をすべて設定する(手打ち)するのが最も確実で間違いの内方法ではありますが、新規に行・列を挿入した場合、その行・列には条件付き書式が設定されていませんので、意図した作用を起こさなくなってしまいます。 上記ではよくわからないと思いますので、具体的な例を入れさせていただきます。 例)) 任意のセル(A13)に特定の文字列(OK)と入力する。 特定文字列に反応して、そのセルの列に(A12からE12、F12からH12)赤色の塗りつぶしを入れる。 上記は1セルに対して行われますが、VBAを使用してA12からA5000までを検索対象として持たせて、それぞれのセルの列に対して塗りつぶしを入れられるようにしたいと思っています。
- ベストアンサー
- オフィス系ソフト
- Excel VBAについて
Excel VBAについて ExcelのセルA1に日付データ(yyyy/mm/dd hh:mm)が入っています。 このエクセルファイルを開いている間、セルA1の日付(時分)が更新されたらマクロを実行するようにしたいのですが、どのようにしたらよいのでしょうか。 セルA1の日付データが更新されるタイミングは決まっていません。 セルA1の日付データが更新されたらマクロ実行というのが難しいのであれば、 10秒おきにマクロを実行というようなことができないでしょうか。 ご教授願います。
- ベストアンサー
- Visual Basic
- Excel VBAについて教えて下さい。
VBAについて2点ほど質問があります。 (1)複数セル(例:A2:A40)に入力されている文字列を一括で数値に変換するVBAはありますか? (2)複数セル(例:A2:A40)に日付と時間が入力されていて(例:2019/09/12 16:00)、それを一括で日付と時間それぞれ別々のセルへ表示させるVBAはありますか? 現状、1つのセルしか変換できず複数一度には難しいのでしょうか? お分かりの方いましたら、是非ご教示お願い致します。
- ベストアンサー
- Excel(エクセル)
- VBAでの質問
エクセルVBAにて下記のようなことを行うにはどのようにしたら良いのでしょうか? (1)テキストデータ取り込み (2)取り込んだデータから、あるフレーズ(文字)の後に続く文字を抽出 セルに挿入 (3)その文字から次の同じフレーズまでにある特定のフレーズの後ろに続く数字を取り出し、日付と時刻に分けてセルに挿入 フレーズは 2つあります。start finish (4)間の不要な行の削除して体裁を整える。不要な項目がある為 テスト環境にてPCよりログとして出力されるデータをエクセルで 加工し結果が直ぐに分かるような表をマクロorVBAにて作成したいのです。 出来れば順序良く、ここまでだったらこの方法で、とういう風に教えて いただければ助かります。 宜しくお願いします。
- 締切済み
- その他(プログラミング・開発)
- EXCEL VBAについて
VBAでCSVファイルをテンプレートのBBOKに読込むコードを 作り、CSVファイルから読込んだBOOK1データを集計する BOOK2を作成しています。 BOOK1・11/21・・・11/21・・・11/22・・・11/23と続きます A B C D 1 ID 店名 売上 日付 2 1104567 渋谷店 190,809 11/21 3 1102031 新宿店 209,808 11/21 4 1103450 横浜店 108,765 11/21 BOOK2・集計 A B C D E 1 ID 店名 11/21 11/22 11/23 2 1104567 渋谷店 190,809 203,487 3 1102031 新宿店 209,808 340,876 4 1103450 横浜店 108,765 547,627 ※BOOK1とBOOK2のIDの並び順は一致していません。 上記のBOOK1のデータをBOOK2に読込ませたいと考えています。 VLOOKUPやINDEX関数を使用しようかと考えたのですが、日付毎に ファイル名が違うのと、集計のファイルには外部参照をさせたくないと 考えています。 VBAで作成したいコードはBOOK1からBOOK2の日付のセルにIDを検索条件として日付毎のファイルを読込ませたいです。 フォームで日付を入力し、コピーするBOOK2のセルを指定後、BOOK1を選択するためにダイアログボックスを出したいです。 BOOK2のIDを検索条件としてBOOK1から一致する売上セルを抽出するコードだけでもわかれば何とか作成できそうなのですが、 ご教授いただけませんでしょうか?
- ベストアンサー
- オフィス系ソフト
- EXCEL VBA マクロ 特定の行削除
Excelで特定の文字例が含まれるセルが存在する行のみを自動で削除したいのですが、VBAで自動で処理する事は可能でしょうか? 1万行程度あるので、自動で実行したいと思っております。 プログラムの知識がないので、どなたかご教授下さい。
- 締切済み
- Visual Basic
- ExcelのVBAについて。
ExcelのVBAについて。 画像のようなコードを利用してセルに入力時の日付時間を自動的に付加させたいのですが、、 VBA初心者な為に上手くいきません。 コード自体はサイトのを切り貼りして使えるのですが、これ以上の応用例に行き着けません。目的としては、データベース的に、あと入力数値から特定文字を抜き出して変数を当て嵌め文字列の語呂を当てます。様式はまだ作成中ですが、ある種の図表化してプリントアウトまでしたいと思っています。 何が上手くいかないか、まず自動的に付加させる所は何となく出来ているので、これをシート1とした場合に、シート2に図表化した転記内容を構成し、、シート1入力、シート2表示、またシート1A3セルに戻るというコードにしたいです。 この記述は不味いとかこうこうああした方が良いというアドバイスや指摘をお願いします。 よろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)