Excel(エクセル)
- Excel2002のVBで範囲が減らされます
jcb3092で御座います。 Excel2002のVB記述方法についてご教授頂きたくお願い申し上げます。 ここにC5からN157までの表が御座います この中のf5からf157に登録者氏名を書き込みます 登録者合計を 関数 =COUNTIF($F$5:$F$157,"*")でF3に表示 1名の解約処理を実行すると=COUNTIF($F$5:$F$157,"*")の157が156に減っています。 2名なら155と減ります。 この処理を実行しても減らされない記述方法をご教授頂きたくお願い申し上げます。 「 記述内容 」 Sub 解約者リストへ書き込み() Worksheets("登録リスト").Select '前処理を幾つか If Selection.Count > 6 Then MsgBox "解約者1名の氏名を選択してください", , "*****デイケア" Range("B5").Select Exit Sub ElseIf Selection.Column <> 6 Or Selection.Value = "" Then MsgBox "解約者の氏名を選択してください", , "*****デイケア" Exit Sub ElseIf vbOK <> MsgBox(" " & Selection.Value & " 様 の解約処理を行います", vbOKCancel) Then Exit Sub End If '範囲を指定してコピーする Range(Cells(Selection.Row, "C"), Cells(Selection.Row, "n")).Copy _ Destination:=Sheets("解約者リスト").Range("C65536").End(xlUp).Offset(1) '行を削除する Selection.EntireRow.Delete shift:=xlShiftUp '-----(1) End Sub 使用機種:DELL Inspiron6000 OS :WindowsXP Pro SP3 毎度質問ばかりで申し訳ありません。 よろしくお願い申し上げます。
- ベストアンサー
- Excel(エクセル)
- jcb3092
- 回答数2
- エクセルの計算結果の表示位置について
いつもお世話になっております。 エクセル2007を使用しています。 エクセルでの計算結果は、標準で数字は右詰、文字列は左詰、エラーはセンター表示されると記憶しています。 例えばIF関数等を使って IF(A1=""、"-"、・・・)なんて関数を使った場合、数値は右詰、-は左詰で表示されて表として恰好悪くなります。 すみません文章があまりうまく無いもので、要点だけを書くと、文字列を中詰、数字を右詰にするにはどうすればよいでしょうか? よろしくお願いします。
- ベストアンサー
- Excel(エクセル)
- genta1019boston
- 回答数2
- マクロ(VBA)で写真のサイズ変更
簡単に言えば、写真のサイズを変更するだけです。 ただ、1枚のシートに3枚写真を配置します。 ┌────┐┌─┐ │ │└─┘ │ │┌─┐ └────┘└─┘ このように写真のサイズを変更したいのです。 希望としては、大きい方で1つのマクロ、小さいほうで1つのマクロが良いです。 変更方法はシートに貼り付けた写真を選んで、一枚ずつの変更で構いません。 現在、写真を貼り付けるセルは結合して一枠にしている状態です。 いろいろ調べて試した結果、セルに合わせてサイズを変更すると写真がセルの結合を無視して張り付いてしまうので、それを考慮していただけると助かります。 当方、マクロに関しては不慣れなので、式を貼り付けるだけで良いようにしていただけると幸いです。
- 締切済み
- Excel(エクセル)
- yuma_osamura
- 回答数1
- 小数点以下の取り扱い
通常=1/6と入力すると0.17(表示桁2桁)と表示されると思います。 =rounddown(1/6,2)として0.16にするのは分かります。 しかし、毎回入力の都度rounddownを入力するのも手間がかかりますし、忘れてしまいます・・・。 プルダウンして行く方法もありますが、セルに=1/6とすると計算結果が0.16となる方法はありませんでしょうか?
- ベストアンサー
- Excel(エクセル)
- quindecillion
- 回答数3
- エクセルの式で困っています。
エクセルの初心者に等しいです。教えて下さい。 例えばA1のセルに(パイン)とあったら、B1のセルの金額を見て10万以下なら500円、10万~20万なら1500円、20万~30万なら3000円、A1のセルが(桃)とあったら、B1のセルの金額を見て10万以下なら1000円、10万~20万なら2000円、20万~30万なら4000円 といった式を入れたいのですが、IFではややこし過ぎて頭が回りません。 関数等でうまくやる方法あれば教えて下さい。 お手数をおかけしますが宜しくお願いします。
- ベストアンサー
- Excel(エクセル)
- wanko_ron
- 回答数7
- フォルダ名表示をするには?
D:\1111\2222\3333\aaa.xls という状態の時、Excelのセル内に「2222」を表示させるにはどのようにすればよいでしょうか? 自ファイルのあるフォルダ「3333」の表示は =MID(CELL("filename"), FIND("♪",SUBSTITUTE(CELL("filename"),"\","♪",LEN(CELL("filename"))-LEN(SUBSTITUTE(CELL("filename"),"\",""))-1))+1, FIND("♪",SUBSTITUTE(CELL("filename"), "\","♪",LEN(CELL("filename"))-LEN(SUBSTITUTE(CELL("filename"),"\",""))))-FIND("♪", SUBSTITUTE(CELL("filename"),"\","♪",LEN(CELL("filename"))-LEN(SUBSTITUTE(CELL("filename"), "\",""))-1))-1) という形で出来るということは検索して出てきました。 開始位置と文字数の問題だと思いますが、どこをどう調節すれば上の階層のフォルダ名取得になるのかわかりません。 ご教授のほどお願い致します。 注:マクロを使う予定はありませんのでエクセルVBAマクロを使っての解答はお控えください。
- ベストアンサー
- Excel(エクセル)
- quindecillion
- 回答数2
- データベース更新時間を短くしたい
環境 EXCEL2003-Oracle Database 11g Release 2 Client(11.2.0.1.0) for Microsoft Windows(32-bit) excelマクロでデータベース更新時間を短くする方法を教えていただきたく。 オラクルのデータベースに作業時間の実績が登録されるAシステムがあります。 このAシステムはBシステムと連携しています。 Bシステムのチームコード変更は10/6までに対応される予定で、 それと連携してAシステム側もチームコード変更が必要になります。 Aシステム側の変更は、いろんなテーブルにチームコードが関連しているので、 暫定対策として、AからBにデータを渡すテーブルのみチームコードを変更しようとしています。 OSQLというツールで実績のチームコードを変更してもよいのですが、 編集で開いてしまうと、実績収集が停止してしまう為、実績を変更するexcelマクロを作成しました。 ところが、実際に動かしてみると、とても長い時間がかかってしまいます。(10分程度) 下記がマクロです。 マクロはいろんなサイトから寄せ集めたもので、私はマクロに関しては全くの初心者です。 なので、実際のコードでどこをどの様に変更したらよいかを教えていただきたく。 Private Sub man_Click() 'MANテーブルから登録されている実績をダウンロードする Sheets("man_koshin").Select Call ClearmanDisp 'oo4o用のオブジェクト変数の宣言 Dim OraSession As Object 'セッション Dim OraDatabase As Object 'データベース Dim rs As Object 'データセット(レコードセット) Dim rownum As Long Dim colnum As Integer Dim ID As String Dim ED As Long Dim SQL_STR As String Application.ScreenUpdating = False 'sheet2のA1セルを参照し、接続先を切り替える ID = Sheets("sheet2").Range("A1") 'セッションオブジェクトの生成 Set OraSession = CreateObject("OracleInProcServer.XOraSession") '接続環境 'oo4oデータベースオブジェクトの生成(DBへUserID:im、パスワード:intで接続) Set OraDatabase = OraSession.OpenDatabase(ID, "im/int", 0&) 'MANテーブルから2013.10以降の実績を取得する Set rs = OraDatabase.CreateDynaset("select * from MAN where DATE > '201310'", 0&) 'フィールド名の表示 For colnum = 0 To rs.Fields.Count - 1 ActiveSheet.Cells(1, colnum + 2) = rs(colnum).Name Next 'データの表示 rownum = 0 Do Until rs.EOF For colnum = 0 To rs.Fields.Count - 1 ActiveSheet.Cells(rownum + 2, colnum + 2) = rs(colnum).Value Next rs.MoveNext rownum = rownum + 1 Loop 'オブジェクトのクローズ rs.Close '各種オブジェクトの開放 Set rs = Nothing Set OraDatabase = Nothing Set OraSession = Nothing 'チームコードをAからBに変更。チーム名称の置換処理 Cells.Replace What:="A", Replacement:="B", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False '変更したチーム名称でMANテーブルを更新 On Error GoTo ERR_HANDLER 'oo4o用のオブジェクト変数の宣言 Dim OraSession As Object 'セッション Dim OraDatabase As Object 'データベース Dim rs As Object 'データセット(レコードセット) Dim rownum As Long Dim colnum As Integer Dim ID As String Dim SQL_STR As String ID = Sheets("sheet2").Range("A1") 'oo4oセッションオブジェクトの生成 Set OraSession = CreateObject("OracleInProcServer.XOraSession") 'oo4oデータベースオブジェクトの生成(DBへUserID:ID、パスワード:intで接続) Set OraDatabase = OraSession.OpenDatabase(ID, "im/int", 0&) 'oo4oデータセット(レコードセット)の生成(全データを返すレコードセットの生成) Set rs = OraDatabase.CreateDynaset("select * from MAN", 0&) 'データの更新 For rownum = 2 To 20000 If ActiveSheet.Cells(rownum, 5) = "" Then Exit For End If '更新対象データの検索 rs.Findfirst ("TIME=" & ActiveSheet.Cells(rownum, 5)) '編集モードに設定 rs.Edit For colnum = 1 To rs.Fields.Count - 1 Select Case rs(colnum).Type Case 10 rs(colnum).Value = ActiveSheet.Cells(rownum, colnum + 2) Case 8 rs(colnum).Value = CDate(ActiveSheet.Cells(rownum, colnum + 2)) Case Else rs(colnum).Value = ActiveSheet.Cells(rownum, colnum + 2) End Select Next rs.update Next 'オブジェクトのクローズ rs.Close QUIT_OPER: 'オブジェクト変数用に確保したメモリの開放 Set rs = Nothing Set OraDatabase = Nothing Set OraSession = Nothing Exit Sub End Sub データの更新を20000件分としているのでこれが遅くなっている要因です。 1日700件くらい実績があがるので1ケ月で実働20000件あれば十分かと考えました。 チームコード変更は、まとめて月末に実施しようと思っていますが、 時間がかかるのであれば、週(20000件→5000件程度)あるいは日(20000件→800件程度)単位でやるしかないかと思っています。
- ベストアンサー
- Excel(エクセル)
- 3620313
- 回答数1
- Excel 相対パス
Excelでvlookup関数を使っていますが 参照範囲が別ファイルです。 参照先が絶対パスになってしまいますが これでは他人にこのファイルを提供した場合つかえません。 そこで相対パスにしたいのですができません。 どうしたら良いのでしょうか? =VLOOKUP(C2,'C:\Documents and Settings\user1\管理\[20130000.xls]Sheet1'!$D$6:$E$634,2,FALSE) これを =VLOOKUP(C2,'./[20130000.xls]Sheet1'!$D$6:$E$634,2,FALSE) にしたい。
- ベストアンサー
- Excel(エクセル)
- LHS07
- 回答数5
- エクセル2007 複数条件で情報をピックアップ
Sheet1で条件をドロップダウンリストから選択し、 絞り込んだものに合致する金額を Sheet2の表から抽出して、Sheet1、E4の金額欄に表示させたいです。 (画像参照) 関数のみでの処理が可能でしょうか? その場合、どのような式を設定すればよろしいのでしょうか? よろしくお願いします。
- ベストアンサー
- Excel(エクセル)
- amayoyik
- 回答数4
- エクセル 平均値の算出方法(応用編)
いつもお世話になっています。 よろしくお願い致します。<(_ _)> 通常、エクセルでの平均値は (一例) =AVERAGE(A1:A100) で、算出しますが、 上記セルの数字を、別のセルに数字を入力することによって 柔軟的に平均値を算出したいのです。 具体的には、(どこでも構わないのですが) 「H1」のセルに「200 」と 入力すると、上記関数が =AVERAGE(A1:A200) となるようにしたいのです。 そもそも、関数でこのようなことは出きるのでしょうか? ご教授いただけると助かります。 よろしくお願い致します。
- ベストアンサー
- Excel(エクセル)
- totoro1104
- 回答数1
- エクセル・マクロのModuleについて教えください
マクロでModule1 Module2を指定して開きたいのですがうまく 行きませんどのようにすればよいのかお教えください。
- ベストアンサー
- Excel(エクセル)
- yama0192
- 回答数1
- マクロでの検索の仕方をお教えください。
24時間表示でデーター並んでいますが マクロで9:00:00検索をすると21:00:00もヒットしてしまいます セルの書式は yyyy/m/d h:mm 表示は 2013/8/29 9:00 セルには 2013/8/29 9:00:00 2013/8/29 10:00:00 1時間ごとに24時間500日くらいデータがA列にあります 21:00:00 にヒットしないようにしたいのです 宜しくお願いします。 またときにはオブジェクト変数またはWith ブロック変数が設定されていません。 というエラーになるときもありどうすればよいのかわかりません。 どうかよきアドバイスをお願いいたします。
- ベストアンサー
- Excel(エクセル)
- yama0192
- 回答数3
- エクセル初心者 関数について
すみません、教えてください! 毎日日付が変わる(現在はtoday関数になっています)内容は同じ帳票、を日々出力しているのですが、チェックシートのようなものですので、内容は変わらず、日付のみ変えたい帳票でして、今後、日々の出力をやめて、1週間分をまとめて出力したいのですが、today関数のところにどのような関数を入力すれば、1週間分まとめて出力されるのでしょうか?
- 締切済み
- Excel(エクセル)
- mizukino
- 回答数2
- 複数シートに入力する作業について
エクセルで様式が違う他のシートに同じデータを入れる作業は省略することはできないのでしょうか? 関数を使っても様式が違うのでできないと思います。 手入力しているので間違える可能性も高いので、 自動化できればいうことないのですが。
- 締切済み
- Excel(エクセル)
- AthlonXP
- 回答数2
- エクセル2010の「条件付き書式」
以前のバージョンのエクセルでカレンダーを作りました。日曜日のみ太字(そして赤文字)に変更したい旨,以下のページでお尋ねしたところ, #1の方から「条件付き書式」という方法を教えていただき,活用しています。 ↓ http://okwave.jp/qa/q4856736.html その後,エクセル2010にアップし,一部修正したいと思い,「ホーム」-「条件付き書式」-「セルの強調表示ルール」あたりで編集するのだろうと見当を付けたのですがそのあと,どうしたらいいか具体的な方法が分かりません。どなたか情報をいただければ幸いです。 なお,上記の質問ページにて #1の方から教えていただいた方法を以下の通り引用します。 --------------------------------------------------------------- (4)A1:A31を選択→書式→条件付き書式→「数式が」を選択,=WEEKDAY($A1,2)=7→書式→フォントタブで太字を選択→OK (5)追加→B1:B31を選択→書式→条件付き書式→「数式が」を選択,=WEEKDAY($A1,2)=7→書式→フォントタブで太字,色欄で赤を選択→OK ---------------------------------------------------------------
- ベストアンサー
- Excel(エクセル)
- Jerry_info_svs
- 回答数1
- Excelのマクロ名の並び順の法則は?
Excel2010を使用しています。 「開発」タブ→「マクロ」で開くウインドウ内でのマクロの並び順の法則がわかりません。 マクロを含む複数のブックを開くとなにがなんだかわからなくなります。 少なくともJISコード順ではなさそうです。 意図した順番に並べ替えたいのですが、これはどんな法則に基づいて並んでいるのでしょうか。
- ベストアンサー
- Excel(エクセル)
- noname#203404
- 回答数1
- エクセルで勤務表を別シートの週間勤務表連動するには
現在コピペでやっていますが楽にできる方法が知りたいのでどうぞ宜しくお願いします。 週間勤務表は名前Aさん=B4から~名前Kさん=B14まで C4:C14~I4:14までアルファーベットの勤務記号を連動したいです。 10/16~11/15勤務表は Aさん=名前A4 抽出、連動したいアルファーベットの範囲C4~AG4 Bさん=A7 Cさん=A10 Dさん=A13 Eさん=A16 Fさん=A19 Gさん=A22 Hさん=A25 Iさん=A28 Jさん=A31 Kさん=A34
- 締切済み
- Excel(エクセル)
- korn1013
- 回答数2
- マクロでデスクトップに書き出し
以下のスクリプトについて教えてください。 setで代入したことろはセルの内容がしっかり反映されていたのですが、 =になってからは、書き出されたテキストファイルに不備が出ました。 ググってみたところ、オブジェクト型(セルをまるごとなど)にはsetを使わないとダメとのことでした。 そこで、下記のスクリプトの IntFlNo = FreeFile Open StrFN For Output As #IntFlNo s = Replace(Worksheets("Sheet2").Range("A171").Text, "<br />", vbCrLf) Print #IntFlNo, s s = Replace(Worksheets("Sheet2").Range("B171").Text, "<br />", vbCrLf) Print #IntFlNo, s Close #IntFlNo の部分で、 sの変数を使っている箇所を setで表現したスクリプトを教えてください。 ==================================================== Sub Test() Range("E3").CurrentRegion.Select Selection.Replace What:="" & Chr(10) & "", Replacement:="<br />", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False Application.Wait Now + TimeValue("00:00:01") Dim s As String, IntFlNo As Integer Dim StrFN As String, myObj As Object Set myObj = CreateObject("WScript.Shell") StrFN = myObj.SpecialFolders("Desktop") Set myObj = Nothing StrFN = StrFN & "\d.txt" IntFlNo = FreeFile Open StrFN For Output As #IntFlNo s = Replace(Worksheets("Sheet2").Range("A171").Text, "<br />", vbCrLf) Print #IntFlNo, s s = Replace(Worksheets("Sheet2").Range("B171").Text, "<br />", vbCrLf) Print #IntFlNo, s Close #IntFlNo End Sub
- ベストアンサー
- Excel(エクセル)
- nipacap
- 回答数3
- エクセル 時刻の計算
はじめまして。教えてもらいたのですが、時刻の計算がわかりません。 うまく説明できないので、添付画像にて確認お願いします。 一番は正午0時(日が変わってからの)またぐと合計の数字がうまく出来ません。 よろしくお願いします。 ※添付ファイルの黄色の部分に時刻を入力すると他は自動計算及び表示するようにしたいです。
- ベストアンサー
- Excel(エクセル)
- kamebun
- 回答数5
- excelのIF関数について質問です。
勤怠管理を個人的に作成しているのですが、残業・深夜残業を計算する際に関数でつまづいたので教えて頂けると幸いです。 Aの勤務時間が22時を超えていない時は「A-B(定時)」、22時を超えてる時は「A-22:00」で、 休日で入力されておらず、エラー表示になるセルに関しては空欄になるようにする場合どのようなIF関数を組み合わせればいいでしょうか? =IF(ISERROR( ),"", ) を使うのかとは思うんですが、どこにどのようにIFを追加すればいいのかわからず。 どなたかご教授お願いします。
- 締切済み
- Excel(エクセル)
- nami060003
- 回答数2