またまたお知恵拝借させてください。
添付画像の緑で囲った部分がスクロールと共に移動して欲しいのですが可能でしょうか?
主加工の欄はM、MC、L、外注それぞれ選択して表示できるようになっていますが、そのどの画面でも表示されていて、スクロールと共に移動してくれる。
そんな計算枠にしたいのですが可能でしょうか?
現在の計算枠はテーブルの数値を参照にしています。
加工日や機械はドロップダウンメニューで選択できます。
総時間は、同じ加工日の同じ機械の総和が計算できるようになっています。
MAX稼働時間はM、MC、Lそれぞれで変わるようにしています(画像に表示されたものです)
負荷率は総時間をMAX稼働時間で除したものです。
数物は総時間と同様に同じ加工日、機械の数物時間の和です。
単品は総時間から数物時間を引いた数値です。
実現すれば一気に便利な機能になるのですが可能でしょうか?
宜しくお願いします。
No.1
- 回答日時:
こんにちは。
その解決には、3つの方法があると考えました。
画像で、その部分がもう少し大きく出ていれば、もう少し細かく考えられるかもしれません。
① その囲まれた部分全体を、ActiveX コントロール(?)でセル上に埋め込んで上げればよいような気がします。とりあえず、UserForm は見送り。Formコントロールもよいとは思いますが、非公開のテクニックも出てきそうな気がします。
② だいたいの方が選ぶ方法ですが、ウィンドウ枠を固定して、上と下を別々にします。固定された表示部分を、上に追い出します。
③ リボンカスタマイザーで、新しいタブとメニューを作ります。
(どのぐらいのことができるかは、今のところ未知です)
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.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.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さん
いつもありがとうございます。お付き合い頂き感謝しかありません。
ここに質問したお陰で、
こんなことも出来るの!?
と驚愕することしきりでした。本当に勉強になりました。ありがとうございます。
これからも宜しくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ちょっと先の未来クイズ第2問
9月9日(月)に発表される「第3回子どもマネー川柳」に入賞する川柳を考えてこちらに投稿してください。
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
エクセルでオブジェクトを常に表記する
Excel(エクセル)
-
Excelでワードアートや図を常に上部に表示させたい
Excel(エクセル)
-
エクセルの画面上にテキストBOXを常時表示させる
その他(ソフトウェア)
-
-
4
スクロールしてもボタンを常に表示させたい。Excel2002
Excel(エクセル)
-
5
図形を描画している時の画面のスクロールについて
Excel(エクセル)
-
6
EXCELで、貼り付けた図を固定したい
Excel(エクセル)
-
7
Excelで一部分だけを常に表示させたい
その他(パソコン・スマホ・電化製品)
-
8
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
9
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
10
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
11
VBAでファイルを開くときにファイル名でワイルドカードを使用したいです
その他(プログラミング・Web制作)
-
12
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
13
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
14
エクセルで、セルに値を入力して確定した時(フォーカスが隣に移動した時)に発生するイベントを教えてください!
Excel(エクセル)
-
15
Excelで重複データの件数ではなく、何番目かを求める方法
Excel(エクセル)
-
16
ヘッダー
Excel(エクセル)
-
17
エクセルで、日付を入力すると、別のセルに文字を自動的に表示させるようにするには。
Excel(エクセル)
-
18
マクロ実行時、ユーザーフォームにラベルのテキストが表示されません。
Access(アクセス)
-
19
VBAで特定のテキストボックスを画面中央に来るように表示したい
Excel(エクセル)
-
20
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
1000円の3割の計算教えて下さい
-
1日目に1円 二日目に2円 三日目...
-
土嚢1体で何m3入りますか?
-
iPhoneの関数電卓の使い方を教...
-
ExcelでLog10を自然数に直すには
-
変調率の求め方が
-
1350円の、2割五分増しと ...
-
5000万円×3%+6万円などの計算を...
-
WEBのようにスクロールすると付...
-
4を4つ使って1〜100を作って欲...
-
【Excel】 SUMPRODUCT関数の高速化
-
ミカンの廃棄量
-
計算式を教えて下さい 目標99秒...
-
Excel 負の数のマイナス部分を...
-
検挙率の計算方法
-
漢字の変換(計るor図る)
-
直流2線式の電圧降下の計算
-
NOx・SOx量
-
DATEDIF関数と普通の引き算によ...
-
バンドパスフィルターについて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
1000円の3割の計算教えて下さい
-
【Excel】 SUMPRODUCT関数の高速化
-
医療費の計算方法を教えてくだ...
-
結果が負の帯分数になる計算
-
ExcelでLog10を自然数に直すには
-
iPhoneの関数電卓の使い方を教...
-
WEBのようにスクロールすると付...
-
1日目に1円 二日目に2円 三日目...
-
土嚢1体で何m3入りますか?
-
5000万円×3%+6万円などの計算を...
-
excelで板取計算。1枚の板から...
-
なぜここでもう一度確かめの計...
-
1000m2は何坪? 計算方法、教...
-
スポーツスターの各ギアの速度...
-
おつりの計算ができない。 コン...
-
2.75時間を何時間何分に直せと...
-
270万円の6対4の計算式を教え...
-
1平米の計算仕方は?
-
エクセルの計算式が上書き保存...
-
1350円の、2割五分増しと ...
おすすめ情報
WindFallerさん
前回の質問に続きありがとうございます。
緑の枠の中、項目は左から加工日、機械、総時間、単品、数物となっています。
画質良くしてもアップすると同じような感じの荒さになってしまいます。
不鮮明で申し訳ないです。これでお分かりいただけますか?
宜しくお願いします。
ママチャリさん
ありがとうございます。
いつもながら凄いです!
面白いです!!
クリックした場所に現れました!!
質問なんですが、計算の自動、手動ってどう切り替えるのでしょう?
こんなことが出来たら凄いな…の要望なんですが、
添付画像のように組み合わせができるようにしたいのです。
例えば
加工日 機械
5月第1週5/2〜5/8 汎用(小)
と選択すれば、その期間5/2~5/8の 汎用(小)の負荷率、加工総時間が分かるのです。
が、今のままだとクリックした場所に計算枠が移動するので、ドロップダウンメニューが使えません。
ショートカットで自動手動の切り替えができて
手動の時にはドロップダウンメニューが使え、組み合わせが選択でき結果が表示される。
自動にするとクリックした位置に現れる…。
なんて出来るとうれしいですが可能でしょうか?
ママチャリさん
先に教えていただいた「行挿入すると見出しができる」の命令を実行する為に行番号をクリックすると其処にも移動してしまう為、ショートカットのON OFF機能が無いと困ってしまいそうです。
すみません、宜しくお願いします。