重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

A列_B列____C列____D列______E列____F列
1_日付____名前____商品名_________累計__
2_○/○___△△____×××_____×××____何個
3_○/○___△△____●●●_____■■■_____何個
4_○/○___◇◇____■■■_____●●●____何個
______________________□□□____何個
______________________◎◎◎____何個
500_○/○___××____◎◎◎
501_○/○___○○____□□□


上記のような日計売上表を作っております。
この様な場合E・F列の1~7行の範囲を常に固定?
下にスクロールしてもこの指定範囲が表示できるような方法ってあるものでしょうか?よくインターネット画面で、ある枠がスクロールしても一緒に降りてきますよね?そんな風になんて無理なんでしょうか・・・?

エクセルバージョンは2003です。
VBA、マクロ、至ってド素人です。

数百行まで入力しますので、累計が常に見えているようにしたいのです。ウィンドウ枠の固定では入力スペースがほとんど無くなってしまいますので他の方法を希望します。

A 回答 (9件)

ANo.7さんの方法知りませんでした・・・


でも図形になっているなら、下の方法ができるんでは・・・
どこかのsheetにコピーして、まずtestを実行してください。
後はどこかのセルを選択すると、ウインドウの右端に表を表示します。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Shapes("hyou")
.Top = Rows(ActiveWindow.ScrollRow).Top
.Left = Columns(ActiveWindow.ScrollColumn).Left + ActiveWindow.Width - Shapes("hyou").Width - 50 '50は適当な数字です
End With
End Sub

Sub test()
'表を作成
Range("E1:F7").Copy
Dim obj As Object
With ActiveSheet.Pictures.Paste(Link:=True)
.Name = "hyou"
.ShapeRange.Fill.Visible = msoTrue
.ShapeRange.Line.Weight = 0.75
.ShapeRange.Line.DashStyle = msoLineSolid
End With
End Sub

この回答への補足

最高!!

夢のような事が現実化してかなりびっくりしております。
そこでもう少しだけ詳しく教えて頂きたいのですが、現在出現する表は画面上の右上角に出てきますが、これを「右下角」にすることも可能でしょうか?もし方法があったら教えてください。

VBAはまったく分からないもので、ご面倒おかけします。

補足日時:2008/03/25 13:33
    • good
    • 0

.topと.leftで表の表示位置を決めています。


.Top = Rows(ActiveWindow.ScrollRow).Top + ActiveWindow.Height - .Height - 50
.Left = Columns(ActiveWindow.ScrollColumn).Left + ActiveWindow.Width - .Width - 50
で、多分右下くらいになると思います。
両方の50は、シートの行列番号やスクロールバーやシート見出しなどの表示分の補正のためで、シートの状態で変化するので、適当な値にしてください。

p.s.
既にShapes("hyou")を作ってあれば、上の部分を入れ替えるだけにしてください。
更にtestでShapes("hyou")を作ると、同じ物が2つできてしまいます。
その場合はどちらかを削除してください。
    • good
    • 0
この回答へのお礼

完全カンペキに理想どおりです。
本当にありがとうございました。

きっと同じ問題に手を焼いてる人が居るはずですし、多くの人に役立つ情報になると思います。
本当に本当にありがとうございました。

お礼日時:2008/03/25 23:15

次の操作で解消すると思いますよ


まず、表示して置きたい所を範囲指定してコピーします
シフトキーを押しながら編集をクリックし、コマンドの中からリンク貼り付けをクリック
出来上がった図は好きな場所に移動出来ます
ウィンドウ枠の固定を実施後、固定した場所に図を移動すれば良いと思います。
リンク貼り付けをしていますので累計も見えるでしょう。
又、大きさも自由に変更できますよ。

 補足:貼り付けた図は範囲指定した場所でオーバーラップしているので範囲指定した場所でドラッグすれば判ると思います。
色も変えれます。
    • good
    • 1
この回答へのお礼

ありがとうございます。
ほぼ思っていたとおりの結果です。
好きな所へ移動可能であり、何より手軽にできるという点が最高。

助かりました、本当にありがとうございました。

お礼日時:2008/03/24 23:24

こんなのはどうでしょうか?


「ファイル」「新規作成」「ブック」で新しいブックを作り、そこのA1:B7に元ブックのE1:F7を表示するようにする。
新しいBookのサイズを調節して、適当な端に表示する。

