アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセル2010です。
例えば、ある行や列の書式設定をまるごと変えたいが、その中に部分的に書式を変えたくないセルがぽつぽつ混ざっているとします。
そういうときに行や列を選択し、書式を変えたくないセルだけを選んで選択解除するということはできませんか?

単純に、マウスで該当のセルをctrl+クリックしても、そこの部分の色は変わるものの選択解除にはなりませんでした。

方法をご存知の方がいらっしゃいましたらご指南いただけますでしょうか。
よろしくお願いします。

A 回答 (3件)

こんにちは 



必要でないセルを選択して、セルの削除では・・・ないかな?

この回答への補足

セルを削除するとセルが無くなってしまいます。
書式設定を変えたくないセルだけを、選択から外す方法を質問しています。

補足日時:2013/10/01 13:20
    • good
    • 0

>そういうときに行や列を選択し、書式を変えたくないセルだけを選んで選択解除するということはできませんか?


最初から飛び飛びに選択することはできますが選択したセルの中から部分的に選択解除することはできないようです。
    • good
    • 2
この回答へのお礼

ありがとうございます。やはりできないのですか・・・(@_@;)
エクセルを勉強し始めて、その可能性の大きさに日々驚嘆しているのですが、意外にもそういう機能を装備していないとは逆に驚きです。
けっこうこういう選択をしたいケースって、多いと思うんですけどねー・・・

お礼日時:2013/10/01 13:24

こんにちは。



ご質問の例ですと、
一旦、"ある行や列の書式設定をまるごと変え"
その後に、"部分的に書式を変えたくないセル"を選択して書式を戻す、
という方法が、当たり前のようでいて、最短手数になる場合が多いです。
または、"部分的に書式を変えたいセル"を
Ctrlキーを押したまま複数同時に選択して"書式設定をまるごと変え"る
という方法が優る場合もあるでしょう。

無いものは無いなりに、色々と手だてを心得ておいて工夫することになると思います。
以下のURLを参考にしてみてください。

「エクセルでの選択範囲の追加について。」
http://oshiete.goo.ne.jp/qa/5746178.html

ショートカットキーの使い方とかは、知って置くだけで能率が上がるとは思います。

無いのなら作ってしまえ、というトライも幾つかある訳で、、、。
 (因みにリンク先私の回答No.5中の一部リンク切れについて補足
  【E03M121 切り取り又はコピーされたセル範囲を取得する 】
  http://www2.aqua-r.tepm.jp/~kmado/kvba.htm
  )
「選択範囲の部分解除」だけで良ければ、VBAで、比較的簡易に対応可能です。
以下、上記リンク先No.5を元に(コピーモード対策を省略し)より簡略化し、
xl2007以降でも、そのまま試せるように書き直したものです。
日頃私が使っているものと殆ど同じものです。
もし、試し方が解らないとか、試した上ですべてのExcelブックで機能させたいとか、
他にも、相談あれば補足欄にでも書いてみてください。


' XL2000、2003、2007、2010にて動作確認。
' 新規の標準モジュール に =この行から=~=この行まで=、全文(過不足なく!! ) コピペ
' Auto_Openを実行してショートカット(Ctrl + Shift + q)を設定。
' ブックを保存したらば、以降、Ctrl + Shift + q キーで機能を呼び出せます。

' ' 標準モジュール
' ' ===========この行から==========
Option Explicit
Option Private Module
DefStr S: DefLng N
Const S_SHORTCUT = "^+q"

' ' -------------------------------
Sub Auto_Open()
  Application.OnKey S_SHORTCUT, "CullAreas"
End Sub

' ' -------------------------------
Sub Auto_Close()
  Application.OnKey S_SHORTCUT
End Sub

' ' -------------------------------
' ' 選択範囲の部分解除 ... Ctrl + Shift + q で動作
Sub CullAreas()
  Const S_TTL = "選択セル範囲の部分解除"
  Dim vCull, r As Range, rPos As Range, rRet As Range
  Dim sTmp, sRef  '  As String
  Dim nCCpM, nWR, nWC, nTop, nLeft, nBottom, nRight  '  As Long

  If Not TypeName(Selection) Like "Range" Then Exit Sub
  With Selection
    If .Count = 1 Then MsgBox "単一セルには使えません", 64, S_TTL: Exit Sub
    sTmp = .Areas(.Areas.Count).Address
  End With
  With Application
    Do
      vCull = VBA.Array(.InputBox("選択解除するセル(最大4領域)を" _
                  & vbLf & "Ctrlキーを押したまま、または,(カンマ)区切りで選択して OK" _
                  , S_TTL, sTmp, , , , , 8))
      If Not TypeName(vCull(0)) Like "Range" Then
        MsgBox "キャンセルされました", 64, S_TTL
        Exit Sub
      ElseIf vCull(0).Areas.Count > 4 Then
        MsgBox "解除指定できるのは 一度に 4つ 迄の領域", 48, S_TTL
      Else
        Exit Do
      End If
    Loop
    nWR = .Rows.Count: nWC = .Columns.Count
    For Each r In vCull(0).Areas
      With r
        nTop = .Row: nLeft = .Column
        With .Cells(.Cells.Count)
          nBottom = .Row: nRight = .Column
        End With
      End With
      sTmp = Empty
      If nTop > 1 Then sTmp = sTmp & ",R1:R" & nTop - 1
      If nLeft > 1 Then sTmp = sTmp & ",R" & nTop & "C1:R" & nWR & "C" & nLeft - 1
      If nBottom < nWR Then sTmp = sTmp & ",R" & nBottom + 1 & "C" & nLeft & ":R" & nWR & "C" & nRight
      If nRight < nWC Then sTmp = sTmp & ",R" & nTop & "C" & nRight + 1 & ":R" & nWR & "C" & nWC
      If sTmp <> "" Then
        sTmp = Mid$(sTmp, 2)
        sTmp = .ConvertFormula(sTmp, xlR1C1, xlA1, xlRelative)
        sRef = sRef & " (" & sTmp & ")"
      End If
    Next r
    If sRef <> "" Then Set rPos = Range(Trim$(sRef))
    If Not rPos Is Nothing Then Set rRet = .Intersect(Selection, rPos)
  End With ' ' <<< With Application ...
  If Not rRet Is Nothing Then rRet.Select
  Set rPos = Nothing: Set rRet = Nothing: vCull = Empty
End Sub
' ' -------------------------------
' ' ===========この行まで==========
    • good
    • 1
この回答へのお礼

ありがとうございます。
仰る通り今までは一度ざっくりと書式を変更してから、戻したい部分をしこしこと戻していたのですが、その部分部分で複雑な設定をしてあったりすると、完全に戻しきれなかったりしました。
また、飛ばしたいセルを除けてctrlを押しながら選択範囲をツギハギしていくのもいまひとつ効率が悪く、どちらも精度や効率面から、もう少し良い方法はないかといろいろ調べていました。

「無いものは無いなりに、色々と手だてを心得ておいて工夫する」というのは尤もなのですが、パワーポイントやワードなどの使い勝手からすると、なぜエクセルではマイナス選択ができないのか、どうしても疑問でした。

マクロを教えていただいてありがとうございます。
まだ実行はしていませんが、帰ってから試してみたいと思います。

お礼日時:2013/10/01 17:51

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