プロが教えるわが家の防犯対策術!

A1~A50のセルに関数式(条件式)が入っており、このA1~A50のセルの値が1又は0と表示されます。その時1が表示されているセル番地を取得したい(知りたい)のですがどうすれば良いのですか?1が表示されるセルは複数あります。
たぶんマクロになると思うのですがご教示お願いします。

A 回答 (5件)

#1のka_na_deです。



追加質問の件ですが、一例を示します。

Sub test2()
  Dim r As Long
  Dim s As Long

  s = 1
  Range("D:E").ClearContents
  For r = 1 To 50
    If Cells(r, "A").Value = 1 Then
     Cells(s, "D").Value = Cells(r, "B").Value
     Cells(s, "E").Value = Cells(r, "C").Value
     s = s + 1
    End If
  Next
End Sub
    • good
    • 0
この回答へのお礼

レスありがとうございました。
解決しました。更なるマクロの勉強に役立てていきます。

お礼日時:2007/07/13 22:25

Sub test01()


Dim cl As Range
k = 1
For Each cl In Range("A1:A50")
If cl = 1 Then
Cells(k, "C") = cl.Address
k = k + 1
End If
Next
End Sub
C列に番地を出している。
関数式の有無を条件に加えるなら
If cl = 1 Then

If cl = 1 And cl.HasFormula Then

この回答への補足

レスありがとうございます。追加で質問させてください。
A1~A50のセルの値が1と表示された隣のBとC列の値(数字または文字)をDとE列にはき出したいです。
例)A25とA40で1が表示→B25の値をD1へ、C25の値をE1へ、B40の値をD2へ、C40の値をE2へ、みたいに。
又、DとE列にはき出す前に、DとE列の値をクリアしたいです。(何度もこのマクロを実行するため)
お手数おかけしますがよろしくお願いします。

  

補足日時:2007/07/09 23:54
    • good
    • 0

ANo.2 ですが、こちらの方が簡単ですね。



任意の空きセルに次の配列数式を入力
  {="A"&LARGE((A$1:A$50)*ROW(A$1:A$50),ROW(A1))}
そのセルに次の条件付き書式を設定
  セルの値が 次の値に等しい A0
  フォント色 白
    • good
    • 0
この回答へのお礼

レスありがとうございます。
こういう関数ができることを始めて知りました。
参考になりました。

お礼日時:2007/07/11 22:24

C1 に次の配列数式を入力


  {="A"&SMALL((A$1:A$50)*ROW(A$1:A$50),50-SUM(A$1:A$50)+ROW(A1))}
C1に次の条件付き書式を設定
  数式が =ISERROR(C1)
  フォント色 白

セル C1 を下方にズズーッと複写
    • good
    • 0

目的が良く分かりませんが、


これでどうですか?


B1:
=IF(A1=1,CELL("address",A1),"")

B2:
=IF(A2=1,B1&","&CELL("address",A2),B1)

B3~B50は B2をコピー&ペースト

これで、B50にセル番地が列記されます。
    • good
    • 0
この回答へのお礼

関数式でもできたのですね。
ありがとうございます。

お礼日時:2007/07/11 11:02

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