ウォーターサーバーとコーヒーマシンが一体化した画期的マシン >>

現在画像のようにオートフィルタとウィンドウ枠の固定機能を使用しているファイルがあります。
そこにワードアートで「打ち間違い注意」のような注釈を付けたいのですが、
このシートをスクロールした時に、ワードアートだけ常に見える位置に表示する方法はありませんか?
スクロールしてもワードアートの部分だけスクロールで上に消えていってしまわないようにしたいのです。
ワードアートは画像化してもいいです。(必ずしもワードアートでなくても良い、目立つ注釈であれば何でもいいです。)
簡単なVBAでファイルを開いた時にアラートが出るようにしたらどうかと提案したら、
アラートだけでは地味で目立たないからと上司に却下されてしまいました。
ウインドウを縦に分割してみましたが分割しても一緒にスクロールされてしまうし…

Windows7でExcelは2003です。
VBAは初歩的な部分が少し分かる程度です。

よろしくおねがいします。

「Excelでワードアートや図を常に上部に」の質問画像

このQ&Aに関連する最新のQ&A

A 回答 (8件)

No.4の回答者です。



> まだどうやって改行したり文字サイズを変えたりするのか

[ Enter ]キーなどで改行してくれるわけではないので、挿入したラベル
の枠で横幅を狭くするなどで対応します。
ラベル幅を変更する方法以外だと、新規ラベルを追加し、2つのラベルで
改行風にする方法もありますね。
文字サイズなどは[プロパティ]やマクロ指定でできると簡単にできると
思います。

http://www.239-programing.com/excel-vba/ufm/ufm0 …
http://www.officepro.jp/excelvbaform/form_label/ …

[ ForeColor ]がフォントの色で、[ Font ]でフォント名やサイズを指定
できます。
そのほかの項目も、いろいろ試してみれば理解できると思います。
    • good
    • 0
この回答へのお礼

ありがとうございます!
かなり想像に近いものができました。

お礼日時:2015/10/11 18:38

No.4の回答者です。



ユーザーフォームを出したままで編集作業をするのなら、私が紹介した
2番目のURL先にあるベストアンサーのVBAで可能になりませんか?

Private Sub Workbook_Open()
UserForm1.Show (vbModeless)
End Sub

モードレスで表示することでシートの操作ができると思うのですが。
http://www.officepro.jp/excelvbaform/form_form/i …
http://www.ab.auone-net.jp/~t.i/chapter7-5.html

ユーザーフォームの[プロパティ]からでも指定できると思います。
http://excel-pro.info/06_excel-VBA_24.html
    • good
    • 0
この回答へのお礼

あっ、モードレス表示っていうのがあるんですね!できました!
まだどうやって改行したり文字サイズを変えたりするのか理解できてないのですが色々試してみます。
ありがとうございます!

お礼日時:2015/10/10 19:47

コメント入力欄の背景に図を挿入するってのは?

「Excelでワードアートや図を常に上部に」の回答画像6
    • good
    • 1
この回答へのお礼

コメント入力欄に図を入れられるんですね。
でもやっぱりスクロールすると消えてしまうし全部のセルに適用させると苦情が出そうです~
回答ありがとうございました

お礼日時:2015/10/10 19:50

No.3です。


画像の左側に大きく余白を作った状態で貼り付けるとシートの右側に並べられると思う。
うっとおしいと言われるだろうが、それなら間違えるな!とw

いっそのこと、Excelから離れて、
ポストイットに赤いマジックで書いて、モニタの枠に貼り付けたり
壁紙にしてみるのもおもしろいかもしれないw
    • good
    • 0
この回答へのお礼

確かにそうなんですよね、鬱陶しいなら間違えるな!これは確かに本音です…笑
ポストイット貼っておけばいいじゃんと思いますが、共有のデータで何度も間違えるし永遠に覚えない人が何人もいるので、(しかもデータも複数ある)データ内に常に見える位置に注意書きは絶対必要と指示されております

