Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


57 / 3841 ページ ←次へ | 前へ→

【81339】Re:sumifのエラー
質問  ms  - 20/6/5(金) 13:01 -

引用なし
パスワード
   ▼BJ さん:
>等幅にすると拡大しなくても見えますね。

これは恥ずかしいミスをしてしまいました。
ご指摘ありがとうございます。

早速、指摘された箇所のWorksheet.functionをworksheetfunctionに直して試してみましたが、.Sumifのところが指摘され、「コンパイルエラー オブジェクトが必要です」という表示が出てきました…。

これを解決するにはどうしたら良いのでしょうか?
・ツリー全体表示

【81338】Re:sumifのエラー
発言  BJ  - 20/6/5(金) 12:47 -

引用なし
パスワード
   等幅にすると拡大しなくても見えますね。
・ツリー全体表示

【81337】Re:sumifのエラー
発言  BJ  - 20/6/5(金) 12:04 -

引用なし
パスワード
   ずれた

>Set f = Worksheet.Function.SumIf(Range("F2:F280"), g, Range("H2:H280"))
     ^^^^^^^^^^^^^^^^^^
       ↑
この部分をメモ帳でもエクセルのセルにでも張り付けて文字を拡大してみてください。
・ツリー全体表示

【81336】Re:sumifのエラー
発言  BJ  - 20/6/5(金) 12:02 -

引用なし
パスワード
   ▼ms さん:
>Set f = Worksheet.Function.SumIf(Range("F2:F280"), g, Range("H2:H280"))
     ^^^^^^^^^^^^^^^^^^
       ↑
この部分をメモ帳でもエクセルのセルにでも張り付けて文字を拡大してみてください。
・ツリー全体表示

【81335】すみません。誤字修正
発言  BJ  - 20/6/5(金) 10:37 -

引用なし
パスワード
   数式の実で
 ↓
数式だけで
・ツリー全体表示

【81334】Re:エラーが表示されたらBeep音で知らせる
回答  BJ  - 20/6/5(金) 10:35 -

引用なし
パスワード
  
難しい奴、クエリとか?
昔、日経PCに載ってた数式の実で時計表示ができるやつの部類?
私には、全然わかりませんでした。
・ツリー全体表示

【81333】Re:エラーが表示されたらBeep音で知らせる
発言  BJ  - 20/6/5(金) 10:29 -

引用なし
パスワード
   上記url先の
「外部リンクにより変更されたときに発生します。」
は、いまいち解りません。
私は、単純にセルの内容が書き換えられた時と思ってます。
・ツリー全体表示

【81332】Re:エラーが表示されたらBeep音で知らせる
発言  BJ  - 20/6/5(金) 10:15 -

引用なし
パスワード
   とりあえず、こういうところを読んだ方が解りやすいかと。

ht tps://excel-ubara.com/excelvba1/EXCELVBA425.html
・ツリー全体表示

【81331】sumifのエラー
質問  ms  - 20/6/5(金) 9:53 -

引用なし
パスワード
   以下のマクロを用いて、標準偏差を求めようとしたのですが、
sumifの所で、「エラー404 オブジェクトが必要です」と出ます。

色々ネットで検索したのですが、どう修正すれば良いのか分からない為、
ここで質問させていただきます。
基本的な知識が欠如しているのは重々承知でございます。
どなたか知恵をお貸しください。

使用しているシートには
F列:割振番号(1〜30)
G列:計算したいデータ(1行目はラベル、データ数255〜280程度、たまに抜け有)
Q列:averageifで出した割振番号毎のデータの平均値


Sub 標準偏差

Dim a
Dim b
For a = 1 To 30
For b = 2 To 280
If Cells(b, 6) = a Then 'F列の割振番号がaの時
Cells(b, 8) = (Cells(b, 7) - Cells(a + 1, 17)) ^ 2 'G列の値を用いて、H列にデータの分散を計算する
End If
Next b
Next a

Dim f
Dim g
For g = 1 To 30
Set f = Worksheet.Function.SumIf(Range("F2:F280"), g, Range("H2:H280"))  '割振番号がgの時のデータの合計をfとする
Cells(g + 1, 18) = "= (""f""/ Cells(g + 1, 13)) ^ 0.5" '出力先に割振番号gの時の標準偏差を表す
Next g

End Sub
・ツリー全体表示

【81330】Re:エラーが表示されたらBeep音で知らせる
質問  pollock  - 20/6/5(金) 8:45 -

引用なし
パスワード
   返信ありがとうございます。

例(下記など、intersectで検索していくつか参考にしました)を見ると、特定のセルが変更された際に...とありましたのでこれで良いかと思っていました。
マクロ名に「_Change」をつけてみましたが...
何かヒントを頂けないでしょうか。

参考にしたコード
「特定のセル範囲が変更されたときに処理を実行する」
Private Sub Worksheet_Change(ByVal Target As Range)
  If Intersect(Target, Range("A1:B5")) Is Nothing Then
    Exit Sub
  Else
    MsgBox "セルの値が変更されました"
  End If
