Target.Address <> "$A$1"
でA1でけではなく
A列全体でとか
指定範囲の中とかできないでしょうか?
いつもすみませんがお願いします。

A 回答 (1件)

私の場合、ColumnやRowプロパティで指定しています。


以下の例は"C5:E10"の範囲に相当します。
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Column >= 3 And _
.Column <= 5 And _
.Row >= 5 And _
.Row <= 10 Then MsgBox .Address
End With
End Sub
ちなみにA列のみの場合は
Target.Column = 1
1行目のみの場合は
Target.Row = 1
となります。他にももっといい方法があるかもしれません。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q

数十の<a>タグがあるHTMLファイルの中で、
<div id="blank">で囲まれた<a>タグ群のみをすべてtarget="_blank"にしたいと考えています。
該当する<a>タグすべてにtarget="_blank"を書くと、HTMLファイルの容量が大きくなるので、CSSのIDとJavaScriptを組み合わせて、実現できないものでしょうか。

Aベストアンサー

<base target="_blank">
<div id="blank">
 <!-- -->
</div>
<base target="_self">

QSUMPRODUCT($A$1:$A$10,$B$1:$B$10)とSUMPRODUCT($A$1:$A$10*$B$1:$B$10)

エクセルのSUMPRODUCT関数についてお尋ねします。

=SUMPRODUCT($A$1:$A$10,$B$1:$B$10)

=SUMPRODUCT($A$1:$A$10*$B$1:$B$10)
の違いは何でしょうか?
両者とも同じ答えを返しますが、いろいろ試したところ、前者は範囲内に文字列があってもそれを無視して計算し、後者は文字列があればエラーになるようですが、その理解で正しいでしょうか?
正しいとすれば、なぜでしょうか?

Aベストアンサー

こんばんは。

配列計算をしているのは言うまでもありませんが、この、SUMPRODUCT は、必ず、内部のひとまとまりから計算するという性質を持っています。ただ、VBAのように左から時系列かどうかは、言語が違いますから、分かりません。しかし、この引数は、パラメータ配列になっています。そして、その引数それぞれの有効値を調べて、それを演算出来る値かどうか調べます。

文字列を入れてもエラーにならないのは、元々、そこに注釈などを入れるために考えられたものです。値を文字列か数値かを精査して演算するように出来ています。最初、SUM関数に対し、そのように作られました。プログラムとしては、初歩的なものですが、そのアイデアは、今日まで、踏襲しているようです。このオリジナルの仕組みを考えたのは、VisiCalc の開発者、ブルックリン氏です。昔々、本で読んだことがあります。 PRODUCT関数とも共通です。3つの関数は、同じような仕様を持っています。

こちらが、本来の使い方です。

=SUMPRODUCT($A$1:$A$10,$B$1:$B$10)

つまり、
$A$1:$A$10 と $B$1:$B$10 の値を別々に取得しています。

では、
=SUMPRODUCT($A$1:$A$10,$B$1:$B$11)

とすると、なぜ、エラーが出るかというと、$B$11 に対応する数値が、NULL値(有効な値がない)だからです。それは、全体に反映させてしまいます。(理由は分かると思いますが、プログラムが途中で、エラーで止まってしまうからです)

ところが、こちらは、

=SUMPRODUCT($A$1:$A$10*$B$1:$B$10)

$A$1:$A$10*$B$1:$B$10 は、分割出来ません。したがって、この数式の中でのエラーは、そのまま、元の数式に反映されます。

ご自分で、ユーザー定義関数を作ってみれば分かります。VBAでも、同じように作ることが可能です。一度、試してみるとよいです。

こんばんは。

配列計算をしているのは言うまでもありませんが、この、SUMPRODUCT は、必ず、内部のひとまとまりから計算するという性質を持っています。ただ、VBAのように左から時系列かどうかは、言語が違いますから、分かりません。しかし、この引数は、パラメータ配列になっています。そして、その引数それぞれの有効値を調べて、それを演算出来る値かどうか調べます。

文字列を入れてもエラーにならないのは、元々、そこに注釈などを入れるために考えられたものです。値を文字列か数値かを精査して演算...続きを読む

QターゲットCD(Target CD)とは?

ネットショッピングサイト(eBayなど)でCDを探していると、ターゲットCD(Target CD)なるものが、ありますが、これはどういったものでしょうか?

バーコードなしとか、CDのタイトル等の印刷面にターゲットマークがあるので、ターゲットCDと呼ばれていることは分りますが、音質とか、その価値が良くわかりません。通常版とどういう違いがあるのでしょうか?

Webを探しても、それを詳しく説明したものが見当たりませんので、教えてください。

Aベストアンサー

英語のQ&Aサイトに答えかもしれないものが載っていました。
http://www.hometheaterforum.com/t/293214/what-are-target-cds-and-why-are-they-collectible