今のところ余白を作って右に寄せて間隔を短めに表示させるのが一番簡単な方法かもしれません…
回答ありがとうございました。

お礼日時:2015/10/10 17:39

[ユーザーフォーム]の[ラベル]を使うのはダメですか?


http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/v …
シートやブックを開くと表示させるように設定すれば、注釈みたいに
使えると思います。
http://q.hatena.ne.jp/1208657362

[ユーザーフォーム]なら、[ウィンドウ枠の固定]をしてもスクロール
されることはないと思います。
「Excelでワードアートや図を常に上部に」の回答画像4
    • good
    • 0
この回答へのお礼

なるほど、ちょっとまだ知らないVBAの機能なので上手くできるかわかりませんが、調べてみようと思います。
ちなみにこちらのラベル、今ユーザーフォームを作ってThisworkbookの所をOpenにして開いた時に表示させるところまでできましたが、フォームを閉じないとExcelの操作ができない状態です。
何らかの方法で閉じなくても操作できるようになるのでしょうか。

お礼日時:2015/10/10 17:33

画像化してもよいなら…背景画に設定してはどうか。


タイル状に貼り付けられるので「うっとおしい」と言われるかもしれないが、
そのときは余白を大きくとった画像に直してから貼り付けるとよい。

やり方は、「ページレイアウト」から「背景」を選んで「ファイル」から画像を選択すればよい。
タイル状に貼り付けられるので必ず上に表示されるわけではない。
スクロールさせれば下から顔を覗かせたりする。
    • good
    • 1
この回答へのお礼

なるほど!いいな~と思ってやってみましたが、
背景部分もスクロールするんですね。
これだと短い間隔で貼ると鬱陶しい!と苦情が入り、
間隔を広げると目に付かない時がある!と苦情が入りそうです…
回答ありがとうございました。

お礼日時:2015/10/10 12:00

添付図は如何?

「Excelでワードアートや図を常に上部に」の回答画像2
    • good
    • 0
この回答へのお礼

それも考えたのですがタイトル部分が広くなると見辛いと苦情が入るのでNGで…
回答ありがとうございました。

お礼日時:2015/10/10 11:47

ウィンドウ枠を固定してるなら、タイトルの上に何行か挿入してそこに配置しては?

    • good
    • 0
この回答へのお礼

それも考えたのですがタイトル部分が広くなると見辛いと苦情が入るのでNGで…
回答ありがとうございました。

お礼日時:2015/10/10 11:58

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルでオブジェクトを常に表記する

エクセルでオブジェクトの表示に関してですが、スクロールをしても常時表示させるようにしたいです。
条件としてはセルの固定や分割は表示範囲で問題がありますので、それら以外の方法でやりたいです。

よろしくお願いします。

恐らくVBAになる気がしますが、かなり難しい作業でしょうか!?

Aベストアンサー

Excelではスクロールによるイベントがないので代替案として、選択セルを変更した際に
(相対的に)同じ座標にオブジェクトを移動させます。

仮にB3の位置に図(ZU)が貼ってあります。
セルが移動するたびに画面左上隅のセルから右に1つ、下に3つめのセルの座標にあわせて図を移動させるマクロ

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With ActiveSheet
.Shapes("ZU").Top = .Cells(ActiveWindow.ScrollRow + 2, ActiveWindow.ScrollColumn + 1).Top
.Shapes("ZU").Left = .Cells(ActiveWindow.ScrollRow + 2, ActiveWindow.ScrollColumn + 1).Left
End With
End Sub

これでスクロールバーでスクロールしている最中は無理ですが、どこかセルをクリックすれば
図が表示されます。

Excelではスクロールによるイベントがないので代替案として、選択セルを変更した際に
(相対的に)同じ座標にオブジェクトを移動させます。

