[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『飛び飛びになっているCellを選択 マクロ』(PP)
お世話になります。
飛び飛びになっているCellを選択する時に
Controlを押しながらCellを選択しますが、
これをUserformのCommandbuttonで
出来ないでしょうか?
例えば、Commandbuttonを押すと
飛び飛びになっているCellを次々と選択が出来る。
また、もっと良い方法がマクロで出来れば
教えて下さい。宜しくお願い致します。
XP 2003
投稿された内容からは、はっきりとした仕様がわかりません。 が、ユーザーフォームを表示した状態(モーダルモード)でセルを選択させるには、 RefEditコントロールを使うか ApplicationオブジェクトのInputboxメソッドを使うと可能です。 が、Refeditには、いくつか問題があるそうなので
http://www.h3.dion.ne.jp/~sakatsu/Excel_Tips08.htm
私は、ApplicationオブジェクトのInputboxメソッドを使うことが多いです。 その際は、Ctrlキー押しながらセルを選択すると、飛び飛びのセルの選択が可能です。
それともCommandbuttonを押すとアクティブセルから決まった規則(例えば行方向にひとつ置きに選択)で 飛び飛びになっているCellを次々と選択する仕様ならUnionメソッドを使うのが有効な方法です。
詳しい仕様が必要です。
ichinose
単純な足し算なのですが、毎回、選択範囲(選択列は同じなのですが、Cellの選択に規則性が無い)が
変わり、大変なので何か良い方法があればと、思いました。
PPさんは、どのセルが足し算するセルで どのセルを足し算しないセルなのか は どうやって見分けているのですか?
例えば、 ・別の列に××が含まれている行 ・○○と入っている行の△行下 ・セルに色が付けてある ・セルの値が◇◇以上 等
その作業を他の人にやってもらおうと思ったら どの様な説明をすれば 今日も、明日も、あさっても やってもらえますか?
その説明をしてみられてはどうでしょう?
(HANA)
Sheet枚数が月の日付の枚数分有り、一つSheetに同じ書式が、
30ページあります。
1ページ目は、みかん&りんごの値を計算
2ページ目は、ほうれん草&こんにゃく&なし
3ページ目・・・・
次の日は、隣のSheetに移る
セルに色等、規則性が無く、上司の言った項目に従い 毎回、違います。
項目数も300位有り、これからも増えます。
地道にCtrlキー押しながら、やります。
有り難うございました。
う〜ん、もっと分かるように説明して頂ければ 少しでも省力化は出来そうには思いますが。
関数を使って 計算支援なり マクロを使って一発合計 なり・・・。
【分かるように説明して頂ければ】ってのが 大前提に成ってしまいますが・・・。
例えば >上司の言った項目 ってのは、どこに有るのか? とか それはどの様に伝えられるのか? とか・・・。
>一つSheetに同じ書式が、30ページあります。 このページの区切りも重要そうですね。 例えば、30行毎に成っている とか 前のページが終わったら、改ページが入って次のページ とか・・・?
>選択範囲(選択列は同じなのですが、Cellの選択に規則性が無い)が変わり 選択列が同じ と言う事は、有る程度リストの形に 成っているのではないかと想像されます。
SUMIF関数,SUMPRODUCT関数,データベース関数 串刺し計算,統合機能,ピボットテーブル など、エクセルには集計するための色々なツールが有りますよ。
>地道にCtrlキー押しながら、やります。 最初のご質問だと、「Ctrlキーを押す左手が疲れない」 と言うだけで、右手はやはり地道な選択が必要なのですよね??
それとも、もっと違った何かを望んで居られたのですかね?
(HANA)
マクロでの例です。
標準モジュールに −−−−−−−−−−−−−−−−−−−−−−−−− Public selectCell As Range Public selectCellMode As Boolean
Sub StartSelect() selectCellMode = True Set selectCell = Selection End Sub
Sub endSelect() selectCellMode = False selectCell.Select End Sub −−−−−−−−−−−−−−−−−−−−−−−−−
ThisWorkbook に −−−−−−−−−−−−−−−−−−−−−−−−− Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) If selectCellMode = True Then Set selectCell = Union(Target, selectCell) selectCell.Select Cancel = True End If End Sub −−−−−−−−−−−−−−−−−−−−−−−−− をおきます。
上の二つのプロシージャにはあらかじめマクロのオプションからショートカットを 割り当てておくとよいでしょう。
StartSelect を実行すると、EndSelect を実行するまで、右クリックで選択したセル を追加していきます。
プロシージャの中の一部として、上記を利用すればマクロをそれぞれ実行しなくとも その間だけ選択が追加選択が可能だと思います。 (Mook)
最初の質問を読んだだけで回答したので、的外れな回答になってしまっていますね。 失礼しました。
HANAさんの言われるように、本当にしたいことを説明したほうが良いと思います。 私も、CTLを押さないで選択するのが最適な解とは思えません。
「どう条件を指定するか」をうまく説明できれば、選択するする必要がなくなると 思いますよ。 (Mook)
もしかして Ctrlキーを押しながら選択すると 一つ間違えると もう一度、最初からやり直しだが
コマンドボタンを押している間は、 続けて複数選択できるし 選択したセルをもう一度押すと解除される 様にしたい・・・?
・・・いや、そんなこと出来るかどうか分かりませんが 私は諦めて選択し直しているので・・・。
でも、これも違った感じですよね。。。
(HANA)
To HANAさん ↓ こんなスレが立ったことがあります。 [[20020718095244]]『複数範囲を選択している途中で間違えた場合』(こつこ) (純丸)(o^-')b
純丸さん、有難う御座います。 結局、利用するのと 諦めて最初から選び直すのと どっちが早い(早く感じる)のですかね。^^
それにしても、今回は何となく 数式作成中の選択な気がしてきました。 となると、セルがSelectされるわけではないので 流石に状況が違いますね。
(HANA)
=SUM(B1:B7,B10:B17,B20:B24) のような集計をしているのではないでしょうか。 引数の部分をCtrl押しながら範囲選択・・・ >セルに色等、規則性が無く、上司の言った項目に従い 毎回、違います。 気まぐれで指示しているのではないと思うので、 規則性・基準が何かあると思うんですが・・・ (その表の中には出ていないというだけで) 作業列が使えるのなら、作業列に任意の値を入力して 印のある行をSUMIF関数で集計などができるのですが。 (みやほりん)(-_∂)b
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.