p.s.
本当は、新しいブックを常に先頭に表示できればいいのですが・・・
    • good
    • 0
この回答へのお礼

ありがとうございます。
実はその方法を今までやっていたのです・・・。
やはりこれしか方法は無いのですかね~・・・

貴重なご意見をありがとうございました。

お礼日時:2008/03/24 23:06

次善の策として、「ウィンドウ枠の分割」でどうでしょうか?


固定を使うとスクロールできませんが、ウィンドウの分割であればスクロールが可能です。
    • good
    • 0
この回答へのお礼

ありがとうございます。
やはりこうするしか術が無いのでしょうね・・・
何か未知の方法があればと夢見たのですが・・・
もう少しだけ色んな方々のご意見を頂戴して見ようと思います。

お礼日時:2008/03/24 00:25

カメラ機能など関係あるかもしれないが、


私は個人的興味から考えてみた。思いついたのは
ーー
Sheet1に、(表示ーツールバー)コントロールツールボックスの方の、Listboxを1つ貼り付ける。
ListBox1のプロパティ(右クリックで出る)の
ListFillRangeにF1:F7を指定する。
例えば
F1;F7に
三重
京都
奈良
岡山
和歌山
神戸
とデータがあると、リストボックスにも
三重
京都
奈良
岡山
和歌山
神戸
が出ている。質問では累計らしいが、セルの値と言う意味では同じだろう。リストボックスは2列のデータの表示も出来る。
ーー
一方Sheet1のChangeイベントに
Private Sub Worksheet_Change(ByVal Target As Range)
Worksheets("Sheet1").ListBox1.Left = Range("F1").Left
Worksheets("Sheet1").ListBox1.Top = ActiveWindow.VisibleRange.Top
End Sub
を作る。
これセルの値を変化させるとその画面の上辺でF列の位置にListBox1が移動する。
質問と似ているが違う点もあるが。
VBAを使わないと
VBAを使っても
この程度しか出来ないと思う。
100%の自信というわけではないが、相当難しい課題だ。
まして操作では絶望的ではないかな。

この回答への補足

ありがとうございます。
""リストボックスは2列のデータの表示も出来る。""
との事ですが、1行しかなりません・・・(涙)

と、次の
""一方Sheet1のChangeイベントに
Private Sub Worksheet_Change(ByVal Target As Range)
Worksheets("Sheet1").ListBox1.Left = Range("F1").Left
Worksheets("Sheet1").ListBox1.Top = ActiveWindow.VisibleRange.Top
End Sub""
ですが、シートタブを右クリックして「コード表示」から貼り付けてみましたが≪エラー≫となります。

本当にド素人ですみません。

補足日時:2008/03/24 00:06
    • good
    • 0

# [ウィンドウ枠の固定]でいいと思いますが。



1. [ウィンドウ]-[新しいウィンドウを開く]。
2. [ウィンドウ]-[整列]-[左右に並べて表示]などで、
  一方のウィンドウにE1:F7を常に表示しておく。

# なぜ入力スペースがほとんどなくなるのかがわからない。

この回答への補足

早速の回答ありがとうございます。
実は、E・F列の累計項目が40行はあるのです。
ですから枠固定にすると画面上、入力するスペースが無くなるのです・・・。
何か良い打開策をご存知でしたらお教え下さい。

補足日時:2008/03/23 21:55
    • good
    • 0

「ウィンドウ」→「ウィンドウ枠の固定」でお望みのことができます。


詳細はここで説明するより、実際にご自分で操作してみた方が早くわかります。
なお、解除するには「ウィンドウ」→「ウィンドウ枠の固定の解除」でできます。

この回答への補足

早速の回答ありがとうございます。
実は、E・F列の累計項目が40行はあるのです。
ですから枠固定にすると画面上、入力するスペースが無くなるのです・・・。
何か良い打開策をご存知でしたらお教え下さい。

補足日時:2008/03/23 22:06
    • good
    • 0

 


固定したい部分の左した(今回は多分A7)セルをクリックして・・・
ツールバーの「ウインドウ」から「ウインドウ枠の固定」をクリックして下さい。

 

この回答への補足

早速の回答ありがとうございます。
実は、E・F列の累計項目が40行はあるのです。
ですから枠固定にすると画面上、入力するスペースが無くなるのです・・・。
何か良い打開策をご存知でしたらお教え下さい。

補足日時:2008/03/23 22:04
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!