エクセルで・・・
 A1からA2,A3,A4・・・と下へ見てきて、
  A3が空白ではなかったら、A1セル右上からA2セル左下へ斜線を引く・・・
  A4が空白ではなかったら、A1セル右上からA3セル左下へ斜線を引く・・・
というように設定したいのですが、
このとき、セルを結合したくない場合は、図形を使う以外に方法はありますか?
また、図形を使うとしたら、セルがいくつ空いているかを判定させて、
使う図形を決めておかなくてはならないと思うのですが、
その設定の仕方を教えてください。
できましたら具体的に記述して教えてください。

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

A 回答 (1件)

結合しないで線を引く方法は思いつきませんでした。



>また、図形を使うとしたら、セルがいくつ空いているかを判定させて、
>使う図形を決めておかなくてはならないと思うのですが、・・・
使う図形を決めておくのも面倒(何個定義すればいい?)なので、自動的に線を引くVBAを書いてみました。線を引きたい列の範囲(連続範囲)を選択して実行します。
質問から、どの列を選択するかは任意ですが、選択列数は1としてあります。

標準モジュールに貼り付けます。
Public Sub myLineAdd()
  Dim Retu As Integer '線を引く列
  Dim rg As Range 'セル
  Dim myLine As Shape '線
  Dim rgStart, rgEnd As Range '線を引くために基準となる開始セル、終了セル
  Dim srtX, srtY, endX, endY As Double '線の位置(開始x,y、終了x,y)
  Dim selStart, selEnd As Long '処理を行う開始行、最終行
  Dim rw As Long '行カウンタ

  With Selection
    Retu = Val(.Column) '線を引く列をセットする
    selStart = .Cells(1, 1).Row '対象の最初の行
    selEnd = .Cells(.Rows.Count, 1).Row '対象の最後の行
  End With

  For rw = selStart To selEnd
    If Cells(rw, Retu) = "" And rgEnd Is Nothing Then
      Set rgEnd = Cells(rw, Retu) '空白セルの最初(線を引く最後)
    End If
    If Cells(rw, Retu) <> "" And Not rgEnd Is Nothing Then
      Set rgStart = Cells(rw - 1, Retu) '空白セルの最後(線を引く最初)
      '線を引くための座標
      srtX = rgStart.Left '開始横座標
      srtY = rgStart.Top + rgStart.Height '開始縦座標
      endX = rgEnd.Left + rgEnd.Width '最終横座標
      endY = rgEnd.Top '最終縦座標
      '線を引く
      Set myLine = ActiveSheet.Shapes.AddLine(srtX, srtY, endX, endY)
      Set rgEnd = Nothing '空白セルの最初を初期化
    End If
  Next
  Selection.Cells(1, 1).Select '選択解除
End Sub
    • good
    • 0
この回答へのお礼

いつもご丁寧なコメントつきのマクロ・・・本当にありがとうございます。
またお世話してください。。。是非ー。。。

お礼日時:2001/09/04 11:38

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

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

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

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

Q右クリックGoogle検索,結果が英語サイトに

ホームページ内の単語を,指定(カラー反転)し,「右クリックのGoogleで検索」から検索すると,結果が英語Googleサイトで表示されてしまいます。

iGoogleは日本語です。
英語表示状態で→Language tools→Use the Google Interface in Your Language→Japaneseで一旦日本語にしても,やはり右クリックから検索すると,結果が英語Googleサイトになってしまいます。

右クリック検索の結果を,日本語Googleサイト表示にするには,どうしたらいいのでしょうか。

Aベストアンサー

検索プロバイダが、google.comになっていませんか?

右上にある検索バーから検索しても英語サイトになるのではないかと思います。
検索プロバイダの管理を開き、検索アドレスがなにになっているか確認してみてください。
google.comではありませんか?
これをgoogle.co.jpを追加してそちらを既定にすれば、日本語で表示されるかと思います。
すでにgoogle.co.jpがリストにあるのなら、そちらを既定に変更してください。
それでもおかしい場合は、一旦Googleを検索プロバイダから削除してGoogle日本を追加します。

尚、現在「検索プロバイダの追加」をしようとすると私の環境では、Server is too busyとなって繋がりません。
質問者さんも繋がらない場合は別ルートから追加することができるかもしれませんが、まずは上記確認して下さい。

QA1セルにAと入力すると、A2セルに3000A3セルに2000A4セルに1000と表示させたい。

A1セルに「A」と入力する1回だけで、
A2セルに「3000」
A3セルに「2000」
A4セルに「1000」
A5セルに「合計数字」を表示させたいのですが、
式をご教授願いたいです。

よろしくお願いします。

Aベストアンサー

D1:G3
A500030001000
B500300130
C1200800300
A1にA,B,Cのどれかを入れる。
A2に =VLOOKUP($A$1,$D$1:$G$2,ROW(),FALSE)と入れて、
A4まで(G-D-1列数だけの行数)式を複写する。
結果
A1がBの場合A1:A4は
B
500
300
130

A1の空白の場合に対処して
=IF(A1="","",VLOOKUP($A$1,$D$1:$G$2,ROW(),FALSE))
が良いでしょう。
(既回答とほぼ同じ式ですが、1箇所違うところがあります。)

Q「右クリック→送る」に相当する英語

XPを使っています。
某フリーソフトを入れたところ
ファイルやフォルダを「右クリック→送る」に余計なものがつけられていました。
再インストールなども考えるので
「右クリック→送る」に相当する英語を教えてください。

Aベストアンサー

right click → send to

... ですか?

QVBA A1セルが空白になったら隣のセルも空白に

いつもお世話になります。
WINDOWS7 EXCELL2010 です。

A1セルに文字列で5桁のID番号を入力するとI4のセルに今日の日付が入るようにマクロを作っています。

このときA1セルをキーボードのBacksPaceでID番号を消してエンターキーを押した時にI4セルも空白にしたいと考えて下記のように作りましたが

If Range("A1") = “”
Range("$I$4") = "0000/00/00"
Else
Range("$I$4").ClearContents

上の構文が上手くゆかず困り果てました。
どのようにすればいいか御指導願えませんでしょうか。

参考に
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$A$1" Then Range("I4").Value = Date


If Range("A1") = “”
Range("$I$4") = "0000/00/00"
Else
Range("$I$4").ClearContents


End Sub

いつもお世話になります。
WINDOWS7 EXCELL2010 です。

A1セルに文字列で5桁のID番号を入力するとI4のセルに今日の日付が入るようにマクロを作っています。

このときA1セルをキーボードのBacksPaceでID番号を消してエンターキーを押した時にI4セルも空白にしたいと考えて下記のように作りましたが

If Range("A1") = “”
Range("$I$4") = "0000/00/00"
Else
Range("$I$4").ClearContents

上の構文が上手くゆかず困り果てました。
どのようにすればいいか御指導願えませんでしょうか。

参考...続きを読む

Aベストアンサー

こんな感じで如何でしょう。

Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$A$1" Then
    If Target.Value = "" Then
      Range("I4").ClearContents
    Else
      Range("I4").Value = Date
    End If
  End If
End Sub

Q右投左打って英語で何と書くのでしょうか?

野球グッズのデザイン中に困ってます。

野球選手の情報に「右投左打」とか「右投右打」などと書いてありますが、コレについて「内野手=Infielder」みたいな感じの専門英語?は無いのでしょうか?

色々検索してみたのですが、見つけられませんでした。
宜しくお願いします。

Aベストアンサー

厳密に言えば
BATS AT LEFT
TROWS AT RIGHT

名鑑などでよく目にするのは
B/Tと上にあって

L/R
L/L
R/R

と選手ごとに並んでいる感じですね(参考URL)

ひとりごとなら
B/T L/R
で右投げ左打ちという表記になるんじゃないかと

参考URL:http://tampabay.devilrays.mlb.com/NASApp/mlb/team/roster_active.jsp?c_id=tb

QEXCELの計算でセルA1に数字、A2に数字ではなく×をいれてA3にはA1とA2の積をいれたいのですが

×をEXCELに1と解釈させたいのです。
つまり、A1に「5」、A2に「×」をいれるとA3は「5」が入るようにしたいんです。
マトリックスをつくっているのですが、
×を「1」にしたくないんです。
ご回答お待ちしております。

Aベストアンサー

A2は×以外の場合もあるのでしょうか?
その場合は、どういう処理をするのでしょう?

A3セルに、
=IF(A2="×",A1,"")
でどうでしょうか?
 A2セルが×であれば、A1を表示し、それ以外の場合はA3セルは""、つまり何も表示しません。

先に書いたように、×以外に、○なら2倍、△なら3倍とか、A2セルの内容により変わるのなら、もっと工夫が必要です。

Q右クリックしたときに出てくるメニューが英語

マウスを右クリックしたときの文字を英語から日本語に変えることはできますか?

お分かりの方教えてください。

Aベストアンサー

実際の設定にも拘らずロケールが日本以外なのでしょう。
生産国が日本国内以外のPCで日本語環境の場合によくあらわれる症状ですね。

スタート → コントロールパネルの中の

時計、言語、および地域 を選び

地域と言語の表示言語の変更で
「形式」タブで「形式」が「日本」であっても一旦「英語(米国)」にする
次に「場所」タブで「現在の場所」が「日本」であっても一旦「米国」にする

「OK」をクリックし再起動する。

再起動後同じ設定を全て「日本」に戻し「OK」をクリックする。
再起動は不要ですが少々時間がかかって元に戻ります。

これで治りませんか?

Q【EXCEL】図形の寸法 図形をサイズ設定し、貼り付けた後に印刷します。 A3のサイズでA3で印刷し

【EXCEL】図形の寸法
図形をサイズ設定し、貼り付けた後に印刷します。

A3のサイズでA3で印刷します。
10×10センチで設定した図形が実際のサイズでは8.5×8.5センチになります。

なぜでしょうか?
エクセル2010です。
よろしくお願いします。

Aベストアンサー

実機で試せないのではずしてるかもですが。

プリンタには、紙の上下左右に印刷できない領域が多少なりともあります。

Excel の用紙の設定で、上下左右余白の寸法を、印刷不可領域を避ける寸法に
します。(そうしないと勝手に85%とかに縮小されてしまう)

これだけでも結構正確に印刷できるようになると思います。たぶんですが。

Q右クリックから出てくる言葉が英語で困っています。

画面上で右クリックすると、コピー貼り付け、など、□で囲んでいろんな言葉がでてきますけど、
それが英語表示になっています。日本語に直すにはどうしたらよいでしょうか?

Aベストアンサー

「画面」がデスクトップならわかりません。
IE上での右クリックのことを「画面」と表記しているなら、英語版のIEが導入されたようですので、日本語版に入れ直しましょう。

●Windows Vista または Windows Server 2008 で意図せず英語版の Internet Explorer 8 がインストールされる
http://support.microsoft.com/kb/971414/ja

事象が異なるなら、どの「画面」で右クリックしているのかを補足しましょう。

QExcelでひとつ置き(A1、A3、A5・・・)に合計とかふたつ置き(A1、A4、A7・・・)に合計というのは可能なのでしょうか?

タイトルの通りなのですが、
エクセルの雛形の関係上例えば
A1に「あ」という商品の代金 A2にその消費税
A3に「い」という商品の代金 A4にその消費税…
などという入力をすることがあり、
最後に商品代金だけ、消費税だけを計算したいとき
今まではA1+A3+A5+・・・という風に手でいちいち計算していたのですが
何か利用できそうな関数・数式はないものかと思い質問しました。

同じように2つ置き(A1+A4+A7+・・・)の方法もありませんでしょうか?

Aベストアンサー

一例です。
A1:A10範囲とします。
■奇数行の計数
=SUMPRODUCT((MOD(ROW(A1:A10),2)=1)*A1:A10)
■奇数行の計数
=SUMPRODUCT((MOD(ROW(A1:A10),2)=0)*A1:A10)

■3行毎の計数
=SUMPRODUCT((MOD(ROW(A1:A10),3)=1)*A1:A10)


人気Q&Aランキング

おすすめ情報