• ベストアンサー

Range("B19:T19").Select

よろしくお願いします Private Sub Worksheet_Change(ByVal Target As Range) 内のマクロで Range("B19:T19").Selectの 19をTarget.Rowで表現すると Range("B19:T19").Selectをどう直したらいいでしょうか? こんな簡単なことが分かりません どなたか教えてください

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! Range(Cells(Target.Row, "B"), Cells(Target.Row, "T")).Select とか Cells(Target.Row, "B").Resize(, 19).Select といった感じではどうでしょうか? ※ 複数行が変化した場合(データ消去・コピー&ペースト)の場合は 最初の行だけしか選択されません。m(_ _)m

maamaa
質問者

お礼

tom04さん。こんばんは 先日は大変複雑なマクロを教えていただきましてありがとうございました お陰様で、今回も大変勉強になりました

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

関連するQ&A

  • Rows("20:20").Selectについて

    よろしくお願いします こんな簡単なことが分かりません どなたか教えてください マクロを記録すると Rows("20:20").Select Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove と記録されました また Private Sub Worksheet_Change(ByVal Target As Range)内のマクロで Debug.Print Target.Row と書くと 20が表示されます そこで Rows("20:20").Select の20をTarget.Rowに置き換えるには、マクロではどう書いたらよいでしょうか 色々試しましたがエラーで進みません うまく表現できていませんが、どなたか教えてください  

  • エクセルのマクロ

    セルの値が変わったら動くマクロですが、2つ書くとエラーが出ます。 どのように直したらいいでしょうか? Private Sub Worksheet_Change(ByVal Target As Range) Select Case Target.Address If Intersect(Target, Range("EK22")) Is Nothing Then Exit Sub Else Range("EK24:EM28").Select Selection.ClearContents End If End Sub Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range("EK24")) Is Nothing Then Exit Sub Else Range("EK27:EM28").Select Selection.ClearContents End If End Sub

  • マクロ、カーソルの相対移動

    下記マクロはカーソルの相対移動で教えいいただいたものです。 セルに値を入力しないで、Enterを押下した時もこのように動作させるためにはどのように記述したらいいでしょうか。教えてください。よろしくお願いいたします。 Private Sub Worksheet_Change(ByVal Target As Range) if Target.Column = 2 Then Cells(Target.Row,5).Select if Target.Column = 5 Then Cells(Target.Row,7).Select if Target.Column = 7 Then Cells(Target.Row + 1, 2).Select End Sub

  • イベントマクロで「コンパイルエラー 因数は省略できません」

    マクロ初心者です イベントマクロを作りました Sheet2の結合されたB44:E44のセルに入力すると自動的にマクロが働いて Sheet1のW1の値のみがSheet2の結合されたB44:E44のセルに貼り付けられるマクロなのですが 実行すると「コンパイルエラー 因数は省略できません」と表示されます マクロ自体は正しく動いているのですがどういうことなんでしょう Sheet2 Worksheet Change Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target.Range("B44:E44")) Is Nothing Then Exit Sub Application.EnableEvents = False Sheets(1).Select Range("W1").Copy Sheets(2).Select Range("B44:E44").Select ActiveSheet.Paste Application.CutCopyMode = False Application.EnableEvents = True End Sub Private Sub Worksheet_Change(ByVal Target As Range)…この行が黄色になります If Intersect(Target.Range("B44:E44")) Is Nothing Then Exit Sub…intersectのところが青くなります こんな説明でわかってもらえるでしょうか?

  • エクセル デバッグできるのとできないのがある

    シートイベントについて教えてください。 シートモジュールに --------------------------------------------------------- Option Explicit Private Sub Worksheet_Activate() MsgBox "" End Sub Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) MsgBox "" End Sub Private Sub Worksheet_Change(ByVal Target As Range) MsgBox "" End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) MsgBox "" End Sub --------------------------------------------------------- と記載した時に、 F8で動かせるのは、Worksheet_Activateだけなのですがなぜでしょうか? ほかのイベントは、F8で実行させても、OSの音が鳴るだけで、マクロの実行はされません。 ご回答よろしくお願いします。

  • エクセルで、ワークシートチェンジのイベントを停止できますか。

    このようなマクロを作っています。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address <> "$C$2" Then Exit Sub Range("B2").Copy Range("C2").Select ActiveSheet.Paste End Sub しかし、このままだとループしてしまいます。 それで、B1:B2をコピーしてC1:C2に貼り付けています。   マクロの中で、ワークとチェンジのイベントを停止したり、開始できれば良いなと思っています。こんなこと、できますか。教えてください。

  • エクセルvba  (ByVal Target As Range)について

    シートのイベントプロシージャーが Private Sub Worksheet_SelectionChange(ByVal Target As Range) End Sub となりますが (ByVal Target As Range)部分は何なのでしょうか? 何のためにあるのかわかりません。 Private Sub Worksheet_SelectionChange() End Sub としたらエラーが返ってきました。 理由を教えてください。 よろしくお願いします。

  • Excel VBA イベントプロシージャを2つ記述する(基本です)

    基本的な事なのですが、Excelのイベントプロシージャで2つプログラムを作るにはどうやって記述すればよいのでしょうか? 具体的には、worksheetのchangeイベントで、セルC5の値を変えた時と、セルG7の値を変えた時の2通りのマクロを作成したいのです。 Private Sub Worksheet_Change(ByVal Target As Range) C5を変えた時の処理 End Sub Private Sub Worksheet_Change(ByVal Target As Range) G7を変えた時の処理 End Sub このように書けばよいのでしょうか?そうするとTargetがかぶっておかしくなる気がします。。 お願いします。

  • エクセルマクロ(VBA)で指定したセルが変化したときに実行するには?

    VBAでsheetの中のworksheet_changeなどでマクロを書くと、そのシー トの中のどのセルを変化させてもマクロが実行されるのですが、これ を、A1とc1とc2が変化したときだけ処理を実行させたいのです。 以下のマクロのどこかを編集すると、そのようなことが出来るのでし ょうか? Private Sub Worksheet_SelectionChange(ByVal Target As Range) ----実行する内容---- End Sub Private Sub Worksheet_Change(ByVal Target As Range) ----実行する内容---- End Sub

  • LEFT RIGHT関数のことで教えてください

    いつもお世話になっております LEFT RIGHT関数のことで教えてください Private Sub Worksheet_Change(ByVal Target As Range)内のマクロで セルに式を書き込んでいます Range("D" & Target.Row).FormulaR1C1 = "=LEFT(RC[-1],5)" セルD16には機器名5と書いてあります この時 Range("D" & Target.Row).FormulaR1C1 = "=LEFT(RC[-1],5)" の5は、セルD16の機器名5の右から1文字目の5なのですが 式ではどう表現したらいいのでしょうか?

専門家に質問してみよう