Wendy02 の回答履歴
- evaluateを使ったユーザ定義関数でエラー
個人用マクロブックの標準モジュールに Function Eval(str As String) As Single Eval = Evaluate(str) Application.Volatile End Function と記入し、文字列を数式に変換する関数Eval()を定義しました。 それを使用して、B7に入力された値によって、計算式を振り分ける数式を =PERSONAL.XLSB!Eval(VLOOKUP($B7,$AQ$2:$BA$53,2,0)) とし、計算を振り分けていたのですが 振り分け先の式(vlookupで検索した式)が以下の式の時valueエラーになってしまいました。 IF(MONTH(Q1)=5,ROW(),COLUMN()) 尚 IF(MONTH(Q1)=5,,COLUMN()) IF(MONTH(Q1)=5,100,COLUMN()) IF(MONTH(Q1)=5,SUM(A1:A2),COLUMN()) としたときはエラーになりません IF(MONTH(Q1)=5,"100",COLUMN())はエラーになります。 何故エラーになるのか、修正方法はどうしたらいいのかわかりません。 ご存知の方いらっしゃいましたら、どうかご教授願います。
- ベストアンサー
- その他MS Office製品
- k-logi
- 回答数3
- エクセル マクロ 表示ボックス?
エクセル2002を使用しています。 「コントールツールボックス」の「スクロールバー」を動かしている際に 表示ボックス?で現在の数値を表示させることができるコマンドがあるのでしょうか? よくファイルやメニューにマウスをのせると表示される添付のような表示ボックスです。 リスクしているセルは、別シートに配置しているため、数値を把握するには、 シートを変える必要があるので、できれば表示メッセージ系のマクロなどあったら助かります。 ご教授して頂けると助かります。
- 他のMDBのマクロを実行する方法
いつもご指導ありがとうございます。 マクロ実行中のMDBファイルから、他のMDBのマクロを実行する方法を教えてください。 (環境はWindows7 Access2007です) 過去を検索して C:\Program Files\Microsoft office\office12\MSACCESS.EXE C:\work\作成.mdb/xマクロ1 で起動→マクロ実行は成功したのですが 過去検索の中の Startup コマンド ライン オプション を利用して Shell("msaccess.exe c:\work\作成.mdb /x マクロ1") がどうしても不成功に終わります。 できれば、他のMDBが起動せず、「裏」・・(すみません用語がわからなくて)で実行できたらと考えているのですが。 宜しく、ご教授・ご指導をお願い致します。
- 締切済み
- オフィス系ソフト
- haru_usagi
- 回答数1
- VBAを使用しコンボボックスにリストを設定する方法
いつもお世話になっております。 現在コンボボックスにリストを設定する方法について悩んでいます。 バージョンはExcel2003です。 コンボボックスに指定したい列がA列とB列なら通常下記のようにすると思います。 With ComboBox1 .ColumnCount = 2 .ColumnWidths = "50;50" .RowSource = "Sheet1!A2:B5" End With ただ今回はA列とC列をリストに設定したいと思い、下記のような設定にしたのですがうまく設定できません。 With ComboBox1 .ColumnCount = 2 .ColumnWidths = "50;50" .RowSource = "Sheet1!A2:A5;C2:C5" End With そもそもRowSource は連続的なデータを設定する場合のプロパティだと思うのですが、このように飛んだ列のデータを効率的に指定するにはどのようにするのが一番いいのでしょうか? 分かる方がいっらしゃいましたらご教授願います。
- ベストアンサー
- オフィス系ソフト
- tomokidayo
- 回答数1
- 「キモい」人の付き合い方
昨日、テレビで学校でのいじめのシーンを見てわいた疑問なのですが・・・ 「いじめは良くない」というのは紛れも無い事実です。 ただ、”普通”では無い人(性同一性障害・不細工・障害者・その他個性が強いマイノリティな方々)と出会った際に、気持ち悪さや不快感を感じることも判らなくはありません。 「キモい」と感じる相手と付き合わなければならない場合、どう対処・行動することが道徳的に正しいのでしょうか? また、マイノリティな方々(いじめ対象になる可能性がある方)は人付き合いの際、どうした方がよいのでしょうか?
- ベストアンサー
- いじめ相談
- hiro-shimi
- 回答数20
- セレクトしたセルをファイル名におこす
同じフォームの複数のファイルがあり、セレクトしたセルをファイル名におこします。 Const BeforePath = "C:\Documents and Settings\Administrator\デスクトップ\test" Const AfterPath = "C:\Documents and Settings\Administrator\デスクトップ\test\変更後\" Sub FileNameChange() Dim fso Set fso = CreateObject("Scripting.FileSystemObject") Application.ScreenUpdating = False Dim fl For Each fl In fso.GetFolder(BeforePath).Files If InStr(LCase(fl.Name), ".xls") > 0 Then With Workbooks.Open(fl.Path) .SaveAs AfterPath & Range("sheet1!A1") & "-" & Range("sheet1!D5") & ".xls" .Close End With End If Next Application.ScreenUpdating = True End Sub この時、D5のセルに入っているのは、ユーザ定義の日付で設定された日付(2011/2/1)です。 このマクロを実行すると、エラーが出ます。 ユーザ定義の日付は拾えないのでしょうか?
- 締切済み
- Visual Basic
- micchi5555
- 回答数5
- 御気の毒な判定
機種選定等の御質問へ妥当な回答が提供されているのに、明らかに不適切な側の回答がBestAnswerになっている、という場面を何度も御見掛けしましけど、それを報告させて貰う事は出来ないのかしら?
- ベストアンサー
- このQ&Aコミュニティーについて
- SakuraiMisato
- 回答数6
- 御気の毒な判定
機種選定等の御質問へ妥当な回答が提供されているのに、明らかに不適切な側の回答がBestAnswerになっている、という場面を何度も御見掛けしましけど、それを報告させて貰う事は出来ないのかしら?
- ベストアンサー
- このQ&Aコミュニティーについて
- SakuraiMisato
- 回答数6
- 御気の毒な判定
機種選定等の御質問へ妥当な回答が提供されているのに、明らかに不適切な側の回答がBestAnswerになっている、という場面を何度も御見掛けしましけど、それを報告させて貰う事は出来ないのかしら?
- ベストアンサー
- このQ&Aコミュニティーについて
- SakuraiMisato
- 回答数6
- 奇数・偶数ページごとに差し込み印刷を設定する方法
ワードの差し込み印刷を使って、奇数ページ・偶数ページの それぞれのページに別の内容を差し込みたいのですが上手くいかないので教えてください フィールドの内容がA,B,C,D・・・だったとして 一ページ目にA、二ページ目にB、三ページ目にC、四ページ目にD・・・という風にしたいのですが 奇数ページ、NextRecord、偶数ページで差し込もうとすると 一ページ目にA、二ページ目にB、三ページ目にB、四ページ目にC・・・となってしまいます
- 締切済み
- その他MS Office製品
- mewtwokame
- 回答数2
- Adobe PDF 日本語縦書文書のデータ化
Adobe Reader で作成した日本語縦書き文書のPDFをデータ化することは可能でしょうか?もし、可能であれば、文字化けさせずにデータ化する方法を教えて下さい。
- ベストアンサー
- オフィス系ソフト
- MickeyMockey
- 回答数8
- Adobe PDF 日本語縦書文書のデータ化
Adobe Reader で作成した日本語縦書き文書のPDFをデータ化することは可能でしょうか?もし、可能であれば、文字化けさせずにデータ化する方法を教えて下さい。
- ベストアンサー
- オフィス系ソフト
- MickeyMockey
- 回答数8
- Adobe PDF 日本語縦書文書のデータ化
Adobe Reader で作成した日本語縦書き文書のPDFをデータ化することは可能でしょうか?もし、可能であれば、文字化けさせずにデータ化する方法を教えて下さい。
- ベストアンサー
- オフィス系ソフト
- MickeyMockey
- 回答数8
- ExcelのVBAで複数行削除を行う場合
Excel2007のVBAで複数行を削除する方法を教えて下さい。 Excel2003で使用していたマクロが使えなくなってしまいました・・・。 下記のようなExcelシートに対して複数行ずつ行を削除し、削除対象が無くなるまで 削除処理を行うか、指定した行まで削除処理を行うという事をしたいのですが うまく動きません。 例 A列 B列 C列 D列 E列 1行目 aaa1 bbb1 ccc1 2行目 ccc2 3行目 ccc3 4行目 ccc4 5行目 aaa2 bbb2 ccc1 6行目 ccc2 7行目 ccc3 8行目 ccc4 例に対しての結果 A列 B列 C列 D列 E列 1行目 aaa1 bbb1 ccc4 2行目 aaa2 bbb2 ccc4 例に対して、複数行(指定した行数ここでは3行)の削除を行いたいのですが、 単純に複数行(3行)ずつ削除していくのではなく。 1行目や5行目にあるように文字や情報が入力されているA列とB列の情報は 残しつつ、4行目のC列以降の列の情報はすべて活かしていくという事をしたいのです。 Excel2003の時に使用していたVBAは以下のものです。 Sub 行を削除するマクロ() Workbooks("xxxx.xlsx").Activate '処理を行いたいExcel ※1 n = n + 0 LastRow = 2138 '処理を終了させたい行 ※2 Sheets("Sheet1").Select '処理を行いたいシート ※3 Do Until (n > LastRow) Rows(n + 4).Delete Shift:=xlsiftUp '削除したい行指定 ※4 n = n + 3 Loop End Sub 皆様の良いアドバイスやお知恵をお貸しください。 よろしくお願いします。
- エクセルでのソート
こんにちは いつもお世話になっています エクセルのソートについて教えてください。 以下のようなデータがA列にあります。 Sheet1 Aグループ 愛知県 青森県 秋田県 Bグループ 石川県 茨城県 岩手県 愛媛県 Cグループ 大分県 大阪府 岡山県 沖縄県 香川県 鹿児島県 B列以降にデータがあり、複数グループが複数シートに渡ってあります。 ソート手順は例えば、Aグループ、愛知から秋田を範囲選択しソート、次にB、石川から愛媛を範囲選択しソート、以下同じ、Sheet1が済んだらSheet2へ、という作業手順です。 グループごとの件数は異なるが、ソートする優先キー(列)は第一がB列、第二がC列で同じです。 ソート処理自体はマクロの自動記録でやっていますが、グループごとに範囲選択しマクロを使う手順です。 ここで質問ですが、複数シートに複数グループがあります。各シートの各グループの件数は不一致です。これらのグループをなるべく簡単に上記のような同一基準でソートするにはどうすればいいでしょうか。
- ExcelのVBAで複数行削除を行う場合
Excel2007のVBAで複数行を削除する方法を教えて下さい。 Excel2003で使用していたマクロが使えなくなってしまいました・・・。 下記のようなExcelシートに対して複数行ずつ行を削除し、削除対象が無くなるまで 削除処理を行うか、指定した行まで削除処理を行うという事をしたいのですが うまく動きません。 例 A列 B列 C列 D列 E列 1行目 aaa1 bbb1 ccc1 2行目 ccc2 3行目 ccc3 4行目 ccc4 5行目 aaa2 bbb2 ccc1 6行目 ccc2 7行目 ccc3 8行目 ccc4 例に対しての結果 A列 B列 C列 D列 E列 1行目 aaa1 bbb1 ccc4 2行目 aaa2 bbb2 ccc4 例に対して、複数行(指定した行数ここでは3行)の削除を行いたいのですが、 単純に複数行(3行)ずつ削除していくのではなく。 1行目や5行目にあるように文字や情報が入力されているA列とB列の情報は 残しつつ、4行目のC列以降の列の情報はすべて活かしていくという事をしたいのです。 Excel2003の時に使用していたVBAは以下のものです。 Sub 行を削除するマクロ() Workbooks("xxxx.xlsx").Activate '処理を行いたいExcel ※1 n = n + 0 LastRow = 2138 '処理を終了させたい行 ※2 Sheets("Sheet1").Select '処理を行いたいシート ※3 Do Until (n > LastRow) Rows(n + 4).Delete Shift:=xlsiftUp '削除したい行指定 ※4 n = n + 3 Loop End Sub 皆様の良いアドバイスやお知恵をお貸しください。 よろしくお願いします。
- ExcelのVBAで複数行削除を行う場合
Excel2007のVBAで複数行を削除する方法を教えて下さい。 Excel2003で使用していたマクロが使えなくなってしまいました・・・。 下記のようなExcelシートに対して複数行ずつ行を削除し、削除対象が無くなるまで 削除処理を行うか、指定した行まで削除処理を行うという事をしたいのですが うまく動きません。 例 A列 B列 C列 D列 E列 1行目 aaa1 bbb1 ccc1 2行目 ccc2 3行目 ccc3 4行目 ccc4 5行目 aaa2 bbb2 ccc1 6行目 ccc2 7行目 ccc3 8行目 ccc4 例に対しての結果 A列 B列 C列 D列 E列 1行目 aaa1 bbb1 ccc4 2行目 aaa2 bbb2 ccc4 例に対して、複数行(指定した行数ここでは3行)の削除を行いたいのですが、 単純に複数行(3行)ずつ削除していくのではなく。 1行目や5行目にあるように文字や情報が入力されているA列とB列の情報は 残しつつ、4行目のC列以降の列の情報はすべて活かしていくという事をしたいのです。 Excel2003の時に使用していたVBAは以下のものです。 Sub 行を削除するマクロ() Workbooks("xxxx.xlsx").Activate '処理を行いたいExcel ※1 n = n + 0 LastRow = 2138 '処理を終了させたい行 ※2 Sheets("Sheet1").Select '処理を行いたいシート ※3 Do Until (n > LastRow) Rows(n + 4).Delete Shift:=xlsiftUp '削除したい行指定 ※4 n = n + 3 Loop End Sub 皆様の良いアドバイスやお知恵をお貸しください。 よろしくお願いします。
- エクセルマクロでの計算について(2007)
エクセルマクロ初心者です。 試行錯誤しながら作成しています。 セルB1には直接計算式を入れており(=(480+(A1)*10)/480*I1) その結果次第(70以下)でセルC1に計算結果(=(75-B1)*.48)をいれて 70より大きければセルC1に"-"を入れたいのですが上手く計算してくれません。 この処理を約65個のセルにしようと思っています。(セルの列はバラバラです) どうすればよいかご教示ください。 ちなみに現在作成している文は Private Sub 計算_Click() Worksheets("sheet2").Select If Range("B1").Value <= 70 Then Range("C1").Formula = "=(75 - (B1)) * 0.48" Else: Range("C1").Value = "-" End If End Sub よろしくお願いいたします。
- ベストアンサー
- その他MS Office製品
- chiwa123456
- 回答数9
- EXCELのマクロで照合して計算する
現在シート1に以下のデータがあります。 これをシート2、シート3に次のようにしたいです。 sheet1 A B C D E 1 日付 名前 製品 作業 時間 2 2011/1/1 鈴木 りんご 1 1 3 2011/1/1 荒木 いちご 1 1 4 2011/1/1 佐藤 くり 1 1 5 2011/1/5 鈴木 りんご 2 2 6 2011/1/5 渡辺 りんご 1 1 7 2011/1/6 金子 くり 4 2 8 2011/1/7 荒木 いちご 2 2 9 2011/1/8 荒木 りんご 1 3 10 2011/1/9 小杉 めろん 1 1 11 2011/1/10 鈴木 りんご 3 1 12 2011/1/11 荒木 いちご 4 1 13 2011/1/11 佐藤 くり 4 2 14 2011/1/11 鈴木 りんご 4 1 15 2011/1/11 渡辺 りんご 2 2 sheet2 A B C D E 1 日付 名前 製品 作業 時間 2 2011/1/6 金子 くり 4 2 3 2011/1/11 荒木 いちご 4 4 4 2011/1/11 佐藤 くり 4 3 5 2011/1/11 鈴木 りんご 4 5 sheet3 A B C D E 1 日付 名前 製品 作業 時間 2 2011/1/5 渡辺 りんご 1 1 3 2011/1/8 荒木 りんご 1 3 4 2011/1/9 小杉 めろん 1 1 5 2011/1/11 渡辺 りんご 2 2 以上のようにしたいです。 条件としては、作業「4」があり「名前」と「製品」が一致しているやつはシート2にコピーして作業時間を足したいです。 このとき日付は作業「4」の日付で「名前」と「製品」が一致している時間だけ合計だしたいです。 また、シート1で作業「4」がないデータはシート3にコピーしたいです。 また、作業「4」は完了を意味しております。よって、必ず「名前」と「製品」が一致するのは1個しかありません。 他に作業「1」「2」「3」とありますがこれは多数でてきます。 例で言いますと、シート1で「鈴木」と「りんご」で作業「4」が14行目にあります。 よって、これはシート2にコピーし合計値をだします。 2、5、11、14行目にあり合計すると5時間になります。 またシート1の6行目の「渡辺」と「りんご」は作業「4」がありませんのでシート3にコピーします。 以上をマクロでやりたいのですがいまいちやり方がわかりません。 よろしくお願いします。
- Excel VBA「If else」の使い方
Excelで管理台帳を作っています コマンドボタンをクリックすると、元データ「受給者情報」シートから今月利用終了となる人のリストを「利用終了者」シートに抽出できるようにしています 正しい作り方ではないのかもしれませんが、これでちゃんと抽出できているから抽出自体はこれでも問題ないと思います(^_^;) それはいいのですが、対象となる人がいない場合、抽出先の「利用終了者」シートにはタイトル行しか出ません。 それでも構わないのですが、できたら抽出データがない場合(A2セルより下のデータがない場合)は、「今月で終了の利用者はいません」とメッセージを出し、「top_page」シートに移動させたいのです そのやり方がうまくいきません 現時点はこのように入れています Private Sub CommandButton2_Click() Worksheets("利用終了者").Select Worksheets("利用終了者").Range("A:M").Clear With Worksheets("受給者情報") .Range("A:M").Copy Worksheets("利用終了者").Range("A1") .Range("A:Q").AdvancedFilter _ Action:=xlFilterCopy, _ criteriarange:=.Range("U1:V3"), _ CopyToRange:=Worksheets("利用終了者").Range("A:M"), _ unique:=False End With MsgBox "今月末で終了の利用者です!", vbOKOnly + vbInformation, "確認" If MsgBox("印刷しますか?", vbYesNo + vbQuestion, "印刷") = vbNo Then Exit Sub End If Worksheets("利用終了者").PrintOut Sheets("top_page").Select Range("a1").Select End Sub If elseを使うんだろうな、というのは何となくわかるのですが、どこにどう入れたらちゃんと反応するのかわかりません。 一度、 (前略) If Application.CountA(Range("A2")) = 0 Then MsgBox "今月末で終了の利用者はいません", vbOKOnly + vbInformation, "確認" Else MsgBox "今月末で終了の利用者です!", vbOKOnly + vbInformation, "確認" If MsgBox("印刷しますか?", vbYesNo + vbQuestion, "印刷") = vbNo Then Exit Sub End If Worksheets("利用終了者").PrintOut End If Sheets("top_page").Select Range("a1").Select End Sub と入れてみたのですが、これだと2行目以降もデータがあっても、「今月末で終了の利用者はいません」となってしまいます 2行目以降にデータがある場合は「今月末で終了の利用者です!」とメッセージボックスを出し、2行目以降にデータがない場合は「今月末で利用終了の利用者はいません」とメッセージボックスを出したいです そのやり方を教えてください。お願いします ちなみにバージョンはExcel2010です
- ベストアンサー
- Visual Basic
- oneroomdisco
- 回答数3