仮にB3の位置に図(ZU)が貼ってあります。
セルが移動するたびに画面左上隅のセルから右に1つ、下に3つめのセルの座標にあわせて図を移動させるマクロ

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With ActiveSheet
.Shapes("ZU").Top = .Cells(ActiveWindow.ScrollRow + 2, ActiveWindow.ScrollColumn + 1).Top
.Shapes("ZU...続きを読む

QEXCELのシート内に作成した図について

シートの左側に表を作成してありまして、その表の右上に小さな図を常に表示しておきたいのですが・・・
画面のスクロール(ウィンドウを固定してスクロールしても)に影響されず、常に画面上に表示する事は可能でしょうか?
↓既にに似た様な質問がありましたが、解決出来ませんでした。お解かりになる方、ご回答をお待ちしております。

http://oshiete1.goo.ne.jp/qa2516858.html

Aベストアンサー

その図が全部含まれるようにウィンドウ枠を固定すれば出来ます。

図の大きさが9行までなら10行を選択して ウィンドウ>ウィンドウ枠の固定
を押してください。

QEXCEL  一部のオブジェクトだけを固定したい

お世話になっております。
EXCEL2000です。
http://okweb.jp/kotaeru.php3?q=249769
ある一部のオブジェクトだけを固定したいのです。
調べましたが、すべてのオブジェクトが固定されてしまう方法だけがわかったぐらいです。
以下の方法です。

まず、図形のオートシェイプの書式設定の「保護」でロックにチェックを入れます。次にメニューの「ツール」-「保護」で「シート」を選択します。そうすると「データ」「オブジェクト」「シナリオ」と表示されますので、オブジェクトにチェックを入れてください。
データにチェックを入れてしまうとロックされているデータのセルすべてが入力不可。
また列や行を削除や幅を変更させた時に図形の大きさを変えたくない場合は、オートシェイプの書式設定のプロパティで「セルに合わせて移動やサイズ変更しない」にチェック入れておけば、図の位置や大きさはそのまま。

おでも、あくまで一部のオブジェクトだけを固定するほうほうはありますか?

Aベストアンサー

その、固定したいオブジェクトだけを「ロック」のチェックをし、固定しないオブジェクトはチェックを外した上で、シートを保護すればいいのです。

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Qスクロールしてもボタンを常に表示させたい。Excel2002

イントラ掲出用の社員向けのマニュアルを作成しております。

・30シート程度に分かれており、メインページからその30シートにジャンプできるようハイパーリンクの設定をしています。

テスト版を掲出したところ、すぐにメインページに戻れなくて不便だとの意見が出ました。シートタブをクリックすればそんなに手間をかけず移動できるとは思うのですがExcelの操作に不慣れな方も多く、とても簡単な方法を探しています。

そこでボタンを作成し、マクロの記録でマクロを登録し、ボタンをクリックすればメインページに戻れるようにしたいと思ってます。ただ縦や横に長いシートもあり、スクロールしても常に画面上に「戻るボタン」が表示されていればなお便利なのではと思ってます。

ウインド枠の固定もしくは画面分割で対応できるとは思いますが、見た目のスマートさから、ボタンが常に表示される方法が望ましいんですが、そんな事はできるのでしょうか?

Aベストアンサー

こんにちは。#4 Wendy02です。

1.
# 特定のブックのみに現れるメニューのところに置くボタン(コマンドボタン)

一般的に、マクロを使わない方法としては、ボタンをブックにコピーして貼り付けます。しかし、それをされると、ブックをクローズしても、残るので、私は不愉快な気分になります。わたし流は、やはりマクロで付けます。

2.
>「画面の移動に付いて来るワークシートの中のボタンを使っています。」とありますがこれはVBAで作られたものなのでしょうか?
マクロです。いわゆる「どこでもボタン」です。
それぞれテクニックを公開します。

<標準モジュール>
Alt +  F11 (Altを押しながらF11)を押すと、Visual Basic Editor 画面が出てきます。
次に、メニューの[挿入]-[標準モジュール]と開けて、クリックすると、画面が現れますので、コードを貼り付けます。

<ThisWorkbook>
Visual Basic Editor 画面の左上側にプロジェクト(エクスプローラ)窓があります。その中に、ThisWorkbook をダブルクリックして現れる画面です。


1.
'<標準モジュールに設定します。>

'--------------------------------------------
Private Sub AddMenu()
With Application.CommandBars("Worksheet Menu Bar")
On Error Resume Next
   .Controls("メインシート(&B)").Delete
On Error GoTo 0
With .Controls.Add(Type:=msoControlButton, Temporary:=True)
  .Caption = "メインシート(&B)"
  .OnAction = "GoToMain"
  .FaceId = 2073 '家の形の色付きのアイコン
  .TooltipText = "メインシートに飛びます"
  .Style = msoButtonIconAndCaption
  .Visible = True
End With
End With
End Sub
Private Sub GotoMain()
'メインシートに飛ぶ Worksheets(_______)の中に入れる
Application.Goto Worksheets("Sheet1").Range("A1")
End Sub
Sub Auto_Open()
 'オープンと同時にメニュー設定
 Call AddMenu
End Sub
Sub Auto_Close()
'このブックを閉じるとメニューも消える
 With Application.CommandBars("Worksheet Menu Bar")
 On Error Resume Next
   .Controls("メインシート(&B)").Delete
 On Error GoTo 0
 End With
End Sub

'--------------------------------------------
Worksheets("Sheet1")のカッコの中に実際のシート名を書き換えてください。

2.

'<ThisWorkbookモジュール>
'-----------------------------------
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim myBtn As Object, WinTop As Double, WinLeft As Double
On Error GoTo EndLine
Set myBtn = Sh.Shapes("ボタン 1")
If myBtn Is Nothing Then Exit Sub
  WinTop = ActiveWindow.VisibleRange.Top
  WinLeft = ActiveWindow.VisibleRange.Left
  With myBtn
    .Top = WinTop + 10  '上から
    .Left = WinLeft + 550 '左から(右までで全部で650ぐらい)
  End With
EndLine:
End Sub

'-----------------------------------

これは、シートにボタン(フォームツールで作ったもの)があれば、そのボタンが、シートの移動と共についていく、というものです。位置は、「上からと左から」で、お好きに数字を調整してください。

一味違うマクロかな(^^;

こんにちは。#4 Wendy02です。

1.
# 特定のブックのみに現れるメニューのところに置くボタン(コマンドボタン)

一般的に、マクロを使わない方法としては、ボタンをブックにコピーして貼り付けます。しかし、それをされると、ブックをクローズしても、残るので、私は不愉快な気分になります。わたし流は、やはりマクロで付けます。

2.
>「画面の移動に付いて来るワークシートの中のボタンを使っています。」とありますがこれはVBAで作られたものなのでしょうか?
マクロです。いわゆる「どこでも...続きを読む

Q(Excel)あるセルに文字を入力しただけで、同じブック内のほかのワークシートにも、同じ文字が自動的に入るようにするには?

こんにちは。
質問内容はタイトルのとおりです。

あるワークシートのあるセルに文字を入力すると、ほかのワークシートのセルにも同じ文字が自動的に書き込まれる方法を知りたいです(ブックは同じ)。複数のワークシートを制御するには、やはりマクロを使うのでしょうか?

よろしくお願いします。

Aベストアンサー

clam_chowderさん、こんにちは。

Sheet1のA1にたとえば「100」と入力しますね。
Sheet2のA1に、これと同じ数値を表示するには、
 =Sheet1!A1
でOKです。

数式をいれるのが苦手なら、
Sheet2のA1セルで「=」を入力すると、数式入力状態に入りますから、
ここでSheet1のシートタブをクリックし、
リンクしたいA1セルをクリックしてEnterすると、
自動的にさきほどと同じ式が入ります。

QEXCELに関する質問

いつもお世話になっています。
EXCELに関する質問です。
シートにテキストBOXを作成します。
シートを上下にスクロールさせた時に、テキストBOXが常に画面の右上に表示されるようにするための
マクロを教えていただけませんでしょうか?
よろしくお願いします。

Aベストアンサー

こんにちは。

スクロールイベント自体は、作らないとなかったと思いますが、通常、その後で、ワークシートに触らないということはありえませんので、セルをクリックすればよいと思います。

私は、以下のようなものを使っています。

テキストボックスは、図形描画で入れた、テキストボックスにさせていただきます。
違いましたら、適当に、オブジェクトを変更してください。


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim WinTop As Single
Dim WinLeft As Single
  '上
  WinTop = ActiveWindow.VisibleRange.Top
  '真ん中
  WinLeft = ActiveWindow.VisibleRange.Left + (ActiveWindow.VisibleRange.Width / 2)
  With ActiveSheet.Shapes("テキスト 1")
    .Top = WinTop + 3
    .Left = WinLeft + 160  '数字で位置調整してください
  End With
End Sub

こんにちは。

スクロールイベント自体は、作らないとなかったと思いますが、通常、その後で、ワークシートに触らないということはありえませんので、セルをクリックすればよいと思います。

私は、以下のようなものを使っています。

テキストボックスは、図形描画で入れた、テキストボックスにさせていただきます。
違いましたら、適当に、オブジェクトを変更してください。


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim WinTop As Single
Dim WinLeft As Single
  '上
...続きを読む

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

Q【Excel】挿入した図の上に文字を書きたい

いつもお世話になっています。
Excelのバージョンは2003です。

挿入→図からワークシートの上に図を貼り、
その上から文字を書きたいのですが、可能でしょうか。

セルに文字は入れられますが、図の下にあるため見えなくなってしまいます。

何かやり方があるのなら教えていただけないでしょうか。
よろしくお願いします。

Aベストアンサー

>セルに書いた文字を最前面に持ってくることはできないのでしょうか?

 図の背景を「塗りつぶし無し」にすれば、透かしてみるような状況にすることができますが、図に色がある場合、図の色より優先させて表示することはできないようです。

Q【Excel】 セルの色での判断はできますか?

使用環境:Office2003

条件付書式を使用して、セルの値がxxならばセルを着色する・フォントを変える、というのは可能ですが、

逆に

セルの色がxx(例えば赤等)ならば、隣のセルに1を代入する

ということは可能でしょうか?
※VBAを使わなければそれにこしたことはないですが、
 必要ならばコーディングも教えてください

よろしくお願いします。

Aベストアンサー

過去の質問を検索していただくと、たくさんの事例がありますが、結論から言うとVBAを使用しないとセルの色は取得できません

>セルの色がxx(例えば赤等)ならば、隣のセルに1を代入する
VBAを使用すればもちろんできますが、これは「例えば」の質問であって、このコードを書いても意味はないのでは?

ですから汎用的に使えるユーザ定義関数にしました。以下のマクロをALT+F11でVBE画面を開き、左上のVBA Projectでシート名を右クリックし「挿入」→「標準モジュール」で表示される画面に貼り付けて下さい。
ワークシート画面に戻って、適当なセルに
=CellColor(A1)
と入力してみて下さい。A1セルの色番号が表示されます。(背景色なしの場合は0が返ります)
この戻り値判定して、関数などでセルに値をセットすればよいでしょう

Function CellColor(ByVal rng As Range)
With rng.Cells(1, 1).Interior
If .ColorIndex = xlNone Then
CellColor = 0
Else
CellColor = .ColorIndex
End If
End With
End Function

ただしセルの背景色を後から変えても、ユーザ定義関数の戻り値は自動的には変わりません。式を入力した後で背景色を変更した場合は
 ALT+Ctlr+F9
で強制再計算させる必要があります。

過去の質問を検索していただくと、たくさんの事例がありますが、結論から言うとVBAを使用しないとセルの色は取得できません

>セルの色がxx(例えば赤等)ならば、隣のセルに1を代入する
VBAを使用すればもちろんできますが、これは「例えば」の質問であって、このコードを書いても意味はないのでは?

ですから汎用的に使えるユーザ定義関数にしました。以下のマクロをALT+F11でVBE画面を開き、左上のVBA Projectでシート名を右クリックし「挿入」→「標準モジュール」で表示される画面に貼り付けて...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング