ple_maniaのプロフィール
- ベストアンサー数
- 9
- ベストアンサー率
- 42%
- お礼率
- 0%
- 登録日2009/03/27
- ExcelVBAについて
お世話になります。 Excelの数式についてお教えください。 do ~ loop の式を使うものですが、 A B C 1 80 2 90 3 85 4 B列に Activecell.Fomurla = ・・・という式を入れ、 A列が空白になるまでループさせたいと思うのですが、この際の do と loopの使い方をお教えください。 宜しくお願いします。
- クエリで求めた空き番を登録したい
詰まってしまったので質問させていただきます。 登録番号の空き番号を求めることが出来るクエリを使い空いている番号を埋めたいと思います。 個人T…テーブル。空き番号をもつ"登録番号"フィールドと空き番号がない綺麗な"連番"フィールドを持つ ZZZZ空き番号抽出クエリ…"登録番号"の空き番号を昇順で並べた"仮想ID"がある Private Sub Sample6() Dim Db As DAO.Database Dim rs As DAO.Recordset Dim i As Variant Dim J As Variant Set Db = CurrentDb Set rs = Db.OpenRecordset("個人T") J = Right(DMax("連番", "個人T"), 4) i = 0 While i < J rs.AddNew i = DMin("仮想ID", "ZZZZ空き番号抽出クエリ") →→ rs(登録番号) = "ZZZZ" & i rs.Update rs.MoveNext Wend End Sub これで実行すると「このコレクションには項目がありません。」 と「rs(登録番号) = "ZZZZ" & i」がエラーになってしまいます。 書き方自体が悪いのはものすごく分かるのですが・・・ どこを直したら正常に空き番号を埋めることができるでしょうか?
- ベストアンサー
- オフィス系ソフト
- noname#135452
- 回答数16
- クエリで求めた空き番を登録したい
詰まってしまったので質問させていただきます。 登録番号の空き番号を求めることが出来るクエリを使い空いている番号を埋めたいと思います。 個人T…テーブル。空き番号をもつ"登録番号"フィールドと空き番号がない綺麗な"連番"フィールドを持つ ZZZZ空き番号抽出クエリ…"登録番号"の空き番号を昇順で並べた"仮想ID"がある Private Sub Sample6() Dim Db As DAO.Database Dim rs As DAO.Recordset Dim i As Variant Dim J As Variant Set Db = CurrentDb Set rs = Db.OpenRecordset("個人T") J = Right(DMax("連番", "個人T"), 4) i = 0 While i < J rs.AddNew i = DMin("仮想ID", "ZZZZ空き番号抽出クエリ") →→ rs(登録番号) = "ZZZZ" & i rs.Update rs.MoveNext Wend End Sub これで実行すると「このコレクションには項目がありません。」 と「rs(登録番号) = "ZZZZ" & i」がエラーになってしまいます。 書き方自体が悪いのはものすごく分かるのですが・・・ どこを直したら正常に空き番号を埋めることができるでしょうか?
- ベストアンサー
- オフィス系ソフト
- noname#135452
- 回答数16
- 登録番号を詰めたい2
重要な部分が欠けていたので質問させていただきます。またご教授おねがいします。 以前このような質問をしたものですが、 http://okwave.jp/qa4859369.html 連番がずれてしまっていたので、以前説明できてなかった部分を説明したいと思います。 電話番号や会社名などの個人情報が入っている個人情報テーブル(以下個人T)と 値段や出荷した荷物などの詳細が書かれている注文テーブル(以下注文T)があるとします。 2つのテーブルは"登録番号"とフィールドで関連付けをしてあります。 その登録番号を虫食い無しの綺麗な連番にしたいと思います 以下の様な状態です。 "連番"というのは後の作業で"登録番号"と入れ替えをするために作成されたものです。 注文T 注文T | 個人T 個人T 登録番号 連番 | 登録番号 連番 ZZZZ0001 null | ZZZZ0001 ZZZZ0001 ZZZZ0002 null | ZZZZ0002 ZZZZ0002 ZZZZ0002 null | ZZZZ0003 ZZZZ0003 ZZZZ0004 null | ZZZZ0004 ZZZZ0004 ZZZZ0006 null | ZZZZ0006 ZZZZ0005 (テーブル2には同じ会社から何度も注文がある場合"登録番号"フィールドには同じ"登録番号"が存在する場合がある) ところが、個人Tには個人情報があるにもかかわらず注文Tには注文された内容が無い場合があります。 以前質問した時に教えていただいたものですと Private Sub Sample4() Dim rs As New ADODB.Recordset Dim i As Integer Const フィールド名 As String = "☆連番☆" ' ☆1 Const テーブル名 As String = "☆元テーブル☆" ' ☆1 Const 抽出 As String = "☆登録番号☆" ' ☆1 Const 並び替え As String = "☆登録番号☆" ' ☆1 Dim sTmp As String i = 0 sTmp = "" rs.Source = "SELECT * FROM " & テーブル名 & _ " WHERE " & 抽出 & " LIKE 'ZZZZ%' ORDER BY " & 並び替え & ";" rs.Open , CurrentProject.Connection, adOpenForwardOnly, adLockOptimistic While (Not rs.EOF) If (rs(並び替え) <> sTmp) Then i = i + 1 sTmp = rs(並び替え) End If rs(フィールド名) = "ZZZZ" & Format(i, "0000") rs.Update rs.MoveNext Wend rs.Close End Sub になりますが、反映させた結果は、 注文T 注文T | 個人T 個人T 登録番号 連番 | 登録番号 連番 ZZZZ0001 ZZZZ0001 | ZZZZ0001 ZZZZ0001 ZZZZ0002 ZZZZ0002 | ZZZZ0002 ZZZZ0002 ZZZZ0002 ZZZZ0002 | ZZZZ0003☆ ZZZZ0003 ZZZZ0004 ZZZZ0003☆ | ZZZZ0004 ZZZZ0004 ZZZZ0006 ZZZZ0004 | ZZZZ0006 ZZZZ0005 と、いうものになります。 本来個人情報だけがある登録番号(ZZZZ0003)に、登録番号(ZZZZ0004)の情報が加わってしまうのです。 したがってまったく関連がない会社同士の情報が混ざってしまうのです (個人情報しかない"登録番号"でずれてしまう) 教えていただいたものは完璧だったのですが、私が情報の足りない質問をしてしまったのが失敗でした・・・申し訳ありません。 注文T 注文T | 個人T 個人T 登録番号 連番 | 登録番号 連番 ZZZZ0001 ZZZZ0001 | ZZZZ0001 ZZZZ0001 ZZZZ0002 ZZZZ0002 | ZZZZ0002 ZZZZ0002 ZZZZ0002 ZZZZ0002 | ZZZZ0003 ZZZZ0003 ZZZZ0004 ZZZZ0004 | ZZZZ0004 ZZZZ0004 ZZZZ0006 ZZZZ0005 | ZZZZ0006 ZZZZ0005 注文Tがこのような形になるのが理想なのですが、どのように連番を振る途中で飛ばすのか分かりません。 だいぶVBAが変わってしまいそうな気もしますが、どうかよろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
- noname#135452
- 回答数4
- 金融の計算ですが・・・
残高スライドのローンですが、 これだけの手がかりだけで、「返済方式」「金利」がわかるでしょうか? カテゴリー的に迷ったのですが、こちらにしました。 100万円の借り入れ 2万円を月々返済(50万円より下は月々1万円) 2万円を返済すると借入可能額が約11,000円となる ※利息分が9千円だと思います。 この条件から元利定額、元金定額とか、どんな方式でしょうか。 金利は何%と推測できるでしょうか。 ソフトでシミュレーションすると、こんな風になります。 元利定額 金利18% とすると、 元金充当「5000」、金利「15000」となり、食い違いがあります。 詳しい方教えていただけないでしょうか。