ka_na_de の回答履歴
- Excel マクロ 平均
Excel マクロ 平均 仕事の都合で以下のようなデータの平均を出すマクロ(VBA)を作成する事になったのですが、どのようなコードになるのでしょうか? ・商品の年式ごとの平均を求める。 ・金額は入っていないデータは対象外にする。 ・データ数は5000件位あります。 ・商品の種類は沢山あります。 ・年式も様々です。 ・Sheet2に実行結果の平均を入れる。 Sheet1 商品名 年式 金額 テレビ 1990 1,000 冷蔵庫 1999 テレビ 1990 2,000 冷蔵庫 1999 3,000 テレビ 1991 冷蔵庫 1990 1,000 テレビ 1991 2,000 Sheet2 1990 1991 1992 ・・・ テレビ 1,500 2,000 冷蔵庫 1,000 マクロ初心者且内容が伝わりにくい所があるかもしれませんが、何卒宜しくお願い致します。
- 締切済み
- Visual Basic
- geruma7
- 回答数5
- Excel マクロ 平均
Excel マクロ 平均 仕事の都合で以下のようなデータの平均を出すマクロ(VBA)を作成する事になったのですが、どのようなコードになるのでしょうか? ・商品の年式ごとの平均を求める。 ・金額は入っていないデータは対象外にする。 ・データ数は5000件位あります。 ・商品の種類は沢山あります。 ・年式も様々です。 ・Sheet2に実行結果の平均を入れる。 Sheet1 商品名 年式 金額 テレビ 1990 1,000 冷蔵庫 1999 テレビ 1990 2,000 冷蔵庫 1999 3,000 テレビ 1991 冷蔵庫 1990 1,000 テレビ 1991 2,000 Sheet2 1990 1991 1992 ・・・ テレビ 1,500 2,000 冷蔵庫 1,000 マクロ初心者且内容が伝わりにくい所があるかもしれませんが、何卒宜しくお願い致します。
- 締切済み
- Visual Basic
- geruma7
- 回答数5
- エクセルマクロについての質問です。
エクセルマクロについての質問です。 複数のブック(ここでは0~19の20個)のシートそれぞれについて、特定の行を表示/非常時に設定したいです。 表示/非表示の設定を配列Hideにtrue/falseとして設定してあります。 行数はTotal_Rowで、およそ650行あります。 こんなコードを書いてみました。 =========================================================================== For nBook = 0 To 19 With Workbooks(nameBook(nBook)).Worksheets(nameSheet(nBook)) For nRow = 0 To Total_Row - 1 .Rows(nRow + 1).Hidden = Hide(nRow + 1) Next nRow End With Next nBook ============================================================================ これで問題なく動くのですが、とても時間がかかります。 ブック数を1として試したところ45~55秒ほどかかります。20ファイルやると およそ20分かかります。 これを高速化したいのですが良い方法はないでしょうか。 ScreenUpdatingをfalseにしてもほとんど変化はありませんでした。 1行ずつ設定していますが、まとめて設定できると早いと思います。可能でしょうか。
- フィルタ オプションの設定(データ抽出) マクロ
マクロを使って、「sheet1」のデターを「sheet2」へ抽出するのですが、Webで最適なものがあったので、その指示通りにやりました。その例題は再現できました。しかし、それを自分に合うように設定し直すとどうしてもできません。そこで気づいたのは、「No. 月日 項目名 収入 支出 摘要 購入店名」の各セルが何らかの関係があるのではと思ったのです。この項目を変えたて自分独自のものにしたいのですが、変えたり消してしまうと抽出できません。どこをどのようにしたらよいのか教えて頂けませんか。 Sub Macro2() Dim myRow1 As Long, myRow2 As Long myRow1 = Sheets("Sheet1").Range("B65536").End(xlUp).Row myRow2 = Sheets("Sheet2").Range("B65536").End(xlUp).Row If myRow2 >= 5 Then Sheets("Sheet2").Range("B5:H" & myRow2).ClearContents End If Sheets("Sheet1").Range("B2:H" & myRow1).AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=Range("B2:B3"), CopyToRange:=Range("B5"), Unique:=False End Sub
- フィルタ オプションの設定(データ抽出) マクロ
マクロを使って、「sheet1」のデターを「sheet2」へ抽出するのですが、Webで最適なものがあったので、その指示通りにやりました。その例題は再現できました。しかし、それを自分に合うように設定し直すとどうしてもできません。そこで気づいたのは、「No. 月日 項目名 収入 支出 摘要 購入店名」の各セルが何らかの関係があるのではと思ったのです。この項目を変えたて自分独自のものにしたいのですが、変えたり消してしまうと抽出できません。どこをどのようにしたらよいのか教えて頂けませんか。 Sub Macro2() Dim myRow1 As Long, myRow2 As Long myRow1 = Sheets("Sheet1").Range("B65536").End(xlUp).Row myRow2 = Sheets("Sheet2").Range("B65536").End(xlUp).Row If myRow2 >= 5 Then Sheets("Sheet2").Range("B5:H" & myRow2).ClearContents End If Sheets("Sheet1").Range("B2:H" & myRow1).AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=Range("B2:B3"), CopyToRange:=Range("B5"), Unique:=False End Sub
- エクセルVBAで列名が#N/Aとなった列を削除するプログラムはどのように組めばよいのでしょうか?
エクセルVBAで列名が#N/Aとなった列を削除するプログラムはどのように組めばよいのでしょうか? 下記のような表です。 A B C D・・・・・ 1 イチゴ #N/A リンゴ #N/A 2 100 1 75 1 3 250 2 50 4 4 150 2 25 5 ・ ↓ A B ・・・・・ 1 イチゴ リンゴ 2 100 75 3 250 50 4 150 25 ・ よろしくお願いいたします。
- Excel VLOOKUPをVBAでやりたいのですが、分からなくて困っ
Excel VLOOKUPをVBAでやりたいのですが、分からなくて困ってます。 Sheet1のC列2行目行こうにSheet2のI列のデータを取得し (A列にデーターが入っている分、(時と場合により表示数が違う為)) なおかつ Sheet1のD列2行目以降にB-Cの差し引きをおこなう 以上のことをSheet1をアクティブにした時VBAでおこなうには、? 教えて下さい。宜しくお願い致します。
- ベストアンサー
- Visual Basic
- carotene-2
- 回答数3
- Excel vbaを用いたオートフィル化後の罫線について
Excel 2002でvbaを用いて、下記の表に対してマクロを組もうとしています。 例) 101 a 500円 129 b 600円 120 b 1000円 120 a 700円 138 b 900円 これをオートフィルを用いて、B列のbだけを抽出するとします。 その状態で表に罫線を引きたいのです。 罫線は、表の中の縦横線は点線、周囲だけ実線というものにしたいです。 そこで下のようなマクロを組んでみました。 Range("A1").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select With Selection.Borders(xlInsideHorizontal) .Color = vbBlack .LineStyle = xlDash .Weight = xlHairline End With '横点線 With Selection.Borders(xlInsideVertical) .Color = vbBlack .LineStyle = xlDash .Weight = xlHairline End With '縦点線 With Selection.Borders(xlEdgeBottom) .Color = vbBlack .LineStyle = xlContinuous .Weight = xlThin End With '周囲の下線 (→ここから他3方向への線もひきますが省略します) こうすると、オートフィル化する前は理想通りの形になったのですが、オートフィル化するとうまくいきません。 120 b 600円 120 b 1000円 (↑↓この間にaセルが入っているため、↑の線が実線となってしまいます) 138 b 900円 オートフィル化した後でも、どうにかならないものなのでしょうか? また、この表の行数やa、bの個数は日によって異なるため、最終行を指定するということも出来そうにありません。 また、今A列に101、10a…などといった数字が並んでおりますが、この数字が変化する境目のところにのみ太線を引く、ということは出来ますか? 例) 120 b 600円 120 b 1000円 (↑↓この間に太線を挿入したい) 138 b 900円 太線はA列からC列まで引きたいです。 こういったこともvbaでどうにかなるものなのでしょうか? どなたかお教え頂けると非常に助かります。宜しくお願い致します。
- 締切済み
- その他MS Office製品
- shiro1412
- 回答数2
- Excel vbaを用いたオートフィル化後の罫線について
Excel 2002でvbaを用いて、下記の表に対してマクロを組もうとしています。 例) 101 a 500円 129 b 600円 120 b 1000円 120 a 700円 138 b 900円 これをオートフィルを用いて、B列のbだけを抽出するとします。 その状態で表に罫線を引きたいのです。 罫線は、表の中の縦横線は点線、周囲だけ実線というものにしたいです。 そこで下のようなマクロを組んでみました。 Range("A1").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select With Selection.Borders(xlInsideHorizontal) .Color = vbBlack .LineStyle = xlDash .Weight = xlHairline End With '横点線 With Selection.Borders(xlInsideVertical) .Color = vbBlack .LineStyle = xlDash .Weight = xlHairline End With '縦点線 With Selection.Borders(xlEdgeBottom) .Color = vbBlack .LineStyle = xlContinuous .Weight = xlThin End With '周囲の下線 (→ここから他3方向への線もひきますが省略します) こうすると、オートフィル化する前は理想通りの形になったのですが、オートフィル化するとうまくいきません。 120 b 600円 120 b 1000円 (↑↓この間にaセルが入っているため、↑の線が実線となってしまいます) 138 b 900円 オートフィル化した後でも、どうにかならないものなのでしょうか? また、この表の行数やa、bの個数は日によって異なるため、最終行を指定するということも出来そうにありません。 また、今A列に101、10a…などといった数字が並んでおりますが、この数字が変化する境目のところにのみ太線を引く、ということは出来ますか? 例) 120 b 600円 120 b 1000円 (↑↓この間に太線を挿入したい) 138 b 900円 太線はA列からC列まで引きたいです。 こういったこともvbaでどうにかなるものなのでしょうか? どなたかお教え頂けると非常に助かります。宜しくお願い致します。
- 締切済み
- その他MS Office製品
- shiro1412
- 回答数2
- エクセルで2つの表から「合致する品目」「合致しない品目」を、抜き出す方法は?
とある披露イベントを開催しました。当日来てくれた来場者の名簿があります(あるのは、名前だけです)。 また、それとは別にとある学校のOBリストがあります。 来場者名簿の中から、 学校のOBの人 OBではない人 を抜き出したいのですが、どうしたらいいでしょうか? -- つまり、 ●イベント来場者リスト(名前だけ)リストA ●OBリスト(名前だけ)リストB の、2つのリストがあり、 リストAの中で、Bと合致する項目を抽出 リストAの中で、Bと合致しない項目を抽出 したいということです。 スッキリとしたマクロや関数で、スマートに処理したいと思っていますので、適した方法がありましたらご教示ください。
- ベストアンサー
- その他MS Office製品
- gca00460
- 回答数5
- functionを含んだプログラムを作成したいのですが、上手くいきません
functionを含んだ計算をプロシージャで行い、返すプログラムを作りたいのですが上手くいきません。 具体的には ある式に定められた値を代入(inputではなくEXCEL上に指定済み)し、 その定数の横にそれぞれ出力されるプログラムです。 function 内でforを用いた式を作成し、メインプログラムに出力する段階で、『引数は省略できません』と表示され起動することがありません。 一体なぜでしょうか? プログラムが間違っているだけでしょうが、治せません。
- ベストアンサー
- Visual Basic
- WhiteRay
- 回答数18
- 最終列に入力されている文字を表示する
エクセルVBAで最終列に入力されている値の表示方法について教えてください。 最終行については表示できるのですが、最終列に入力されているものの表示がうまくいきません。 A列の最終行の値をセル”D1”に表示するについては Private Sub Worksheet_Change(ByVal Target As Range) Dim r As Long r = Cells(Rows.Count, 1).End(xlUp).Row Range("D1").Value = Cells(r, 1).Value End Sub でうまくいきました。 最終行、例えば3列目の10行目に”111”と入力されているときにセル”D1”に”111”と表示するようにはどうしたらよいのでしょうか。 どなたがご指南ください宜しくお願いします。
- 最終列に入力されている文字を表示する
エクセルVBAで最終列に入力されている値の表示方法について教えてください。 最終行については表示できるのですが、最終列に入力されているものの表示がうまくいきません。 A列の最終行の値をセル”D1”に表示するについては Private Sub Worksheet_Change(ByVal Target As Range) Dim r As Long r = Cells(Rows.Count, 1).End(xlUp).Row Range("D1").Value = Cells(r, 1).Value End Sub でうまくいきました。 最終行、例えば3列目の10行目に”111”と入力されているときにセル”D1”に”111”と表示するようにはどうしたらよいのでしょうか。 どなたがご指南ください宜しくお願いします。
- 最終列に入力されている文字を表示する
エクセルVBAで最終列に入力されている値の表示方法について教えてください。 最終行については表示できるのですが、最終列に入力されているものの表示がうまくいきません。 A列の最終行の値をセル”D1”に表示するについては Private Sub Worksheet_Change(ByVal Target As Range) Dim r As Long r = Cells(Rows.Count, 1).End(xlUp).Row Range("D1").Value = Cells(r, 1).Value End Sub でうまくいきました。 最終行、例えば3列目の10行目に”111”と入力されているときにセル”D1”に”111”と表示するようにはどうしたらよいのでしょうか。 どなたがご指南ください宜しくお願いします。
- 最終列に入力されている文字を表示する
エクセルVBAで最終列に入力されている値の表示方法について教えてください。 最終行については表示できるのですが、最終列に入力されているものの表示がうまくいきません。 A列の最終行の値をセル”D1”に表示するについては Private Sub Worksheet_Change(ByVal Target As Range) Dim r As Long r = Cells(Rows.Count, 1).End(xlUp).Row Range("D1").Value = Cells(r, 1).Value End Sub でうまくいきました。 最終行、例えば3列目の10行目に”111”と入力されているときにセル”D1”に”111”と表示するようにはどうしたらよいのでしょうか。 どなたがご指南ください宜しくお願いします。
- PowerPointのプレゼン画面右下に時計を表示させたい
講演を聴きに行ったときに,PowerPointのプレゼンテーション画面が表示されているときに,画面右下に,小さなアップル(りんごのかたち?)のアナログ時計が出されているのを見ました. プレゼン中に時間がわかってとても便利だと思って,自分も使いたいのですが,どのようなソフトウェアを使って出しているのでしょうか? (PowerPointのアドインのような気がします.) ご存じでしたらぜひ教えてください.よろしくお願いします.
- ベストアンサー
- オフィス系ソフト
- momotantan
- 回答数2
- 最終列に入力されている文字を表示する
エクセルVBAで最終列に入力されている値の表示方法について教えてください。 最終行については表示できるのですが、最終列に入力されているものの表示がうまくいきません。 A列の最終行の値をセル”D1”に表示するについては Private Sub Worksheet_Change(ByVal Target As Range) Dim r As Long r = Cells(Rows.Count, 1).End(xlUp).Row Range("D1").Value = Cells(r, 1).Value End Sub でうまくいきました。 最終行、例えば3列目の10行目に”111”と入力されているときにセル”D1”に”111”と表示するようにはどうしたらよいのでしょうか。 どなたがご指南ください宜しくお願いします。
- functionを含んだプログラムを作成したいのですが、上手くいきません
functionを含んだ計算をプロシージャで行い、返すプログラムを作りたいのですが上手くいきません。 具体的には ある式に定められた値を代入(inputではなくEXCEL上に指定済み)し、 その定数の横にそれぞれ出力されるプログラムです。 function 内でforを用いた式を作成し、メインプログラムに出力する段階で、『引数は省略できません』と表示され起動することがありません。 一体なぜでしょうか? プログラムが間違っているだけでしょうが、治せません。
- ベストアンサー
- Visual Basic
- WhiteRay
- 回答数18
- functionを含んだプログラムを作成したいのですが、上手くいきません
functionを含んだ計算をプロシージャで行い、返すプログラムを作りたいのですが上手くいきません。 具体的には ある式に定められた値を代入(inputではなくEXCEL上に指定済み)し、 その定数の横にそれぞれ出力されるプログラムです。 function 内でforを用いた式を作成し、メインプログラムに出力する段階で、『引数は省略できません』と表示され起動することがありません。 一体なぜでしょうか? プログラムが間違っているだけでしょうが、治せません。
- ベストアンサー
- Visual Basic
- WhiteRay
- 回答数18
- 太字に設定されているセルの個数を求めたい
数式だけで、太字に設定されているセルの個数を求めたいのですが、 可能でしょうか? イメージとしては下記のようなものです。 ○=太字に設定されているセルと仮定 A B C D 1○ × ○ × 太字は2個 2○ ○ ○ × 太字は3個 3× × × ○ 太字は1個