mu2011 の回答履歴
- マクロで範囲を可変でループするには?
エクセルマクロで次のようなことをしたいのですが、どなたか教えてください。 A列の空白行までを1グループにして行列を入れ替えCからコピー をA列のデータがなくなるまで繰り返す。 よろしくお願いします。 例: セルA : B : C : D : E : 1あ あ い う 2い え お 3う か き 4 5え 6お 7 8か 9き
- SheetsクラスのSelectメソッドが失敗
Excelファイルのマクロで、SheetsクラスのSelectメソッドが失敗しましたのエラーが出ます 以下のマクロですが、最初のSheets(Array(................))._Select でエラーになりますその後は解りませんが...。 原因はSelectしているSheetの中に非表示なシートがあるのが原因ですが、 このマクロが入っているExcelファイルは色々な人が使うので人によって非表示にしたい シートがまちまちで、限定は出来ません。ただし、非表示にしたものはそのファイルを 使う人はそのシートはなくても構わないですので、使う人によってマクロを修正すれば 動くのですが、ちょっと面倒なのでこのマクロを修正して対応出来ればと思います。 このケースはsheet4~sheet10までのシートを選択して、選択した全てのシートの特定 部分を消去し、選択していないシートに入って選択を解除し基本となるシートに戻る というマクロです。 マクロの記録で作成して、いらなそうなやつを削除したものです。 ホームページで色々検索しましたが、非表示シートはSelect出来ないと言うことは何となく 解りましたが、マクロの記録で作成した事でも解るように全くの初心者ですので、そこの ところよろしくお願いします。 Sub クリアー() ' ' クリアー Macro ' Sheets(Array("sheet4", "sheet5", "sheet6", "sheet7", "sheet8", "sheet9", "sheet10")). _ Select Sheets("sheet6").Activate Union(Range( _ "F109:BO109,F112:BO112,F115:BO115,F118:BO118,F121:BO121" _ ), Range( _ "FJ225:GS225,FJ228:GS228,FJ231:GS231,FJ234:GS234,FJ237:GS237" _ ), Range( _ "OA535:PD535,OA538:PD538,OA541:PD541,OA544:PD544,OA547:PD547")).Select Selection.ClearContents Sheets("sheet3").Select Sheets("sheet6").Select Range("J1:L1").Select End Sub
- ベストアンサー
- Visual Basic
- t_gon
- 回答数3
- SheetsクラスのSelectメソッドが失敗
Excelファイルのマクロで、SheetsクラスのSelectメソッドが失敗しましたのエラーが出ます 以下のマクロですが、最初のSheets(Array(................))._Select でエラーになりますその後は解りませんが...。 原因はSelectしているSheetの中に非表示なシートがあるのが原因ですが、 このマクロが入っているExcelファイルは色々な人が使うので人によって非表示にしたい シートがまちまちで、限定は出来ません。ただし、非表示にしたものはそのファイルを 使う人はそのシートはなくても構わないですので、使う人によってマクロを修正すれば 動くのですが、ちょっと面倒なのでこのマクロを修正して対応出来ればと思います。 このケースはsheet4~sheet10までのシートを選択して、選択した全てのシートの特定 部分を消去し、選択していないシートに入って選択を解除し基本となるシートに戻る というマクロです。 マクロの記録で作成して、いらなそうなやつを削除したものです。 ホームページで色々検索しましたが、非表示シートはSelect出来ないと言うことは何となく 解りましたが、マクロの記録で作成した事でも解るように全くの初心者ですので、そこの ところよろしくお願いします。 Sub クリアー() ' ' クリアー Macro ' Sheets(Array("sheet4", "sheet5", "sheet6", "sheet7", "sheet8", "sheet9", "sheet10")). _ Select Sheets("sheet6").Activate Union(Range( _ "F109:BO109,F112:BO112,F115:BO115,F118:BO118,F121:BO121" _ ), Range( _ "FJ225:GS225,FJ228:GS228,FJ231:GS231,FJ234:GS234,FJ237:GS237" _ ), Range( _ "OA535:PD535,OA538:PD538,OA541:PD541,OA544:PD544,OA547:PD547")).Select Selection.ClearContents Sheets("sheet3").Select Sheets("sheet6").Select Range("J1:L1").Select End Sub
- ベストアンサー
- Visual Basic
- t_gon
- 回答数3
- SheetsクラスのSelectメソッドが失敗
Excelファイルのマクロで、SheetsクラスのSelectメソッドが失敗しましたのエラーが出ます 以下のマクロですが、最初のSheets(Array(................))._Select でエラーになりますその後は解りませんが...。 原因はSelectしているSheetの中に非表示なシートがあるのが原因ですが、 このマクロが入っているExcelファイルは色々な人が使うので人によって非表示にしたい シートがまちまちで、限定は出来ません。ただし、非表示にしたものはそのファイルを 使う人はそのシートはなくても構わないですので、使う人によってマクロを修正すれば 動くのですが、ちょっと面倒なのでこのマクロを修正して対応出来ればと思います。 このケースはsheet4~sheet10までのシートを選択して、選択した全てのシートの特定 部分を消去し、選択していないシートに入って選択を解除し基本となるシートに戻る というマクロです。 マクロの記録で作成して、いらなそうなやつを削除したものです。 ホームページで色々検索しましたが、非表示シートはSelect出来ないと言うことは何となく 解りましたが、マクロの記録で作成した事でも解るように全くの初心者ですので、そこの ところよろしくお願いします。 Sub クリアー() ' ' クリアー Macro ' Sheets(Array("sheet4", "sheet5", "sheet6", "sheet7", "sheet8", "sheet9", "sheet10")). _ Select Sheets("sheet6").Activate Union(Range( _ "F109:BO109,F112:BO112,F115:BO115,F118:BO118,F121:BO121" _ ), Range( _ "FJ225:GS225,FJ228:GS228,FJ231:GS231,FJ234:GS234,FJ237:GS237" _ ), Range( _ "OA535:PD535,OA538:PD538,OA541:PD541,OA544:PD544,OA547:PD547")).Select Selection.ClearContents Sheets("sheet3").Select Sheets("sheet6").Select Range("J1:L1").Select End Sub
- ベストアンサー
- Visual Basic
- t_gon
- 回答数3
- Excelの時間集計
Excelで時間集計をしたいのですが表が以下のようになっています。 3月4日 月 3 〃 〃 5 〃 〃 3 〃 〃 1 3月5日 火 2 〃 〃 4 〃 〃 2 〃 〃 2 のようになっています 4日 5日それぞれの時間を集計したいのですが 3月4日 月は 12 3月5日 火は 10 となりますがそれぞれ日毎の合計の時間を自動で計算したいのですが どうしたらいいのでしょうか?
- ベストアンサー
- その他MS Office製品
- LHS07
- 回答数3
- Excel2003 1つのマクロを複数シートで実施
初めて質問をさせていただきます。文面など、分かりにくい部分も 多々あるかと思いますが、ご容赦ください。 Excel2003のVBAで1つのマクロを複数のシートで実行したいのですが、 上手くできません。過去のQAも拝見しているのですが、 思うように動かずです。 具体的には Sub カレンダー作成G5() Dim 日数 As Long Dim 日付 As Variant Dim 月 As Integer, 年 As Integer Dim 入力セル As Range 日付 = Application.InputBox _ ("yyyy/m 形式の年月を半角で入力してください" & Chr(10) _ & " 例)2013年の1月 → 2013/1") If 日付 = False Or IsDate(日付) = False Then Exit Sub End If 月 = Month(日付) 年 = Year(日付) Range("c3").Value = DateSerial(年, 月, 1) Range("G5:Ak5").Select Selection.ClearContents 日数 = 0 For Each 入力セル In Selection 入力セル.Formula = "=$c$3+" & 日数 日数 = 日数 + 1 If 月 <> Month(Range("c3") + 日数) Then Exit For Next End Sub です。これを、1ブックのシートが1~10ある中から、例えば「シート2,5,8」と言った具合に、 複数のシートで実施したいのです。 (選択するシートは固定ですが、今後のシートの追加は、可能であれば想定したいです。) なお、この記述も、前任者の記述であり、当方はまったくの未経験者とご認識ください。 従いまして、後学の為、1文ごとに簡単なコメントなどをいただけますと、本当にありがたく。 (さらに欲を申し上げますと、VBA初心者にお勧めの参考書やURLもご紹介いただけますと幸いです。) また、OKwaveのシステムも理解できておりませんので、お礼も言葉のみとなってしまいます。 その点も、ご理解いただけますと幸いです。 ぜひとも「無知な人間に勉強する機会を」いただけましたらと思います。 有識者のみなさま、ご指導をよろしくお願いいたします。
- ベストアンサー
- その他MS Office製品
- rosso13
- 回答数4
- Excel2003 1つのマクロを複数シートで実施
初めて質問をさせていただきます。文面など、分かりにくい部分も 多々あるかと思いますが、ご容赦ください。 Excel2003のVBAで1つのマクロを複数のシートで実行したいのですが、 上手くできません。過去のQAも拝見しているのですが、 思うように動かずです。 具体的には Sub カレンダー作成G5() Dim 日数 As Long Dim 日付 As Variant Dim 月 As Integer, 年 As Integer Dim 入力セル As Range 日付 = Application.InputBox _ ("yyyy/m 形式の年月を半角で入力してください" & Chr(10) _ & " 例)2013年の1月 → 2013/1") If 日付 = False Or IsDate(日付) = False Then Exit Sub End If 月 = Month(日付) 年 = Year(日付) Range("c3").Value = DateSerial(年, 月, 1) Range("G5:Ak5").Select Selection.ClearContents 日数 = 0 For Each 入力セル In Selection 入力セル.Formula = "=$c$3+" & 日数 日数 = 日数 + 1 If 月 <> Month(Range("c3") + 日数) Then Exit For Next End Sub です。これを、1ブックのシートが1~10ある中から、例えば「シート2,5,8」と言った具合に、 複数のシートで実施したいのです。 (選択するシートは固定ですが、今後のシートの追加は、可能であれば想定したいです。) なお、この記述も、前任者の記述であり、当方はまったくの未経験者とご認識ください。 従いまして、後学の為、1文ごとに簡単なコメントなどをいただけますと、本当にありがたく。 (さらに欲を申し上げますと、VBA初心者にお勧めの参考書やURLもご紹介いただけますと幸いです。) また、OKwaveのシステムも理解できておりませんので、お礼も言葉のみとなってしまいます。 その点も、ご理解いただけますと幸いです。 ぜひとも「無知な人間に勉強する機会を」いただけましたらと思います。 有識者のみなさま、ご指導をよろしくお願いいたします。
- ベストアンサー
- その他MS Office製品
- rosso13
- 回答数4
- エクセルで空白を無視して値を抽出したい
エクセル2007です。どなたかご教授お願いします。 a1からg1のセルで、b1とd1に数値が入っていて、 後のセルは空白だとして、数値の入っているセルの値のみを、 空白を詰めてa2行に移すにはどうすればいいでしょうか? b1d1がa2b2に入るようにしたいです。 空白とセル数は変動するので、応用が利くような数式を 教えていただきたいです。
- ベストアンサー
- その他MS Office製品
- kaito_ahiru
- 回答数3
- シートをオブジェクト変数に格納しつつ、findで文
前回、http://okwave.jp/qa/q7965940.html で質問したのですが、 シートをオブジェクト変数に格納しつつ、findで文字を検索する場合、どうすればいいでしょうか? Sub test() Dim sh1 As Worksheet Dim 行 As Long Set sh1 = Sheets("Sheet1") 行 = Cells.Find(What:="検索文字", LookAt:=xlWhole).Row End Sub こういう事を行いたいのですが、 Sheet2がアクティブな時にこのコードを実行すると実行時エラー91になります。 対処方法をお願いいたします。
- ベストアンサー
- その他MS Office製品
- TTWGAICPBIGD
- 回答数2
- VBAで複数のシート名を置換する処理
Dim ws As Worksheet Dim i As Long For i = 1 To ThisWorkbook.Sheets.Count For Each ws In ThisWorkbook.Sheets If ws.name Like "*T*" Then ws.name = Replace(ws.name, "T", "S") End If Next Next End Sub この処理をするとnameメソッド失敗worksheetオブジェクト 処理できるようにするにはどうすればいいんでしょうか
- ベストアンサー
- Visual Basic
- karasumina
- 回答数2
- 指定文字抽出を含む関数に年月範囲を追加したい
OS:XP=Pro Office2007 表作成で行き詰っています。 データ列はそんなにないのですが、B列に複数の名前が入っています。 D列には空欄も含まれています。 Sheet1:データ(約2万件) A B C D 1 年月 名前 作業時間 結果 2 1204 佐藤安田 1 △ 3 1204 山田 2 × 4 1205 太田工藤 1.5 ☆ 5 1205 安田 1.2 ☆ 6 1206 安藤吉田佐藤 2.1 ○ 7 1206 安田 1 △ 8 1207 佐藤 1.7 △ 9 1208 太田 2 × 10 1208 吉田 1.6 〇 ・ ・ ・ このシートから、別シートに名前別の時間計と、記号別カウントを行なっています。 Sheet2:計算表 A B C D E F 1 1204から 1301まで 2 3 作業時間 〇 △ × ☆ (件) 4 佐藤 12.5 12 2 4 2 5 山田 24.8 28 8 15 4 6 太田 25.8 11 5 11 10 B4(作業時間計) =SUMIF(Sheet1!$B$2:$B$20000,(CONCATENATE("*",A4,"*")),Sheet1!$C$2:$C$20000) C4(対象記号件数) =SUM(IF(ISERROR(FIND(Sheet1!$A$4,$B$2:$B$20000,1)),,IF(ISERROR(FIND($C$3,Sheet1!$D$2:$D$20000,1)),,1))) ←配列形式 其々の計算式に加えて、任意の年月範囲を追加(B1からC1まで)したいのですが ">="等の条件をつけて組み込んでも、計算が合いません。 どなたか、ご教授を願います。
- ベストアンサー
- その他MS Office製品
- unyanya206
- 回答数2
- 指定文字抽出を含む関数に年月範囲を追加したい
OS:XP=Pro Office2007 表作成で行き詰っています。 データ列はそんなにないのですが、B列に複数の名前が入っています。 D列には空欄も含まれています。 Sheet1:データ(約2万件) A B C D 1 年月 名前 作業時間 結果 2 1204 佐藤安田 1 △ 3 1204 山田 2 × 4 1205 太田工藤 1.5 ☆ 5 1205 安田 1.2 ☆ 6 1206 安藤吉田佐藤 2.1 ○ 7 1206 安田 1 △ 8 1207 佐藤 1.7 △ 9 1208 太田 2 × 10 1208 吉田 1.6 〇 ・ ・ ・ このシートから、別シートに名前別の時間計と、記号別カウントを行なっています。 Sheet2:計算表 A B C D E F 1 1204から 1301まで 2 3 作業時間 〇 △ × ☆ (件) 4 佐藤 12.5 12 2 4 2 5 山田 24.8 28 8 15 4 6 太田 25.8 11 5 11 10 B4(作業時間計) =SUMIF(Sheet1!$B$2:$B$20000,(CONCATENATE("*",A4,"*")),Sheet1!$C$2:$C$20000) C4(対象記号件数) =SUM(IF(ISERROR(FIND(Sheet1!$A$4,$B$2:$B$20000,1)),,IF(ISERROR(FIND($C$3,Sheet1!$D$2:$D$20000,1)),,1))) ←配列形式 其々の計算式に加えて、任意の年月範囲を追加(B1からC1まで)したいのですが ">="等の条件をつけて組み込んでも、計算が合いません。 どなたか、ご教授を願います。
- ベストアンサー
- その他MS Office製品
- unyanya206
- 回答数2
- エクセルで列幅の違うものを入力する方法
123 4567 88888 aaaaa bbbbbbbbbb ccccccccccc とした場合、1行目と違う幅で2行目を作ることはできませんか。 セル結合とかではなくです。 よろしくお願いいたします。
- ベストアンサー
- その他MS Office製品
- DreamDream05
- 回答数3
- セルに漢字入力するとセルの色が自動で塗りつぶされる
Excel2007を使用しています。仕事で譲り受けたデータで、曜日の列のセルに「土」を入れると、その行のセルが青く塗りつぶされる設定になっているようです。この設定を解除して、「土」を入れても青の塗りつぶしの無いようにしたいのですが、どのようにしたらよいかお教えください。
- ベストアンサー
- その他MS Office製品
- ishika
- 回答数1
- エクセルのマクロについて
エクセルでマクロを組んでいますが、ひとつだけ再現できず困っています。 A1からE100までの表で、A列からD列までの数値をE列で○と×で判定します。 この時、E列が○の場合にA,B,D列のデータをクリアしたいのです。 マクロのコードがわかれば助かります。よろしくお願いします。
- エクセルのマクロについて
エクセルでマクロを組んでいますが、ひとつだけ再現できず困っています。 A1からE100までの表で、A列からD列までの数値をE列で○と×で判定します。 この時、E列が○の場合にA,B,D列のデータをクリアしたいのです。 マクロのコードがわかれば助かります。よろしくお願いします。
- エクセルVBAで16の16乗を正確にさせるには?
エクセルVBAにて16の16乗を取り扱いたいのですが.... データ型が、LongとCurrencyでは、オーバーフローしてしまいます。 そこで、SingleとDuobleですると Singelでは、1.844674E+19 Doubleでは、1.84467440737096E+19 になります。 これを、正確に18446744073709551616とさせる方法を教示ください。 Dim Dec_data As Double Dec_data = 16 ^ 16 MsgBox Dec_data
- ベストアンサー
- その他(プログラミング・開発)
- oz_kas
- 回答数3
- 【エクセルVBA】WorksheetsのSelec
Worksheets(AA).Select を行って、それ以下のプログラムは シートを指定しなくても Worksheets(AA)からデータを取ってくるわけではないのでしょうか? アクティブシートから情報を取ってくることがあるので シートの指定の標準的な記述(手法?)を知りたいです。
- ベストアンサー
- Visual Basic
- mougmoug
- 回答数2
- エクセルで数値を一括変換する方法
エクセルに入力した1から10までの数値を、0から9までの数値に一括変換する方法を忘れてしまいました。どうやってやるか教えて頂けますでしょうか?
- ベストアンサー
- その他MS Office製品
- まこと まこと
- 回答数1
- ワークシート関数にVBAでセルを指定するには?
FormulaR1C1ではなく Range形式でVBAでワークシート関数をセルにいれるコードを書くにはどうすればいいでしょう? Sub Macro() ActiveCell.FormulaR1C1 = "=LEN(RC[-1])" End Sub これを Sub Macro() ActiveCell.FormulaR1C1 = "=LEN(a1)" End Sub こうすると、 数式バーには、=LEN('a1')と入っており、 セルの値は#NAME? になります。 アポストロフィーが余計なのですがどうすれば取れますか?
- ベストアンサー
- オフィス系ソフト
- xiqixtoggw1
- 回答数3