
またまたお知恵拝借させてください。
添付画像の緑で囲った部分がスクロールと共に移動して欲しいのですが可能でしょうか?
主加工の欄はM、MC、L、外注それぞれ選択して表示できるようになっていますが、そのどの画面でも表示されていて、スクロールと共に移動してくれる。
そんな計算枠にしたいのですが可能でしょうか?
現在の計算枠はテーブルの数値を参照にしています。
加工日や機械はドロップダウンメニューで選択できます。
総時間は、同じ加工日の同じ機械の総和が計算できるようになっています。
MAX稼働時間はM、MC、Lそれぞれで変わるようにしています(画像に表示されたものです)
負荷率は総時間をMAX稼働時間で除したものです。
数物は総時間と同様に同じ加工日、機械の数物時間の和です。
単品は総時間から数物時間を引いた数値です。
実現すれば一気に便利な機能になるのですが可能でしょうか?
宜しくお願いします。

No.4ベストアンサー
- 回答日時:
自動/手動の切り替えは、「数式」タブの「計算方法の設定」から「自動/手動」を選択することにより切り替えできます。
マクロでやると次のような命令になります。Application.Calculation = xlManual '手動にする
Application.Calculation = xlCalculationAutomatic '自動にする
ただ、問題はそこではないですよ。
先ほどご提供したマクロは、選択した行に対して計算枠の2行目が合わさるように登場します。その状態で計算枠の3行目を選択すると、その行に対して計算枠の2行目が合わさるように移動してしまいます。問題はここです。
そこで選択した行に対して計算枠の最終行が合わさるように修正したのでお試しください。
ショートカットによるON OFF機能については、先に紹介した命令を使って、hiroyuki3019さんの方でお好きなように組み込んでください。
Private Sub 計算枠移動()
Dim Loc As Long
Dim ToAddr As String
Dim r As Range
If Application.Calculation = xlManual Then Exit Sub
If ActiveCell.Row < Range("計算枠").Rows.Count Then Exit Sub
Loc = ActiveCell.Row - Range("計算枠").Row - (Range("計算枠").Rows.Count - 1)
If Loc = 0 And ActiveCell.Worksheet Is Range("計算枠").Worksheet Then Exit Sub
ToAddr = "=" & ActiveSheet.Name & "!" & Range("計算枠").Offset(Loc).Address
ActiveWorkbook.Names("移動先").RefersTo = ToAddr
Range("計算枠").Copy Destination:=Range("移動先")
If Range("計算枠").Worksheet Is Range("移動先").Worksheet Then
For Each r In Range("計算枠").Rows
If Intersect(r, Range("移動先")) Is Nothing Then r.Clear
Next r
Else
Range("計算枠").Clear
End If
ActiveWorkbook.Names("計算枠").RefersTo = ToAddr
End Sub
ママチャリさん
凄い!!!
こんな風に出来ればいいな…。
が、形になってしまう。実現してしまう。
エクセルの面白さ、凄さ、奥深さを改めて知ることができました。ありがとうございます。
私は独学で勉強してきたので本来ならルールから外れているようなこともいっぱいしているんだと思います。
にもかかわらず、私の要望に沿った知識を教えてもらえる。
どうしたらママチャリさんのような知識や技術が得られるのか!?
今それがものすごく分かりたいです。
ベストアンサーに選びたいのですが、今選んでしまうと締め切られてしまうので少し先に延ばさせてください
。
もし叶うなら、どんな勉強法があるのか教えてください。宜しくお願いします。
No.5
- 回答日時:
こんにちは。
やっと戻ってきました。
肝心なのは、その緑の表を、オブジェクトで再現することではないでしょうか。
昔ですと、SpreadSheet オブジェクトなどがありましたが、今はセキュリティの関係でありません。
「Webのようにスクロール」するオブジェクトは出来ますし、#2様のように、それをリンクさせて表示することは可能ですし、オートシェイプの上に、フォーム・オブジェクトを載せて、グループ化すれば、簡単に移動も可能にはなります。Window で枠も何もないオブジェクトを備えることも可能だとは思いますが、どちらも、なかなか手間と技術のいる作業だと思います。最初から、UserFormとか作ってあるか、UserFormで作ろうとしているなら良いのですが、実際に出来たものを、そのまま加工するのは、困難を要します。
そこで、私の結論的な回答からすると、ご質問者さんを喜ばせるような回答ではなく、
#1で回答した
② ウィンドウ枠を固定して、上と下を別々にします。固定された表示部分を、上に追い出します。
という方法を、私はお勧めします。
③のリボンメニューについては、未だ、研究中です。
それ以上の凝った方法もあるかと思いますが、もう私には、これ以上の現実身(実用性)を感じないのです。
ここで、この件は、リタイアします。
失礼しました。
WindFallerさん
いつもありがとうございます。お付き合い頂き感謝しかありません。
ここに質問したお陰で、
こんなことも出来るの!?
と驚愕することしきりでした。本当に勉強になりました。ありがとうございます。
これからも宜しくお願いします。
No.3
- 回答日時:
「WEBのようにスクロール」とまではいきませんが、こんな感じでどうでしょう。
選択セルが変わる度に計算枠が憑いて来るように見えるはずです。
実際は、「計算枠をコピーして、選択先に張り付け、元を削除する」の繰り返しです。
手順としては、まず、計算枠のセル範囲に、次の2つの名前を付けて下さい(1つのセル範囲に、ふたつの名前を付けます)。
「計算枠」
「移動先」
次に、下記のマクロを ThisWorkbookモジュールに張り付けて、出来上がりです。
ちなみに、このマクロは計算方法を自動にした時だけ機能するようにしています。デバッグ等でシートを変更するような場合は、手動にしておくと鬱陶しくありません。
こちらでの動作確認は、シンプルな表でそこそこ快適に動きました。ただ、複雑な表になると多少ストレスを感じるかもしれません。
【ThisWorkbookモジュール】
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Call 計算枠移動
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Call 計算枠移動
End Sub
Private Sub 計算枠移動()
Dim Loc As Long
Dim ToAddr As String
Dim r As Range
If Application.Calculation = xlManual Then Exit Sub
If ActiveCell.Row < 2 Then Exit Sub
Loc = ActiveCell.Row - Range("計算枠").Row - 1
If Loc = 0 And ActiveCell.Worksheet Is Range("計算枠").Worksheet Then Exit Sub
ToAddr = "=" & ActiveSheet.Name & "!" & Range("計算枠").Offset(Loc).Address
ActiveWorkbook.Names("移動先").RefersTo = ToAddr
Range("計算枠").Copy Destination:=Range("移動先")
If Range("計算枠").Worksheet Is Range("移動先").Worksheet Then
For Each r In Range("計算枠").Rows
If Intersect(r, Range("移動先")) Is Nothing Then r.Clear
Next r
Else
Range("計算枠").Clear
End If
ActiveWorkbook.Names("計算枠").RefersTo = ToAddr
End Sub
No.2
- 回答日時:
スクロールと共に移動というのは難しいですけれど、データ入力/修正したらそこへ移動する、というのはできるように思います。
やり方
1.緑色枠の部分を別シートに作り直します。
2.その緑色枠部分をコピーして「テーブル」シートの都合の良い位置に「リンクされた図」として貼り付けます(貼り付けメニューの中にあります)。
3.[Alt]+[F11]でVBAエディタを開き、左側のプロジェクトウィンドウでThisWorkbookをクリックします。
4.右側のエディタエリアに下記コードを貼り付けます。
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
ActiveSheet.Shapes.Range(Array("Picture 1")).Top = ActiveCell.Top
End Sub
試してみて下さい。
chiuneさん
ご教授ありがとうございます。VBAっていろんなことができるんですね。凄いです。
やってみました。
計算枠は左側にある表から抽出して、加工日の範囲、その時の機械別の負荷率を見れるように
する為のもので、ドロップダウンで組み合わせができるようになっています。
計算結果を表示する為のものではありませんので、教えていただいた形だと使いづらいものに
なります。私が描いている希望とは違う結果になってしまいました。
伝え方が下手ですみません。
お忙しい中私の要望のために工夫していただいたこと感謝します。
ありがとうございます。
またよろしくお願いします。
No.1
- 回答日時:
こんにちは。
その解決には、3つの方法があると考えました。
画像で、その部分がもう少し大きく出ていれば、もう少し細かく考えられるかもしれません。
① その囲まれた部分全体を、ActiveX コントロール(?)でセル上に埋め込んで上げればよいような気がします。とりあえず、UserForm は見送り。Formコントロールもよいとは思いますが、非公開のテクニックも出てきそうな気がします。
② だいたいの方が選ぶ方法ですが、ウィンドウ枠を固定して、上と下を別々にします。固定された表示部分を、上に追い出します。
③ リボンカスタマイザーで、新しいタブとメニューを作ります。
(どのぐらいのことができるかは、今のところ未知です)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(ビジネス・キャリア) 今時の派遣社員って仕事が出来ないだけじゃなく計算も出来ないのか? 8 2022/07/22 20:53
- その他(コンピューター・テクノロジー) 50台の織機から回転数を取得・集計しモニターに表示したい 2 2022/11/05 15:48
- 中途・キャリア さて、社会人になってから13年目。 今まで、機械設計、機械製品の品質管理、部門の経営企画をやってきま 4 2023/07/17 08:59
- Excel(エクセル) Excelの関数で可能でしょうか、日付や式の値の自動更新 4 2023/05/19 17:17
- Excel(エクセル) Excel 時間の引き算でマイナスを表示させることは出来ますか 3 2023/06/14 21:54
- Excel(エクセル) エクセルで休憩時間を引く時と、引かない時の数式 3 2022/11/05 11:48
- その他(Microsoft Office) ピボットテーブルへの集計フィールド挿入 1 2023/02/26 11:33
- iPhone(アイフォーン) 同じ写真と動画をiOSが検出する便利な機能 写真のアルバムタブにて、画面を一番下までスクロールすると 3 2023/01/23 15:41
- WordPress(ワードプレス) Wordpress 複数プラグインの不具合? 1 2022/10/09 21:52
- その他(開発・運用・管理) 時間給の計算方法をお教えください 2 2022/06/01 12:21
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルでオブジェクトを常に表記する
Excel(エクセル)
-
Excelでワードアートや図を常に上部に表示させたい
Excel(エクセル)
-
エクセルの画面上にテキストBOXを常時表示させる
その他(ソフトウェア)
-
-
4
スクロールしてもボタンを常に表示させたい。Excel2002
Excel(エクセル)
-
5
EXCELの図形(テキストボックス)を固定したい
その他(Microsoft Office)
-
6
VBAで特定のテキストボックスを画面中央に来るように表示したい
Excel(エクセル)
-
7
excel スクロールしても常にボタンが表示される様にしたい。
PowerPoint(パワーポイント)
-
8
マクロを登録しているボタンが常に同じ位置にとどまるようにできるのでしょうか?
Excel(エクセル)
-
9
図形を描画している時の画面のスクロールについて
Excel(エクセル)
-
10
セルの文字を「印刷時だけ非表示」にしたいです。
Excel(エクセル)
-
11
【Excel VBA】マクロボタンを表のスクロールやフィルタに左右されず固定できないですか?
Excel(エクセル)
-
12
Excelの条件付き書式設定の太い罫線
Excel(エクセル)
-
13
EXCELで2列を参照し、重複するものを横に並べたい
Excel(エクセル)
-
14
エクセルでツールバーに「縮小して全体を表示する」を入れたい。
Excel(エクセル)
-
15
A1セルに入力したら、入力時間をA2セルに自動挿入
Excel(エクセル)
-
16
VBA ポップアップが表示されたら常に「はい」を選択したい
Access(アクセス)
-
17
エクセルVBAで選択状態を解除のしかた
Excel(エクセル)
-
18
エクセルのマクロで印刷プレビューを閉じる方法
Excel(エクセル)
-
19
コンボボックス内の文字サイズ変更
Excel(エクセル)
-
20
EXCELのシート内に作成した図について
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
100リットルにたいして本品10ml...
-
米5キロ3800円のを買っています...
-
医療費の計算方法を教えてくだ...
-
5000万円×3%+6万円などの計算を...
-
【Excel】 SUMPRODUCT関数の高速化
-
ExcelでLog10を自然数に直すには
-
2.75時間を何時間何分に直せと...
-
270万円の6対4の計算式を教え...
-
1平米の計算仕方は?
-
1000円の3割の計算教えて下さい
-
エクセルの計算式が上書き保存...
-
ロス率の計算が分かりません。...
-
excelで板取計算。1枚の板から...
-
土嚢1体で何m3入りますか?
-
ミカンの廃棄量
-
プロ野球について
-
2次RC回路 時定数求め方
-
iPhoneの関数電卓の使い方を教...
-
ダウントランスの容量計算
-
1000m2は何坪? 計算方法、教...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
1000円の3割の計算教えて下さい
-
【Excel】 SUMPRODUCT関数の高速化
-
ExcelでLog10を自然数に直すには
-
WEBのようにスクロールすると付...
-
医療費の計算方法を教えてくだ...
-
5フィート5インチって
-
excelで板取計算。1枚の板から...
-
GPAの平均値について。
-
270万円の6対4の計算式を教え...
-
Excel タイムカードで、昼休み...
-
2.75時間を何時間何分に直せと...
-
5000万円×3%+6万円などの計算を...
-
1日目に1円 二日目に2円 三日目...
-
(教えて下さい)ブルーレイディ...
-
1000m2は何坪? 計算方法、教...
-
結果が負の帯分数になる計算
-
Excel 負の数のマイナス部分を...
-
1平米の計算仕方は?
-
変調率の求め方が
-
WPSで#VALUE!を消す方法?
おすすめ情報
WindFallerさん
前回の質問に続きありがとうございます。
緑の枠の中、項目は左から加工日、機械、総時間、単品、数物となっています。
画質良くしてもアップすると同じような感じの荒さになってしまいます。
不鮮明で申し訳ないです。これでお分かりいただけますか?
宜しくお願いします。
ママチャリさん
ありがとうございます。
いつもながら凄いです!
面白いです!!
クリックした場所に現れました!!
質問なんですが、計算の自動、手動ってどう切り替えるのでしょう?
こんなことが出来たら凄いな…の要望なんですが、
添付画像のように組み合わせができるようにしたいのです。
例えば
加工日 機械
5月第1週5/2〜5/8 汎用(小)
と選択すれば、その期間5/2~5/8の 汎用(小)の負荷率、加工総時間が分かるのです。
が、今のままだとクリックした場所に計算枠が移動するので、ドロップダウンメニューが使えません。
ショートカットで自動手動の切り替えができて
手動の時にはドロップダウンメニューが使え、組み合わせが選択でき結果が表示される。
自動にするとクリックした位置に現れる…。
なんて出来るとうれしいですが可能でしょうか?
ママチャリさん
先に教えていただいた「行挿入すると見出しができる」の命令を実行する為に行番号をクリックすると其処にも移動してしまう為、ショートカットのON OFF機能が無いと困ってしまいそうです。
すみません、宜しくお願いします。