• ベストアンサー

エクセルVBAで、選択セルを常にC行にする。

エクセルVBAで、選択セルを常にC行にする。 例:ボタンをクリックすれば、選択しているセルがN25ならC25になり、N7ならC7にしたいのです。 選択セル範囲がB2:N12ならば、一番上を有効として、C2のみを選択範囲としてほしいのです。 VBAで記述するならどのようになるか。ご教示ください。

質問者が選んだベストアンサー

  • ベストアンサー
  • hige_082
  • ベストアンサー率50% (379/747)
回答No.4

一例です Sub test() Cells(Selection.Row, 3).Select End Sub 参考まで

fukuoka1
質問者

お礼

ありがとうござました。 簡潔でおもった通りの動作が可能でした。 ありがとうございました。

その他の回答 (3)

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.3

こんな動作でいかがでしょうか。ご参考まで。 Sub test() If TypeName(Selection) <> "Range" Then Exit Sub Intersect(Selection.Cells(1).EntireRow, Columns("$C:$C")).Select End Sub

fukuoka1
質問者

お礼

ありがとうございました。 少し私には、構文が難しく応用することができません。 VBAの勉強がんばります。

  • ka_na_de
  • ベストアンサー率56% (162/286)
回答No.2

こんにちは。 一例です。 Sub test()   Dim myRow As Long      On Error Resume Next   myRow = Selection.Resize(1).Row   On Error GoTo 0   If myRow > 0 Then     Cells(myRow, "C").Select   End If End Sub

fukuoka1
質問者

お礼

ありがとうございました。 エラー処理も付け加えていただきありがとうございました。 また今後ともご指導ください。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

Sub ボタン1_Click() Range("C" & Selection.Row).Activate End Sub こんな感じのことでしょうか?

fukuoka1
質問者

お礼

ありがとうございました。 初心者にはわかりやすい構文です。 またご教示お願いします。

