advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 228 for エラー値 #N/A (0.017 sec.)
エラー値 (861), #n/a (1385)
[[20070316180238]]
#score: 10842
@digest: 1f41806d3edad960b493f242e265a999
@id: 29516
@mdate: 2007-03-20T00:12:55Z
@size: 4048
@type: text/plain
#keywords: era (33313), ativecell (15497), ドク (11549), ルk2 (9815), 数er (6676), でk2 (5134), 数r (4649), クタ (4195), activecell (3049), 同義 (2713), ー値 (2209), (ド (2010), 大阪 (1776), 摘頂 (1502), iserror (1445), 個数 (1381), 「# (1366), activate (1316), ーも (1168), k2 (1101), 、r (1058), seiya (863), 練習 (830), loop (800), 数1 (770), 最終 (765), 黄色 (690), 発見 (657), の個 (657), 終行 (643), 事前 (588), 省略 (588)
『繰り返し処理がうまくいかないです。』(ドクターもこみち)
こんばんは。繰り返し処理について、うまくいかなんです。 セルK2からアクティブセルが空白になるまで、ループ 処理をしたいです。セルK2から空白でなければ、下に移動 というコードを書き、そのついでに#N/Aの文字列があった場合 それを変数eraに個数1として加え、#N/Aの数を最終的に 何個だったか、報告するというものなんですが、エラー内容 として、「LOOPに対してのDOが見つかりません」と出てしまい ます。 Dim era As Integer era = 0 Range("K2").Select Do Until ActiveCell = Empty If ActiveCell = "#N/A" Then era = era + 1 ativecell.Offset(1, 0).Activate Else ativecell.Offset(1, 0).Activate Loop MsgBox "エラー値を" & era & "個、発見しました。" ---- End Ifが無いからでは (ken) ---- Loopの練習で書いているのなら activecell.offset(1,0).Activate Else の二行を削除して End If に書き換えればOKでしょう... Sub test() On Error Resume Next MsgBox Range("k2",Range("k" & Rows.Count).End(xlUp)).SpecialCells(-4123,16).Count End Sub なんてこと出来ませんか? (seiya) ---- 上記の activecell.offset(1,0).Activate Else を削除して、end ifを追加したのですが、バグはLoopを指しているようです。 あとtestプログラムを実行しても、何を起こらなかったんですが、これは どういうプログラムになるのでしょうか。 今、考えている事は、K2からKの最終行までの「#N/A」の個数を集計して 最終メッセージボックスとして表示させたいと思っています。そこでK2か ら、一つずつセル内の値が「#N/A」かどうか調べ、セルを1つ下にずらし、 また調べというループを作りました。しかし、うまくいかなかったという 事なんです。(-_-:) ---- 下のようなコードを作ってみました。「#N/A」の個数を数えたいのですが やはり実行すると、LOOPが黄色になり、エラー「型がちがいます。」と 表示。デバッグモードになります。 「#N/A」ではなく、「大阪」と入れると、きちんと大阪の個数を数える んですが、#N/Aの個数を数える方法がないのでしょうか。なお、#N/Aも 含めて、すべて値の貼り付けとして処理しています。(ドクターもこみち) Sub test() Dim era As Integer era = 0 Range("K2").Select Do If ActiveCell = "#N/A" Then era = era + 1 End If ActiveCell.Offset(1, 0).Activate Loop While ActiveCell <> "" MsgBox era ---- ActiveCell.Text = "#N/A" または IsError(ActiveCell.Value) では? (seiya) ---- .textを追加してみたのですが、やはり下記1文が黄色でぬられ、型が一致しま せんという表記が出てしまいます。 Loop While ActiveCell <> "" (ドクターもこみち) ---- これ実行してみてください。 Sub test() Dim r As Range, era As Long For Each r In Range("k2",Range("k" & rows.Count).End(xlUp)) If IsError(r.Value) Then era = era + 1 Next MsgBox era (seiya) ---- 私はこれで落ちます。 明日は投稿できませんので... (seiya) ---- seiyaさん、できました!!!!!後学のためにおつくりになられた 文章を読解してみますので、もし間違いがあれば、指摘頂けると 幸いです。 For Each r In Range("k2",Range("k" & rows.Count).End(xlUp)) If IsError(r.Value) Then era = era + 1 ★事前に定義として変数rを範囲としてみます。そして、rの中に K2からKの最終行までの範囲を代入。→「In」というのは、=と 同義なのでしょうか。 IF構文を指して、rの範囲内にエラー値があった場合にその数を 数える事ができるのでしょうか。とすると、エラー値以外で例え ば、文字の「大阪」の個数を数えようとした場合は、下記のよう になりますか? For Each r In Range("k2",Range("k" & rows.Count).End(xlUp)) If r.Value="大阪" Then era = era + 1 ありがとうございました。 (ドクターもこみち) ---- 1) For Each r In Range("k2, range("k" & rowns.count).end(xkup) 変数r (Range型)で K2:Kn (n=最終行) 範囲をループ 2) If IsError(r.Value) Then era = era + 1 セルがエラー値であるかどうか判定、Trueであれば era + 1 私は、Propertyを極力省略しないようにしています。 時には、省略したことが原因で不測の結果が導かれることがありますので。 (seiya) ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/200703/20070316180238.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97021 documents and 608149 words.

訪問者:カウンタValid HTML 4.01 Transitional