[[20020718095244]] 『複数範囲を選択している途中で間違えた場合』(こつこ) >>BOT

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『複数範囲を選択している途中で間違えた場合』(こつこ)

こつこ

離れている複数範囲を選択している途中で、一ヶ所だけ、間違って一つ下のセルを

クリックしてしまった場合、その1箇所だけを範囲選択解除するって可能ですか?

せっかく今までコツコツと、一つづつコントロールキー押しながらクリックしてきた場所まで

解除されてしまうのが余りにも悲しいです・・・・・。


 みやほりんが 未解決ログ解消を目的に 2006/03/29 10:20 ごろ、投稿しました。
 トピ主の[こつこ]さんの投稿は2002/07/18 09:52:44でした。
 
Ctrlキーを押しながら選択した不連続な範囲を選択しなおすのは難しいようです。
  同じ範囲を何回も選択する必要があるなら、
  セル範囲の名前定義>名前ボックスで選択
 
  選択するセルが何か同じ特徴を持つようなら、
  編集>ジャンプ
  や、
  データ>フィルタ>オートフィルタ で抽出した後Alt+;(可視セル選択)
  で一発選択できる 可能性 はありますが・・・。
 
【関連ログ】
[[20030924100812]] 『選択範囲の訂正』(晩秋教研)
[[20030925114522]] 『範囲選択の訂正』(mmtok)
[[20041018151105]] 『そのセルの選択を解除する方法』(ice)
(みやほりん)(-_∂)b

 こんにちは!

 この方法を見たときには目からうろこでした。関連ログににてますけどね♪
http://www.tuskinoura.com/archives/2005/08/ctrl.html
 (ディスクレイマーがなかったので勝手にURL掲載してしまいました)

 (dude)

 へぇ〜!できるものですね。「尺取虫方式」!(みやほりん)(-_∂)b


 Ctrl+.(ピリオド)の使い方が絶妙ですよね♪
 みやほりんさんも未解決ログの掘り起こしおつかれさまですm(_ _)m
 (dude)

 す、すごっ!
 感動です〜練習して使いこなします〜(^0^)
 (ぷーのすけ)

 盛り上がってますね!
 ユーザーフォームのテキストボックスに選択範囲を蓄積、
 最後に追加したセル範囲を削除、蓄積したセル範囲を選
 択する作業をVBAで行うコードを書いてみました。

 'セル範囲の追加
 Sub tuika()
  Dim r As Range
  Dim mytext As String
   mytext = Selection.Address(0, 0)
    With UserForm1.TextBox1
    If .Value <> "" Then .Value = .Value & ","
    .Value = .Value & mytext
    End With
 End Sub

 '最後に追加したセル範囲を削除
 Sub sakujo()
  Dim i As Long
   Dim koumoku As Variant
   Dim saigo As String
   With UserForm1.TextBox1
    If .Value = "" Then Exit Sub
     koumoku = Split(.Value, ",")
     If UBound(koumoku) = 0 Then
        .Value = ""
     Else
        saigo = Len(koumoku(UBound(koumoku)))
        .Value = Left(.Value, Len(.Value) - saigo - 1)
     End If
   End With
 End Sub

 '蓄積したセル範囲を選択
 Sub sousa()
 Dim myarray As Variant
   myarray = Join(Split(UserForm1.TextBox1.Value, ","), ",")
   Range(myarray).Select
 End Sub
 (MARBIN)


 仕事中にコツコツ作ってたら遅くなった。(^^;
 最後に選択した範囲を取り消すマクロです。
 ボタンに登録して続けて押すと、連続して取り消せます。
 最後の選択範囲が他の選択範囲と重なってる場合は
 うまく取り消せませんのでご了承下さい。
(純丸)(o^-')b

 Sub 選択解除()
 'Ctrl+クリックで選択した範囲を1つずつ取り消す
  Dim myr As Range
  Dim myact As Range
  Dim areacnt As Integer
  Dim myaddress As String
  areacnt = Selection.Areas.Count
  Set myact = Selection.Areas(areacnt)
  For Each myr In Selection.Areas
     If Application.Intersect(myr, myact) Is Nothing Then
        If myaddress = "" Then
           myaddress = myr.Address(0, 0)
           Else
           myaddress = myaddress & "," & myr.Address(0, 0)
        End If
     End If
  Next myr
  If myaddress = "" Then Exit Sub
  Range(myaddress).Select
 End Sub

 [dude]さん、
    私も目から鱗が落ちました。
 [MARBIN]さん、 [純丸]さん、
    今回、マクロは全く考えてなかったので、わたしもびっくり。
    そうか、新しいセル範囲の文字列を作って選択しなおせばいいのか。
 
皆さん苦労した経験あり? なんて思ってみたり。
みなさん、お忙しいところ、ご協力ありがとうございました。
(みやほりん)(-_∂)b


 多分Ctrlキーを押しながらクリックするから緊張して失敗しやすいのかも。
 これで、かなりミスが減るんじゃないかな?

 1、
 最初のセルを選択して、Shift+F8

 1−1、
 後慎重に次のセルを選択していく。

 1−2、(キー操作の場合)
 矢印キーで次のセルを選択して
 単1セルの場合は、Shift+F8を2回
 セル範囲の場合は、Shift+F8を1回
 以後1-2の繰返し

 ステータスバーが表示されていた方が、ADDと表示されるから解りやすいかも。
 解除は、ESCキー

 おまけで書いてみた。
 Dim RG As Range
 With Selection
    For i = 1 To .Areas.Count - 1
        If i = 1 Then
           Set RG = .Areas(i)
        Else
           Set RG = Application.Union(RG, .Areas(i))
        End If
    Next
 End With
 RG.Select
 Set RG = Nothing
 BJ

 さすがBJさん、すっきりとしたコードだこと。(@_@;
 UNIONメソッドを知らなかったのだから遠回りしてしまいました。
 ただ、純丸のマクロは、途中の間違いセルに気が付いたら、
 再度クリックして最終選択セルにすれば選択解除出来るのが
 利点かもです。
(純丸)(o^-')b


 >再度クリックして最終選択セルにすれば選択解除出来るのが
 いや〜。使いかってや後の事は全く考えていませんでした。
 最終セルの選択を解除したら、それ以降は、
 どうなっても知りませんって言うか、 あなたの好きなように、
 もうどうにでもして。って感じで・・・。
 使い勝手を良くしようという発想すら思いつきませんでした。
 BJ

 過去ログへの書き込み、失礼します。
 dudeさんご提示のアドレスが
 関係なさそうなページに飛んでしまい確認できません。
 非常に興味があるのですが、どんな内容でしょうか。
 (くろすけ)

 ホントですね。
 
[[20110202155332]]『Ctrlキーを使って複数セルの選択時に間違えたら』(けんたろう)

 ↑に載っている↓と同じ内容です。
 
Office TANAKA :Ctrl+クリックで誤った選択をやり直す
http://officetanaka.net/excel/function/tips/tips22.htm
 
(純丸)(o^-')b 2011/2/2

 純丸さん、ありがとうございます!
 Office TANAKAさんなら、リンク切れの心配もなさそうですね(○^∇^)
 (くろすけ)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.