要約すると・・
1980年代初め~半ばにかけてWEA(ワーナー・エレクトラ・アトランティック ※現在のワーナーミュージック)によってリリースされたCDのことをターゲットCDと呼ぶようです。このCDの多くはアメリカでまだCDの国内生産がされる前に西ドイツか日本で作られましたが、中にはアメリカやフランスで作られたものもあります。「ターゲット」という名前はこのCDのデザインが銃の照準線や的に似ていることから来ているそうです。またラベルの非常に目を引く色合いですぐそれとわかるそうです。
※ターゲットCDのデザイン
http://www.keithhirsch.com/wordpress/wp-content/uploads/2007/11/zeppelin-4-target-post.jpg

現在のCDに比べるとノイズキャンセレーションなどを行っていない、言ってみればオリジナルにより近い音質であること、多くがコピーではなくオリジナル音源であること、初期のコンパクトディスクはこういうものだったんだという歴史を振り返るという意味でも価値があることが、特徴のようです。

英語のQ&Aサイトに答えかもしれないものが載っていました。
http://www.hometheaterforum.com/t/293214/what-are-target-cds-and-why-are-they-collectible

要約すると・・
1980年代初め~半ばにかけてWEA(ワーナー・エレクトラ・アトランティック ※現在のワーナーミュージック)によってリリースされたCDのことをターゲットCDと呼ぶようです。このCDの多くはアメリカでまだCDの国内生産がされる前に西ドイツか日本で作られましたが、中にはアメリカやフランスで作られたものもあります。「ターゲット」とい...続きを読む

Q=IF(ISNA(VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)),"",VLOOKUP($A1,sheet2!$A$1:$B $

いつもお世話になってます。
以下の関数式について、お時間がありましたらどうぞご教示ください。

=IF(ISNA(VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)),"",VLOOKUP($A1,sheet2!$A$1:$B $12,2,FALSE))

「シート2の範囲指定した表にA1セルの値と同じ値の右隣になる値を返せ。ただし該当なき場合は空白とせよ。」

純粋になんでこのような構文になるのかが解りません。

1.ISNAってそもそもなんでしょう?
2.同じ式を繰り返すのはなぜ?
(模範式で、このように同じ式を繰り返す構文があまり無いように思えたのです。)

・参考となる他所のページがあれば教えて下さい。
・素人です。お手柔らかにお願いします。

(エクセル2003)

Aベストアンサー

1.ISNAってそもそもなんでしょう?
ISで始まる情報関数の一つで、#N/A!エラーのみを判定する関数
結果はTRUE(真),FALSE(偽)のいずれかになります。
エラー判定のIS関数には他に
ISERR:#N/A!を除くすべてのエラーを判定する関数
ISERROR:すべてのエラーを判定する関数
があります。

2.同じ式を繰り返すのはなぜ?
ISNAの判定する値がセルでなく数式の結果だからです。
A2=VLOOKUP($A1,sheet2!$A$1:$B$12,2,FALSE)
なら
A3=IF(ISNA(A2),"",A2)
ということになります。A2のように計算の為のセルを省略する為に
=IF(ISNA(数式),"",数式)のように同じ数式を2回繰り返しになってます。

QTarget(ターゲット)、Make(メーク)、Build(ビルド)の意味

 今日は、Cの初心者です、宜しくお願いします。

 いま、EclipseにCDTをインストールして使っています。
 ソースから走らせると、色々なコメントとか、メニューバーにもあるのですが、その意味がよく分かりません、宜しくお願いします。

 Target(ターゲット)、Make(メーク)、Build(ビルド)とはどのような意味で、それぞれどのような違いがあるのでしょうか。
 compile(コンパイル)、linker(リンカ)ならわかるのですが。

Aベストアンサー

EclipseのCDTは使ったこと無いので、過去の経験からの推測ですが

Target
リリース版とかデバッグ版とか、対象OS等のプラットフォームとかでしょうか。

Make
変更のあったソースと依存関係のあるソースのみコンパイルする

Build
全ソースファイルをコンパイルする

QエクセルでB列の数値がA列(A1:A10)の範囲に存在するかどうかを知りたい

こんばんは。
エクセルでこのようなことができるのかどうか分からないので、教えてください。

B列の数値がA列(A1:A10)の範囲に含まれる数値なら○、含まれない数値なら×と、C列に表示したいのですが、エクセルでそのようなことはできるのでしょうか。
できるのであれば方法を教えていただけますでしょうか。
よろしくお願いいたします。

<<最終的な結果は以下のように表示したいです>>

  A B C

1 12 19 ○

2 15 20 ○

3 19 28 ○

4 20 30 ×

5 23 34 ○

6 28 35 ×

7 32 38 ×

8 34 39 ○

9 39

10 40

Aベストアンサー

セル C1 に式 =IF(COUNTIF(A:A,B1),"○","×") を入力して、此れを下方にズズーッと複写

Qtargetのショートカットが出来てしまいました