関連するQ&A

  • EXCEL VBA 空白行を含んだ範囲選択

    EXCEL VBA超初心者です。 EXCELのVBAについての質問です。 以下のような、日ごとのお金の貸付、返済の一覧データがあります。 例 A B C D E 1 年  月 日 貸付  返済 2 2008 5 10 10000 3 2008 6 10      8000 4 2008 7 10 20000 5 2008 8 20      7000 ・データの行数は決まっていません。 ・最後の行が「貸付」で終わることもありますし 例のように「入金」で終わることもあります。 ・各データには必ず「年」「月」「日」が入力してあります。 VBAで、A2セルからE5セルを範囲選択するには どのように記述したらいいですか? ちなみに自分で色々と調べてみて Selection.SpecialCells(xlCellTypeConstants, 23).Select としたのですが それだと空白セル(例でいうとE2やD3セル)が選択されず とびとびになってしまいました。 ご教授お願いいたします!

  • Excel VBAでn行毎に行の選択

    Excel VBAでn行毎に行の選択 こんにちわ。 初めて質問をさせて頂きます。 今回ExcelのVBAを使ってあるシートを作成することになったのですが その過程で分からず、詰まっております。 色々調べてみたもののVBAの知識が浅いせいか 該当する様なものは見つかりませんでした。 実行したいのはタイトルの通りです。 例として10行毎に1行ずつ選択したい場合は下記の通りです。 A列 10行目←選択 ・ ・ 20行目←選択 ・ ・ 30行目←選択 ・ ・ 40行目←選択 実際にやりたいことは行を選択後に入力規則を入れたいだけなのですが 5000行近くあるので、一つ一つコードを書く場合 Range("A10,A20,A30,A40・・・").EntireRow.Select 結構な量になります・・・。 VBAなら他にもっと効率いいことができるのでは、と 自分なりに探してはいますが、どうしても見つからないので 皆様のお知恵をお借りしたいです。 よろしくお願いします。

  • アクティブセルの行のセルを複数指定選択-VBA

    アクティブセルの行のセルを複数指定選択-VBA コマンドボタンを押すとアクティブセルのある行のセルを個別に選択したいのですが、どのようにVBAにコードを入力すればいいのか悩んでいます。 例:選択したい列(セル)A:C,F:I アクティブセルがA2にある時、コマンドボタンを押してA2,B2,C2,F2,G2,H2,I2を選択する。   アクティブセルがA10にある時は、A10,B10,C10,F10,G10,H10,I10を選択する。 ご回答お待ちしています。宜しくお願い致します。

  • Excelのセルが選択できない

    Excelのセルが選択できない クリックしないのにマウスを動かすと範囲選択されたようになりますし、閉じるボタンにカーソルを当てると尚も範囲が広がります。閉じることも他のボタンを押すことも出来ません どなたか解決法をお願いします。

  • エクセルVBA・セルを選択して並べ替えたい

    エクセルVBA・セルを選択して並べ替えたい 以下の質問では、たいへんお世話になりありがとうございました。 http://okwave.jp/qa/q6203452.html 少し関連した質問をいたします。 具体的に言いますと、マウスでセル範囲を選択して、その選択した範囲を並べ替える、というようなイメージです。(マウスでセル範囲を選択してから、マクロを実行します) 以下のコードで言うと Range("○●:○●").の部分が、マウスで選択した範囲というような具合です。 Sub sort1() Range("○●:○●").Sort _ Key1:=Range("d1"), _ Order1:=xlDescending, _ Header:=xlYes, _ Orientation:=xlTopToBottom End Sub 以上、よろしくご教示お願いします。

  • エクセルで特定のセル(範囲)を選択出来なくするには?

    エクセルで特定のセル上(範囲内)でクリックしても、そのセルを選択出来ない様に設定したいのですが、やり方がよくわかりません。 本でいろいろ調べてみましたが、「セルの保護」とは違うようです。 よくこの様にしてあるエクセルのソフトを見るのですが、そういう設定をしたいのです。 VBAマクロのプログラム上でそのように設定するのでしょうか? (マクロはある程度わかります) よろしければ御教示下さい。

  • エクセル2003VBAで選択範囲

    いつもお世話になっています。 エクセル2003を使用しております。下記を関数又はVBAの組み方・構文を教えて下さい。 (1)E列には、「1」と「.」と「空白」が入っています(「1」が入ってないケースもあります)が、「1」を検索します。もし「1」が無ければ、J列を同様に検索します。(中身はE列と同じです) (2)「1」が入っているセルから見て、「行」の±10の範囲内を選択し、別シートにコピーする。 例1. 1が入っているセルが、「E15」とします。 この場合、コピーしたい範囲は、5行目全部~25行目全部です。 例2. 1が入っているセルが、「E17」とします。 この場合、コピーしたい範囲は、7行目全部~27行目全部です。 分かりにくいかもしれませんが、よろしくお願いします。

  • エクセルVBAで列の選択

    VBAで通常は、Columns("D").Select でD列が選択されるはずですが、途中にセルが結合している個所があると、選択範囲の列が、すべての行で広がってしまいます。 手動で列番号をクリックするとD列だけの選択ができるのにVBAではなぜ出来ないのでしょう? どうコードを変えればいいのでしょうか? エクセル2000です。

  • エクセルVBA セル選択範囲を調べるメソッドについ

    こんにちは 今回エクセルでセル選択範囲を調べる方法について探していたのですが”Selection.Address”が 見つかりました。 これは、結果を文字型で返す仕様となっていて、文字型では、応用処理がややこしそうになります。 離れた範囲で選択した場合"例 R1C1:R2:C2,R4C4:R5C5" のように返ってきます" そこで、これを数値に変換したり、選択範囲が離れてていた場合は離れた範囲ごとに配列として返 してくれる関数やメソッドのようなものは、VBAに用意されていないでしょうか? または、直接 希望する型で返ってくればそれでよいのですが、見つけることが出来ませんでした。 なお、エクセルのバージョンは2003です。 もしなければ作成する予定です。

  • Excel VBA アクティブセルからある一定のセルまでの範囲選択

    Excel VBA アクティブセルからある一定のセルまでの範囲選択 Excel2003を使用しています。 アクティブセルからC列に『計』と入力されている行の1行上のD列までを選択状態にするマクロを作成しようとしています。 C列に『計』と入力されている行は下記のように複数あるので、アクティブセルの行以下に入力されている次のC列の『計』の1行上までとしたいのですが、どのようにコードを書いたらいいでしょうか? 例えば… A2セルをアクティブにしていてマクロを実行するとA2:D3が選択状態に A7セルをアクティブにしていてマクロを実行すると、A7:D9が選択状態になるように という具合です。 わかりづらくて申し訳ありませんが、よろしくお願いします。    A     B     C     D 1  日付    №   品名    金額 2  1/1     1    ○○○   1,000 3  1/2     2    ×××   1,500 4              計      2,500 5 6 7   1/1     5    ○×○   2,000 8   1/3     6    ××○   1,200 9   1/4     7    ×○○   2,500               計      5,700            :            :

専門家に質問してみよう