End Sub
・ツリー全体表示

【81329】Re:エラーが表示されたらBeep音で知らせる
発言  BJ  - 20/6/4(木) 22:45 -

引用なし
パスワード
   ▼pollock さん:
>上から順に入力した際に、

ええと、入力した際って、入力してもうんともすんとも動かないのでは・・・。
手本にしたプログラムがどういう所で使われているのか理解してますか?
・ツリー全体表示

【81328】Re:不要行の削除の高速化をしたい
発言  マナ  - 20/6/4(木) 19:17 -

引用なし
パスワード
   ▼初心者 さん:

>高速化する手法はありますでしょうか?
>やはりデータが多すぎて無理でしょうか?

遅いことが問題なだけで、
正しい結果は得られているということですか。
ならば、現在のコードを提示してください。
・ツリー全体表示

【81327】Re:エラーが表示されたらBeep音で知らせる
質問  pollock  - 20/6/4(木) 18:24 -

引用なし
パスワード
   ※作業内容の説明:訂正
測定値をAE列(17〜116行が対象セル)の上から順に入力した際に、エラー値だった場合には同じ行のX列に「***」が表示されるようになっています(関数を使用)。「AE列に入力後、同じ行のX列を確認して「***」だった場合に音を出す」ことを目的としたマクロを作成しています。

お知恵をお貸しください。

>>If Not Intersect(Target, Range("AE17:AE116")) Is Nothing Then
この行では、「AE行に入力したときに...」という条件を付けている、つもりです。誤った使い方でしょうか??
・ツリー全体表示

【81326】Re:エラーが表示されたらBeep音で知らせる
発言  BJ  - 20/6/4(木) 18:08 -

引用なし
パスワード
   ▼pollock さん:
>  If Not Intersect(Target, Range("AE17:AE116")) Is Nothing Then

上のコードは、何をしてるんですか?
何をしているのか理解すれば解ると思います。
・ツリー全体表示

【81325】不要行の削除の高速化をしたい
質問  初心者 E-MAIL  - 20/6/4(木) 17:48 -

引用なし
パスワード
   7万行、15列あるデータがあり、まずオートフィルで削除対象を絞り、Selection.End(xldownを使って、表示されている列を一番下まで選択して削除し、
さらに、重複データを削除するというマクロを組んでみたのですが、この作業だけで5分以上掛かってしまいます。

高速化する手法はありますでしょうか?
やはりデータが多すぎて無理でしょうか?
・ツリー全体表示

【81324】エラーが表示されたらBeep音で知らせる
質問  pollock  - 20/6/4(木) 13:41 -

引用なし
パスワード
   AE行に入力した際に、X行にエラー表示「***」が表示された場合にのみ音を出すマクロを作っています。
以下の様に書いてみたのですが、上手くいきません。
「プロシージャの呼び出し、または因数が不正です。」と出てしまうのですが理由が分かりません。
どなたかお知恵をお貸しください。

Sub エラー検知()
  Dim error1 As Range, cc As Range, Target As Range
  If Not Intersect(Target, Range("AE17:AE116")) Is Nothing Then
    For Each cc In Intersect(Target, cc)
    If cc.Offset(, -7).Value = "***" Then
      Call Melody
    End If
    Next
  End If
End Sub

Sub Melody()
Dim num As Integer, i As Integer
num = InputBox("1")
For i = 1 To num
  Beep
Next i
End Sub
・ツリー全体表示

【81323】Re:別シートへ転記したい場合
お礼  [名前なし]  - 20/6/3(水) 16:23 -

引用なし
パスワード
   マナさん

いつも本当にありがとうございます。
とっても勉強になります。

逆ですね‥‥お恥ずかしい…

教えていただいたURLを見ながらもっと勉強します!
この度は 本当にありがとうございました。
また何かあれば 教えていただきたく 何卒よろしくお願いいたします。

感謝しかありません!
・ツリー全体表示

【81322】Re:印刷について
お礼  kanikaani  - 20/6/3(水) 11:18 -

引用なし
パスワード
   ▼マナ さん:
無事にできました!
本当に本当にありがとうございました。
・ツリー全体表示

【81321】Re:印刷について
発言  マナ  - 20/6/2(火) 22:27 -

引用なし
パスワード
   ▼kanikaani さん:

>印刷する際に見積書のひな形まで印刷されてしまうようです

Sub 見積書作成()
Dim lst As Worksheet, tmp As Worksheet, sh As Worksheet
Dim i As Long
'リストのあるシート
Set lst = Sheets("データ")
'請求書テンプレート
Set tmp = Sheets("見積書")

ActiveSheet.PrintOut Preview:=True  <ーーこの行が必要ない

..
・ツリー全体表示

【81320】Re:印刷について
質問  kanikaani  - 20/6/2(火) 22:21 -

引用なし
パスワード
   ▼マナ さん:

ご丁寧にありがとうございます
なんとかできそうですが
印刷する際に見積書のひな形まで印刷されてしまうようです
自分で直したらバグがでてしまいました...
・ツリー全体表示

57 / 3841 ページ ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free