マイネットワークを開くと各共有フォルダが見えるのですが、昨日朝PCを立ち上げ、私の共有フォルダを開けると、targetのショートカットが出来てそれをクリックすると、共有フォルダファイル群が見えます。
このショートカットファイルはどうして出来たのでしょうか??
私のご操作かもしれないです・・・全く記憶ないのです。
又このショートカットをなくしたいのですが、中身も削除されると思いどのように修正していいのか困っています。
又他のネットワークのPCからは、私の共有フォルダを開くとターゲットを介さないようで直接今まで通り開きます。
本当に何もわからなく困っています、ご教示の程よろしくお願いします
又そのターゲットのショートカットのプロパティでリンク先を見ると、マイドキュメントになって場所は共有フォルダです。
よろしくお願いします。

Aベストアンサー

targetという名前のショートカットですか?
聞いたこと無いですね。
ただ、ショートカットなら削除しても問題ないですよ。
万全を期すなら、データをバックアップしてから、ショートカットを削除して下さい。

Q"$B$32:$H$32,$K$32:$N$32,$P$32:$AH$32" を変数に置き換えたい

こんにちは。よろしくお願いします。いつもgooの皆さんには大変お世話になっています。
エクセルは2013です。どなたか教えてください。

質問内容
Wクリックの範囲指定が現状はこのようになっています
If Not Intersect(Target, Range("$B$32:$H$32,$K$32:$N$32,$P$32:$AH$32")) Is Nothing Then

行を指定する32を
Dim shg as long
shg=32
とした場合、上記の範囲指定を & と変数 shg でつなげていくと、あまりにも長くなってしまいます
もっとスマートな書き方はないでしょうか

Aベストアンサー

If Not Intersect(Target, Rows(shg), Range("$B:$H, $K:$N, $P:$AH")) Is Nothing Then

QHTMLでは とした表記をflashでやる場合

HTML上でのタグ表記(例):
<A HREF="main.htm#info" target="MAIN">インフォメーション</a>
としていたものと同じ動作を、flash内のボタンから行いたいと考えております。

そこで以下のようにボタンインスタンスにアクションを記入してみました:
on(release) {
getURL ("main.htm#info","MAIN");
}

上記の方法で動作させてみたところ、
ターゲットがMAINのウインドウが開いている場合は、そこにmain.htmを表示。
ターゲットがMAINのウインドウが無ければ、新たにウインドウを開いてmain.htmを表示。
というところまでいきました。
…が、
main.htm内にあるタグ <a name="info"> のところには(flashボタンの方では)とんでくれませんでした。

なにか表記方法に勘違いや、別のよい方法等がありましたら是非ご教授いただけないでしょうか。
お願い致します。

Aベストアンサー

オフラインで確認作業をされていると思いますが、たしかオフラインではうまく動きません。
サーバーにアップロードして確認してみてください。おそらくうまく動くはずです。
以前同じ状況で困ったときに調べたらそんな話だったと思います。(今回参考になるようなURLなど紹介できませが、探せばあると思います。)

私の場合、そのときはオフラインを前提で作っていたものだったので、諦めましたが、いま確認してみたら、ちゃんと動いてましたのでアップすればうまく動くと思いますよ、一度お試しください。

QExcel2013 VBA A列とB列の文字をA列とB列とC列に移動させる方法

A列とB列に文字が入っているのですが、下記のようにA列とB列とC列に文字を移動させたいです。
(A列の数字は必ず奇数のA列に入っています。)
VBAのコードを教えて下さい。

例えば
A1 1  B1 cat
A2 空白 B2 猫
A3 空白 B3 dog
A4 空白 B4 犬
A5 2  B5 whale
A6 空白 B6 クジラ
A7 3  B7 rabbit
A8 空白 B8 ウサギ

とデータがある場合

A1 1  B1 cat  C1 猫
A2 空白 B2 dog  C2 犬
A3 2  B3 whale  C3 クジラ
A4 3  B4 rabbit C4 ウサギ

としたいです。

実際、データは、A5196まであります。

Aベストアンサー

No.1です。

>実際、データは、A5196まであります。

前回のコードは一つずつカット&ペーストしていますので
かなりの時間を要すると思います。
↓のコードに変更してみてください。

Sub Sample2()
Dim lastRow As Long
lastRow = Cells(Rows.Count, "B").End(xlUp).Row
Application.ScreenUpdating = False
With Range(Cells(1, "C"), Cells(lastRow, "C"))
.Formula = "=IF(MOD(ROW(),2)=1,B2,"""")"
.Value = .Value
.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End With
Application.ScreenUpdating = True
MsgBox "完了"
End Sub

少しは短縮できると思います。m(_ _)m

No.1です。

>実際、データは、A5196まであります。

前回のコードは一つずつカット&ペーストしていますので
かなりの時間を要すると思います。
↓のコードに変更してみてください。

Sub Sample2()
Dim lastRow As Long
lastRow = Cells(Rows.Count, "B").End(xlUp).Row
Application.ScreenUpdating = False
With Range(Cells(1, "C"), Cells(lastRow, "C"))
.Formula = "=IF(MOD(ROW(),2)=1,B2,"""")"
.Value = .Value
.SpecialCells(xlCellTypeB...続きを読む


人気Q&Aランキング