• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ActiveCellに対する既定のメンバ)

Excel 2007のActiveCellに対する既定のメンバ確認方法

このQ&Aのポイント
  • Excel 2007のVBAコードでActiveCellに値を設定する方法について説明します。
  • ActiveCellには規定のメンバとして「Value」というプロパティがあります。
  • ActiveCellの規定のメンバを確認するには、オブジェクトブラウザを使用します。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

既に回答しておいた通り、activecellはrangeオブジェクトを返すプロパティです。 ここで言ってる意味は activecell = 何某 と書けば、それはすなわち アクティブセルが返したセル = 何某 と書いたのと同じ動作をします。という事だということを理解してください。 即ち range("A1") = 何某 のように出来るのと同じだということです。

hguryt3
質問者

お礼

>アクティブセルが返したセル = 何某 と書いたのと同じ動作をします。 覚えます! ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

ActiveCellはクラスではなく、(rangeオブジェクトを返すだけの)単なるプロパティなので、既定のメンバを持ちません。

hguryt3
質問者

お礼

なるほど。既定のメンバをもつのはクラスだけなのですね。 せっかくご回答いただいたのにまだよくわからないので追加で質問ですが ActiveCellに規定のメンバはないのに、 なぜ Sub test() ActiveCell = "a" End Sub は、「Value」がないのに、 ActiveCell.Value = "a" と同じ結果が得られるのでしょうか? 再度ご回答いただければ幸いです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 【エクセル】ActiveCellはなぜNullではないのでしょうか?

    私は今まで新規のシートを挿入した際のActiveCellは、Nullだと思っていたのですが Sub Empty空白なら() If ActiveCell.Value = Empty Then Debug.Print "空白セルです" End Sub Sub Null空白なら() If ActiveCell.Value = Null Then Debug.Print "空白セルです" End Sub Sub Null空白なら2() If IsNull(ActiveCell.Value) = True Then Debug.Print "空白セルです" End Sub VBAでこのコードを実行すると Emptyの方だけ「空白セルです」となりました。 (1)なぜ空白でもNullだと反応しないのでしょうか? (2)NullとEmptyの違いはなんですか? ご教授よろしくお願い致します。

  • 「R = ActiveCell」がエラーになる。

    エクセルvbaです。 下記のコードのどこがおかしいのか教えてください。 Sub Macro1() Dim R As Range R = ActiveCell If R Like "*1*" Then MsgBox "1があります" End If End Sub アクティブセルに「1」があれば、 MsgBoxを表示したいのですが うまくいきません。 オブジェクト変数または With ブロック変数が設定されていません。(Error 91) というエラーになります。 If ActiveCell Like "*1*" Then ではなく、一度、変数Rに格納したいです。 解決策をよろしくお願いします。

  • Do loopのマクロ

    以下のマクロの問題点を教えていただきたいのです。 A列を上から順番に調べて、値が10のときだけBに分岐して処理を行い(処理の内容は省略してあります)、またAに戻って、空白のセルが見つかったら処理をやめる、というマクロです。 ところが、これを実行すると空白のセルが見つかってもマクロが止まりません。何が問題でしょうか。 Sub A() Cells(1, 1).Select A: Do Until ActiveCell.Value = "" If ActiveCell.Value = 10 Then GoTo B End If ActiveCell.Offset(1, 0).Select Loop B: ActiveCell.Offset(1, 0).Select GoTo A End Sub

  • VBAプログラムについて

    VBAプログラムを本を見ながら作成していますが、はっきりいって素人です。 本に載っていないこととなるとちんぷんかんぷんで、いくつかあるプロシージャのどのプロシージャ内に記入したら良いのか分からないし、新しいプロシージャをどこに記入して良いのか分かりません。 例えば、 ----------------------------------------------------------- Private Sub CommandButton1_Click() ActiveCell.Value = TextBox1.Value ActiveCell.Offset(0, 1).Value = TextBox2.Value ActiveCell.Offset(0, 2).Value = TextBox3.Value ActiveCell.Offset(0, 3).Value = TextBox4.Value ActiveCell.Offset(0, 4).Value = TextBox5.Value ActiveCell.Offset(0, 5).Value = TextBox6.Value ActiveCell.Offset(0, 6).Value = TextBox7.Value ActiveCell.Offset(0, 7).Value = TextBox8.Value ActiveCell.Offset(0, 8).Value = TextBox9.Value ActiveCell.Offset(1, 0).Activate End Sub Private Sub CommandButton2_Click() Unload Me End Sub Private Sub Label1_Click() End Sub Private Sub UserForm_Click() End Sub Private Sub UserForm_Initialize() Range("A2").Activate End Sub ---------------------------------------------------------- テキスト入力フォームをいくつか作っており、コマンドボタン1とコマンドボタン2で入力ボタンと閉じるボタンにしています。   このプログラムでは、入力ボタンをクリックすることでデータが入力されて、入力された列のすぐ次の列の最初のセルがアクティブな状態になります。 (1)データ入力済みのエクセルシートにおいて、アクティブな状態にしたセルや列を削除したい場合、どこにどのように書けば良いのでしょうか? (2)データ入力が一度に終わらない時、途中の任意の列から入力を始めたい場合はどこにどのように書けば良いのでしょうか? 本に書かれていることは丸写しできますが、ちょっとでも違うと壁にぶつかってしまいます。 独学で勉強する時に良いと思われる方法はどんな方法なのでしょうか? おこがましいですが素人も分かりやすい説明をして頂けると助かります。 宜しくお願いします。

  • Replace関数ですか?Replaceメソッドで

    VBAの基本的な質問なのですが ************************************* Sub test() Cells.Replace What:="あああ", Replacement:="いいい" End Sub ************************************* の「Replace」は、 Replace関数ですか? Replaceメソッドですか? オブジェクトブラウザで確認すると ************************************* Excel.Range のメンバ VBA.Strings のメンバ Office.TextRange2 のメンバ Excel.WorksheetFunction のメンバ ************************************* のReplaceがあるのですが 例のReplaceはどれに該当するか教えてください。 ご回答よろしくお願いします。

  • エクセルVBAで無限ループ

    教えてください。 以下の2つのエクセルマクロはまったく同じことをさせようとしているのですが、test02の方は.Offset(1).Activateが働かないのか、無限ループに陥ってしまいます。 単にActiveCell.という記述をWith~End Withでまとめただけなのになぜこうなるのでしょうか? Sub test01() ActiveSheet.Cells(1, 1).Activate Do While ActiveCell.Value <> "" If Not IsNumeric(ActiveCell.Value) Then ActiveCell.Offset(0, 1).Value = "文字" ElseIf ActiveCell.Value > 0 Then ActiveCell.Offset(0, 1).Value = "正数" ElseIf ActiveCell.Value < 0 Then ActiveCell.Offset(0, 1).Value = "負数" Else ActiveCell.Offset(0, 1).Value = "その他" End If ActiveCell.Offset(1).Activate i = i + 1 Application.StatusBar = i Loop End Sub Sub test02() ActiveSheet.Cells(1, 1).Activate With ActiveCell Do While .Value <> "" If Not IsNumeric(.Value) Then .Offset(0, 1).Value = "文字" ElseIf .Value > 0 Then .Offset(0, 1).Value = "正数" ElseIf ActiveCell.Value < 0 Then .Offset(0, 1).Value = "負数" Else .Offset(0, 1).Value = "その他" End If .Offset(1).Activate i = i + 1 Application.StatusBar = i Loop End With End Sub

  • Excel VBAフォーム 登録ボタンの作成方法

    いつもお世話になっています。 初めて、Excelのフォームで入力画面を作りました。 複数の項目があって、それを最後に[登録]ボタンをクリックで 表に入れたいのですが、一度にまとめて実行する方法が分かりません。 アドバイスよろしくお願いいたします。 Private Sub cmd_1() Dim i As String If man.Value = True Then ActiveCell = man.Caption End If If woman.Value = True Then ActiveCell = woman.Caption End If ActiveCell.Offset(0, 1).Select End Sub Private Sub cmd_2() Dim i As String If man.Value = True Then ActiveCell = Yes.Caption End If If woman.Value = True Then ActiveCell = No.Caption End If ActiveCell.Offset(0, 1).Select End Sub Private Sub cmd_downlist() Dim ListNo As Long ListNo = group.ListIndex ActiveCell.Value = group.List(ListNo, i) ActiveCell.Offset(0, 1).Select End Sub Private Sub cmd_comment() ActiveCell = comment.Text ActiveCell.Offset(1, -3).Select End Sub

  • IEの中のエクセルから、通常のエクセルへコピーしたい。

    IEの中のエクセルから、通常のエクセルへコピーしたい。 ネット上のアクティブセルから、自分のパソコンのエクセルへセルの内容を コピーしたいのですが、うまくアクティブになりません。 よろしくお願いします。 Sub TENKI() 部材記号 = ActiveCell.Value 部材名 = ActiveCell.Offset(0, 2).Value ActiveCell.Offset(1).Select イエス = MsgBox(部材記号 & " 部材名も必要ですか?", vbYesNo) If イエス = 6 Then ActiveCell = 部材記号 ActiveCell.Offset(0, 2).Value = 部材名 ActiveCell.Offset(1).Select ElseIf イエス = 7 Then ActiveCell = 部材記号 ActiveCell.Offset(1).Select End If End Sub Private Sub Workbook_Open() With Application.CommandBars("Cell").Controls.Add(Temporary:=True) .Caption = "転記" .OnAction = "TENKI" .BeginGroup = True End With End Sub

  • 「.Value」が省略されてる事を確認する方法を教

    エクセル2007を使用しています。 Sub a() Range("a1") = "a" End Sub を実行すると、A1セルにaが入力されますが、 これは("a1")の後に「.Value」が省略されているのでしょうか? それを確かめたくヘルプを見たのですが、 ******************************************************** Range.Value プロパティ 指定されたセル範囲の値を表すバリアント型 (Variant) の値を設定します。 値の取得および設定が可能です。 構文 式.Value(RangeValueDataType) 式 Range オブジェクトを表す変数です。 パラメータ 名前 必須/オプション データ型 説明 RangeValueDataType オプション バリアント型 (Variant) セル範囲の値のデータ型を指定します。 xlRangeValueDataType クラスの定数を使用します。 ******************************************************** と書いてあり、いまいちよくわかりません。 「.Value」が省略されてる事を確認する方法を教えてください。 よろしくお願い致します。

  • エクセルvbaでアクティブ(選択された)なセルを順に取り出すには

    エクセル97のvbaでいろいろ試したいのですが、標記の事について 分かりません。出来ないことなのか、簡単なことなのかも分かりま せんのでよろしくお願いします。下記を作成しても左上の1つしか 取り出せません。 Sub サンプルマクロ2() For Each a In ActiveCell s = a.Value MsgBox (s)  Next a End Sub

つながるlavieの活用方法
このQ&Aのポイント
  • NECパソコンには、「つながるLAVIE」という便利なアプリが搭載されていると、NEC特別版「できるWin11&office+データ引越し」141ページに記載されています。このアプリはNECでダウンロード出来ますか。ご教示ください。
  • NECパソコンの「つながるLAVIE」アプリについて教えてください。どこでダウンロードできるのか知りたいです。
  • ノートパソコンで利用できる「つながるLAVIE」というアプリについて教えてください。ダウンロード方法を教えてください。
回答を見る

専門家に質問してみよう