hallo-2007 の回答履歴
- エクセルのVBAについて質問です。
エクセル2003のVBAについて質問です。 複数の検索したい文字列があり、複数の検索対象セルがあります。 セルの文字列が検索文字列のいずれかと一致したセルの背景の色を変えたいです。 よろしくおねがいします。 仕事でマクロを組まなけばならなくなってしまったのですが、 初心者のため検索してみたり調べてみたり、参考にして作ってみたのですがうまくいかないばかりかどんどん解らなくなってしまいました。 どうか助けてください。 sheet1のセルが検索対象 (全セル対象でも大丈夫ですが、検索したいセルはB2→J2、B11→J11、B20→J20の範囲です)、 sheet2のA列に検索したい文字列が入力されています。 この検索したい文字列は今後増えていく可能性があるので、増えた場合にも対応できるようにと考えています。 sheet1(検索対象) あ い う え あ お お sheet2(検索文字列) あ う お け き ↑の様に入力されており、sheet1の「あ」と「う」と「お」のセルの背景を変えたいです。 色を変えたいのはsheet1です。 findメソッドや繰り返し処理などを調べて実践してみたのですが、 いきなりマクロを組めといわれた超初心者には難しく質問しています。 自分でやってみたのですが、 sheet1の最初の「あ」のみが変換され、後に出てくる「あ」が変換されません… どうしたらいいのか…どうすることも出来ず困っております。 すみませんが、どなたか優しい方助けてください。 よろしくおねがいします><
- ベストアンサー
- Visual Basic
- mana0919
- 回答数3
- Excelマクロ作成について教えて下さい
Excelマクロ初心者のMJです。 Excel2007で、A列に製品名、B列から年月(YYYYMM)毎に2年分の販売数量が入力された表があり、この表の1行目の特定年月を指定して、その年月から12カ月分の全製品データを別シートにコピーをする方法を教えて下さい。 宜しくお願い致します。
- 締切済み
- その他MS Office製品
- MJ177198
- 回答数2
- VBA IEの Vallue の値を取得 して保存
VBAでIEのVallueの値を取得して 指定した場所に .txt として保存する方法はありますか? ありましたらやり方を教えてください。
- 締切済み
- Visual Basic
- shougun-info
- 回答数1
- excel vba 複数行が選択できない。
おはようございます。よろしければ教えてください。 excel2000を使用しています。 vbaで2行目と4行目と選択したいのですが、以下のステートメントだと24行目が選択されてしまいます。 Rows("2,4").Select 2行目と4行目を選択するためには、どこを修正すればよいのかわかりませんのでご教授をお願いします。
- 締切済み
- Visual Basic
- sukeroku111
- 回答数3
- Excelマクロ作成について教えて下さい
Excelマクロ初心者のMJです。 Excel2007で、A列に製品名、B列から年月(YYYYMM)毎に2年分の販売数量が入力された表があり、この表の1行目の特定年月を指定して、その年月から12カ月分の全製品データを別シートにコピーをする方法を教えて下さい。 宜しくお願い致します。
- 締切済み
- その他MS Office製品
- MJ177198
- 回答数2
- エクセルVBA の変数を使うべきでしょうか?
はじめまして。エクセル初心者です。 書籍やサイトで勉強させてもらっていますが、VBAがなかなか難しくてすぐに壁にぶつかってしまいます。少々困ってしまい、詳しい方のアドバイスを頂ければと質問を投稿させていただきました。 どうか宜しくお願い致します。質問ですが、 以下のようなコードで、sheet5のB列の任意のセルをダブルクリックした場合、sheet5のBCD列の同じ行のセル値がsheet1の指定した列に入力されるという処理を作りました。 これで一応目的の動作はするのですが、数が増えると「コンパイルエラー・プロシージャが大きすぎます」というメッセージがでてしまいます。列や行には規則性があるので、もしかしたら変数というものを使ってコードを書き直せばいいのかなと思いネットで調べてみたのですが、今のところさっぱり理解できません。 申し訳ありませんが、分かりやすくご教授いただけないでしょうか。バージョンは2003を使っています。 また、下のコードですと、sheet5のBCDいずれかのセルに空白があった場合、sheet1の列に入力されるときに入力される行がずれてしまいます。今は空白を何かで埋めて対処しているのですが、この問題の解決策も教えて頂けると助かります。どうか宜しくお願い致します。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, cancel As Boolean) If Target.Address = "$B$2" Then Worksheets("sheet1").Range("B" & Rows.Count).End(xlUp).Offset(1).Value = Target.Value Worksheets("sheet1").Range("H" & Rows.Count).End(xlUp).Offset(1).Value = Worksheets("sheet5").Range("B2") Worksheets("sheet1").Range("K" & Rows.Count).End(xlUp).Offset(1).Value = Worksheets("sheet5").Range("C2") Worksheets("sheet1").Range("M" & Rows.Count).End(xlUp).Offset(1).Value = Worksheets("sheet5").Range("D2") Worksheets("sheet1").Activate cancel = True End If If Target.Address = "$B$3" Then Worksheets("sheet1").Range("B" & Rows.Count).End(xlUp).Offset(1).Value = Target.Value Worksheets("sheet1").Range("H" & Rows.Count).End(xlUp).Offset(1).Value = Worksheets("sheet5").Range("B3") Worksheets("sheet1").Range("K" & Rows.Count).End(xlUp).Offset(1).Value = Worksheets("sheet5").Range("C3") Worksheets("sheet1").Range("M" & Rows.Count).End(xlUp).Offset(1).Value = Worksheets("sheet5").Range("D3") Worksheets("sheet1").Activate cancel = True End If If Target.Address = "$B$4" Then Worksheets("sheet1").Range("B" & Rows.Count).End(xlUp).Offset(1).Value = Target.Value Worksheets("sheet1").Range("H" & Rows.Count).End(xlUp).Offset(1).Value = Worksheets("sheet5").Range("B4") Worksheets("sheet1").Range("K" & Rows.Count).End(xlUp).Offset(1).Value = Worksheets("sheet5").Range("C4") Worksheets("sheet1").Range("M" & Rows.Count).End(xlUp).Offset(1).Value = Worksheets("sheet5").Range("D4") Worksheets("sheet1").Activate cancel = True End If ・ ・ ・ ・ ・ ・ End Sub
- ベストアンサー
- オフィス系ソフト
- dontakos11
- 回答数2
- ブック全体(シートは毎月増えます)を検索するには
VBAを勉強中です。 B列に入力された日付から、 例えば2012年3月1日~31日を指定して該当があれば、 行全体をコピーして実行したページにある表に貼りつけるマクロを組みたいと思っています。 (さらに不必要な項目は削除したい!&自動集計も) 検索は実行シートより前にあるシート全体で、 かつ、シートは毎月増えるので、具体的な指定はできません。 このような状況であれば、どんな関数を使用するのが良いですか? 検索する日付を指定するのにメッセージボックスを使用するなど、 手間があることは構いません。 どうとりかかるか、ヒントをいただければと思います。 よろしくお願いします。 Excel2007 /Windows Vistaを使用しています。
- ベストアンサー
- Visual Basic
- mickpeko
- 回答数8
- 狭い土地で建てる吹き抜けと中庭
3?坪(30~40くらい)で自由設計で家を建てようと思っています。 元々あるモデルハウスを参考に見に行ったのですが 大体一階にリビング・キッチン・和室・トイレ・お風呂 二階に洋室3部屋の普通の間取りでした。 私は普通の感じでいいのですが旦那が嫌みたいで 吹き抜けと中庭を作りたい。 無いんだったら家はやめると言います。 でもあまり広くない土地に そんな使わないスペースを作って勿体無くないでしょうか? 旦那も私もガーデニングは全くしません! 私はスペースを有効に使っていきたいです 旦那が吹き抜けと中庭を作りたい理由は 広い家に見えるからと言っています・・・ 実際どうなんでしょうか? お前は想像力がないから考えれないだけ お前と喋ってたら頭が痛くなるとまで言われました・・・ ずっと付き合っていく家だから 普通に住みやすく快適で広々した家がいいです。 自由設計だと出来てからじゃないと わからないし やっぱり狭いから嫌だなんて 言えませんよね・・・ 広い土地なら吹き抜けや中庭があっても いいと思いますが・・・ 狭い土地でそんな家にして 狭くならないんでしょうか? 不便にならないでしょうか? 私は普通に考えたら そのスペース分部屋を広くしたり収納スペースが あればいいと思います・・・ 旦那が言うように私がおかしいんでしょうか?
- ブック全体(シートは毎月増えます)を検索するには
VBAを勉強中です。 B列に入力された日付から、 例えば2012年3月1日~31日を指定して該当があれば、 行全体をコピーして実行したページにある表に貼りつけるマクロを組みたいと思っています。 (さらに不必要な項目は削除したい!&自動集計も) 検索は実行シートより前にあるシート全体で、 かつ、シートは毎月増えるので、具体的な指定はできません。 このような状況であれば、どんな関数を使用するのが良いですか? 検索する日付を指定するのにメッセージボックスを使用するなど、 手間があることは構いません。 どうとりかかるか、ヒントをいただければと思います。 よろしくお願いします。 Excel2007 /Windows Vistaを使用しています。
- ベストアンサー
- Visual Basic
- mickpeko
- 回答数8
- 年齢の計算について
いろいろ調べましたが、なかなか分からないので質問させていただきます。 エクセルのVBAでユーザーフォーム内にテキストボックスを3つ配置しました。 それぞれのテキストボックスは以下のようにしています。 テキストボックス1 基準日の入力 (2012/4/1 など) テキストボックス2 生年月日の入力 (1980/5/10 など) テキストボックス3 基準日での年齢を表示(自動表示) テキストボックス1、2に日付を入力した場合にテキストボックス3に年齢が自動で表示される といった内容です。 そこで、以下のようにプログラムしましたが、基準日を過ぎた日付をテキストボックスに入力して しまった場合にエラーになって止まってしまいます。 そこで、テキストボックス2にテキストボックス1の基準日を過ぎた日付を入れてしまったときに エラーメッセージがでるようにしたいのですが、どうすればよいでしょうか? また、文字などを入れてしまった場合には、エラーメッセージが出ますが、和暦(例:60/4/10) など入れてしまった場合にもエラーになり止まってしまいます。 このような場合(yyyy/mm/dd以外の入力の場合)にもエラーメッセージが出るようにするには どうすればよいでしょうか? Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean) If TextBox2 = "" Then Exit Sub Else If Not (IsDate(Me.TextBox2)) Then MsgBox "日付を入力してください" & Chr(10) & "例(2002/4/1)", vbCritical TextBox2 = "" Cancel = True Exit Sub Else TextBox3.Value = Evaluate("datedif(""" & TextBox2.Value & """,""" & TextBox1.Value & """,""y"")") End If End If End Sub 何卒よろしくお願いします。
- ベストアンサー
- Visual Basic
- vbavbavba
- 回答数3
- 手数料計算(エクセル)
エクセルを使い、手数料の計算をしたいです。 セルA1が「a」で、かつセルB1が以下の範囲内のとき⇒ 0.01≦B1≦0.99 ⇒ 0.10 1.00≦B1≦9.99 ⇒ 0.25 10.00≦B1≦24.99 ⇒ 0.50 25.00≦B1≦49.99 ⇒ 0.75 50.00≦B1≦199.99 ⇒ 1.00 200≦B1 またはセルA1が「b」のとき ⇒0.05 上記の式を一つのセルの中に入れて、結果⇒の数値を表示させるようにしたいです。 どなたかわかる方ご回答宜しくお願いします。
- ベストアンサー
- オフィス系ソフト
- goo41141141
- 回答数4
- 狭い土地で建てる吹き抜けと中庭
3?坪(30~40くらい)で自由設計で家を建てようと思っています。 元々あるモデルハウスを参考に見に行ったのですが 大体一階にリビング・キッチン・和室・トイレ・お風呂 二階に洋室3部屋の普通の間取りでした。 私は普通の感じでいいのですが旦那が嫌みたいで 吹き抜けと中庭を作りたい。 無いんだったら家はやめると言います。 でもあまり広くない土地に そんな使わないスペースを作って勿体無くないでしょうか? 旦那も私もガーデニングは全くしません! 私はスペースを有効に使っていきたいです 旦那が吹き抜けと中庭を作りたい理由は 広い家に見えるからと言っています・・・ 実際どうなんでしょうか? お前は想像力がないから考えれないだけ お前と喋ってたら頭が痛くなるとまで言われました・・・ ずっと付き合っていく家だから 普通に住みやすく快適で広々した家がいいです。 自由設計だと出来てからじゃないと わからないし やっぱり狭いから嫌だなんて 言えませんよね・・・ 広い土地なら吹き抜けや中庭があっても いいと思いますが・・・ 狭い土地でそんな家にして 狭くならないんでしょうか? 不便にならないでしょうか? 私は普通に考えたら そのスペース分部屋を広くしたり収納スペースが あればいいと思います・・・ 旦那が言うように私がおかしいんでしょうか?
- ある条件を加えてもマクロをちゃんと動かしたい
Private Sub Worksheet_Change(ByVal Target As Range) Dim i As Long If Target.Count <> 1 Then Exit Sub If Not IsNumeric(Target.Value) Then Exit Sub If Target.Value <> 1 Then Exit Sub If Intersect(Target, Range("W:W, AC:AC, AQ:AQ, AW:AW")) Is Nothing Then Exit Sub i = Target.Column - 6 ' Debug.Print Target.Address & " " & Target.End(xlToLeft).Column If i < 1 Then Exit Sub Target.Offset(0, i - Target.Column).Resize(1, 5).Copy Application.EnableEvents = False Target.PasteSpecial Paste:=xlPasteAll Application.CutCopyMode = False Application.EnableEvents = True Target.Select end sub 上のコードはW列、AC列、AQ列、AW列に1と入力すると、入力セルから みて6つ左から5つのデータがコピーされるマクロです。ここでAK列、BE列からみて8つ左から5つのデータをコピーする 条件を付加したいのですがうまくいきません。 If Intersect(Target, Range("AK:AK, BE:BE")) Is Nothing Then Exit Sub i = Target.Column - 8 ' ↑ このコードを追加する感じです。 この条件を付加しなければうまく動くのですが、付加して何とか動かしたいと考えています。 何か良い方法があればおしえていただけると幸いです。
- ベストアンサー
- オフィス系ソフト
- kokorororo
- 回答数2
- VBAに関する質問
現在、Excel上にてVBAを習得しているのですが、以下の操作ができないため質問致します。 条件式に関して、「現在のセルとB1セルが一致」のような場合、 ActiveCell.Value = Range("B1").Value などとすると思いますが、上式の右辺に範囲を指定(ex. Range("B1:D5"))する方法はないでしょうか? つまり、現在のセルと範囲指定したセル中の「いずれか1つ以上と一致する」場合と、「すべて異なる」場合とで場合分けしたいのですが・・・。 VBAを昨日から始めた初心者なため、言葉の定義が曖昧な部分もあるかと思いますがご了承ください。
- ベストアンサー
- オフィス系ソフト
- yama_nishi
- 回答数2
- 【ご質問】Excel2003のVBA作成について
Excel2003のVBA作成について、ご教授ねがいます。期限もなく本当に困っております。 ■ 実現したいこと Excelシートの1シート目にあるデータを所属コード毎に振り分け、自動で2シート目、3シート目に振り分けたい。 ※1シート目のデータ自体は、所属コード毎に既にソートされている状態 (1) Excelの1シート目に以下のような全データ1000件程度ある。 所属コード/所属名/個人番号/個人名 001/東京/111/山田華子 001/東京/112/鈴木太郎 002/大阪/331/安井徹 005/福岡/444/山下健二 (2) 所属コード毎に2シート目、3シート目に振り分けたい。 2シート目:001/東京/123/山田華子 001/東京/112/鈴木太郎 3シート目:002/大阪/331/安井徹 4シート目:005/福岡/444/山下健二 ■ 環境 WindowsXP、office2003 ■ スキル 簡単なコードを読み・修正ことができる程度です。1からコードを作成するスキルはありません。 ■ 補足 Excel・Access、どちらでも構いません。 同様のファイルが100個、所属が1200ほどあるため、マンパワーでは難しく、プログラムにてできたらと思っております。宜しくお願いいたします。
- 締切済み
- その他(プログラミング・開発)
- winee
- 回答数3
- エクセルの入力について教えてください!
いつも大変お世話になっています。 エクセルについて教えていただきたいのですが、 A1 abc12345 D1 12345 A2 abc678 D2 678 A3 abc9101 D3 9101 A4 abc0112 D4 0112 と入力したい場合、現在はAのセルに予めabcと入れておいて 数字をAとDのセルに1回ずつ貼り付けて入力しています。 この入力をAまたはDのどちらかに入力するだけで連動するような 方法はないでしょうか? 同じ数値や文字であればA1=D1でいいのでしょうが、 頭に別の文字をつけていきたい場合がわかりません・・・。 ご指導よろしくお願いいたします。
- エクセルのマクロについて教えて下さい。
資料作成の為に、マクロを組んでいるのですが、どうしてもできない部分があり、 ご教授頂きたく書きこませて頂きます。 私が行いたいのは、2種のブック(1ブック,2ブックとして)を用意して、 2ブックのC列にある文字列を1ブックのC列に検索をかけて、該当する物があれば、 セルの塗りつぶしを行う。と言う動作です。 ですが、2ブックのC列の取り込みがうまく出来ません。 range(C)と書いてもエラーが出てしまします。 何卒、ご教授のほど、宜しくお願い致します。 Sub selectfoundsheets() For Each s In Worksheets vx = MsgBox(s.Name & " を検索しますか?", vbYesNo) If vx = vbYes Then s.Select Set c = Cells.Find(What:=" ") 'ここに2ブックのC列を取り込みたいのです。 If Not c Is Nothing Then f = c.Address Do With c.Interior .ColorIndex = 6 .Pattern = xlSolid .PatternColorIndex = xlAutomatic End With Set c = Cells.FindNext(c) Loop While Not c Is Nothing And c.Address <> f End If End If Next s End Sub
- EXCELでFile名を対象セルに入力する方法
VBA勉強中です。 エクセルの対象セルに、対象ファイル名を入力するVBAを作りたいのですが、 うまくできません。。。 やりたいことは↓↓↓ ---------------------- 【1】ファイル名を対象セルに入力する 1.「ファイル名取得」ボタンをクリック 2.「ファイルを選択してください」ウィンドウ表示 ※.ここで、ファイル種類を制限 1) 画像ファイルのみ選択の場合 2) 全てのファイルを選択可能にする場合 3.ファイルを選択、「OK」をクリック 4.対象セルに、ファイル名が入力される(拡張子付) ---------------------- また、 以下もできると最高に嬉しいです!! ---------------------- 【2】選択したファイルのコピーが指定フォルダに保存される 1.デスクトップに「data」というフォルダが作成される 2.選択したファイルのコピーが「data」フォルダに保存される ---------------------- どなたか教えて頂ければ嬉しいです。 よろしくお願いいたします。
- ベストアンサー
- Visual Basic
- oo_mosaki
- 回答数3
- EXCELでFile名を対象セルに入力する方法
VBA勉強中です。 エクセルの対象セルに、対象ファイル名を入力するVBAを作りたいのですが、 うまくできません。。。 やりたいことは↓↓↓ ---------------------- 【1】ファイル名を対象セルに入力する 1.「ファイル名取得」ボタンをクリック 2.「ファイルを選択してください」ウィンドウ表示 ※.ここで、ファイル種類を制限 1) 画像ファイルのみ選択の場合 2) 全てのファイルを選択可能にする場合 3.ファイルを選択、「OK」をクリック 4.対象セルに、ファイル名が入力される(拡張子付) ---------------------- また、 以下もできると最高に嬉しいです!! ---------------------- 【2】選択したファイルのコピーが指定フォルダに保存される 1.デスクトップに「data」というフォルダが作成される 2.選択したファイルのコピーが「data」フォルダに保存される ---------------------- どなたか教えて頂ければ嬉しいです。 よろしくお願いいたします。
- ベストアンサー
- Visual Basic
- oo_mosaki
- 回答数3
- Excel のグラフで両側に目盛りを出す
Excel のグラフで折れ線を作りたいのですが 月 項1 項2 ------------ 1月 100 1 2月 105 3 3月 102 2 ... ... のデータがあるとします 項2 のデータに掛け算をすれば、ある程度、 値をそろえられますが 複合グラフのように 項1の目盛りを左側に、項2の目盛りを右側に 出すやり方はありますか ある場合、方法を教えてください | | 項1 | |項2 | | | | ----------- 月
- ベストアンサー
- その他MS Office製品
- neko-007
- 回答数1