Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


11341 / 13644 ツリー ←次へ | 前へ→

【16489】計算式に関して質問します 初心者 04/7/29(木) 14:42 質問[未読]
【16491】Re:計算式に関して質問します れいぞー 04/7/29(木) 14:53 回答[未読]
【16554】Re:計算式に関して質問します 初心者 04/8/2(月) 16:22 質問[未読]
【16557】Re:計算式に関して質問します Asaki 04/8/2(月) 17:01 回答[未読]
【16559】Re:計算式に関して質問します 初心者 04/8/2(月) 17:18 質問[未読]
【16561】Re:計算式に関して質問します つん 04/8/2(月) 17:21 回答[未読]
【16562】Re:計算式に関して質問します 初心者 04/8/2(月) 17:48 質問[未読]
【16564】Re:計算式に関して質問します Asaki 04/8/2(月) 18:15 回答[未読]
【16586】Re:計算式に関して質問します 初心者 04/8/3(火) 10:35 質問[未読]
【16587】Re:計算式に関して質問します Asaki 04/8/3(火) 11:13 回答[未読]
【16596】Re:計算式に関して質問します 初心者 04/8/3(火) 15:28 質問[未読]
【16606】Re:計算式に関して質問します Asaki 04/8/3(火) 23:14 回答[未読]
【16623】Re:計算式に関して質問します 初心者 04/8/4(水) 15:28 質問[未読]
【16627】Re:計算式に関して質問します Asaki 04/8/4(水) 16:00 回答[未読]
【16629】Re:計算式に関して質問します 初心者 04/8/4(水) 16:21 お礼[未読]

【16489】計算式に関して質問します
質問  初心者  - 04/7/29(木) 14:42 -

引用なし
パスワード
   こんにちわ
VBAで
=IF(ISERROR(VLOOKUP(RC[-8],'Sheet2'!R5C1:R83C4,2,FALSE)),0,VLOOKUP(RC[-8],'Sheet2'!R5C1:R83C4,2,FALSE))"
という計算式を作ったのですが、!R5C1:R83C4の部分を固定ではなくSheet2に数字が入力されているところまでを指定するというやり方を教えてください。

【16491】Re:計算式に関して質問します
回答  れいぞー WEB  - 04/7/29(木) 14:53 -

引用なし
パスワード
   こんにちは♪
ザックリですが・・・

 p = Sheet2.celsle(Rows.Count, 1).End(xlUp).Row
  'こんな感じで最終行を取得して代入
  =IF(ISERROR(VLOOKUP(RC[-8],'Sheet2'!R5C1:R" & p & "C4,2,FALSE)),0,VLOOKUP(RC[- 8],'Sheet2'!R5C1:R" & p & "C4,2,FALSE))"

【16554】Re:計算式に関して質問します
質問  初心者  - 04/8/2(月) 16:22 -

引用なし
パスワード
   ▼れいぞー さん:
>こんにちは♪
>ザックリですが・・・
>
> p = Sheet2.celsle(Rows.Count, 1).End(xlUp).Row
>  'こんな感じで最終行を取得して代入
>  =IF(ISERROR(VLOOKUP(RC[-8],'Sheet2'!R5C1:R" & p & "C4,2,FALSE)),0,VLOOKUP(RC[- 8],'Sheet2'!R5C1:R" & p & "C4,2,FALSE))"

こんにちわ。れいぞーさん
回答ありがとうございました。
すいません。解決したと思ってたのですが解決はしてなかったみたいです(>.<)
れいぞーさんのコードを使わせていただいたのですが、celsleのところでエラーになるのですが、なぜでしょう?
celsleというのはどういった意味のコードでしょうか?
すいませんヘルプでも出てこなかったの教えて下さい。m(__)m

【16557】Re:計算式に関して質問します
回答  Asaki  - 04/8/2(月) 17:01 -

引用なし
パスワード
   こんにちは。

タイプミスしていらっしゃるだけかと。
>celsle

Cells

【16559】Re:計算式に関して質問します
質問  初心者  - 04/8/2(月) 17:18 -

引用なし
パスワード
   >タイプミスしていらっしゃるだけかと。
>>celsle
> ↓
>Cells
Asakiさん、れいぞーさん、こんにちわ。
Cellsでコードは通ったのですが、セルにそのまま計算式が表示されてしまいました。

Dim 範囲 As Integer  
  範囲 = Sheet2.Cells(Rows.Count, 1).End(xlUp).Row
           ・
           ・
           ・
ActiveCell.FormulaR1C1 = "IF(ISERROR(VLOOKUP(RC[-8],'Sheet2'!R5C1:R" & 範囲 & ",2,FALSE)),0,VLOOKUP(RC[- 8],'Sheet2'!R5C1:R" & 範囲 & ",2,FALSE))"
というコードです。なぜでしょう?

【16561】Re:計算式に関して質問します
回答  つん E-MAIL  - 04/8/2(月) 17:21 -

引用なし
パスワード
   こんにちは^^

>ActiveCell.FormulaR1C1 = "IF(ISERROR(VLOOKUP(RC[-8],'Sheet2'!R5C1:R" & 範囲 & ",2,FALSE)),0,VLOOKUP(RC[- 8],'Sheet2'!R5C1:R" & 範囲 & ",2,FALSE))"
>というコードです。なぜでしょう?

IFの前に「=」が抜けているからじゃないでしょうか?

【16562】Re:計算式に関して質問します
質問  初心者  - 04/8/2(月) 17:48 -

引用なし
パスワード
   >>ActiveCell.FormulaR1C1 = "IF(ISERROR(VLOOKUP(RC[-8],'Sheet2'!R5C1:R" & 範囲 & ",2,FALSE)),0,VLOOKUP(RC[- 8],'Sheet2'!R5C1:R" & 範囲 & ",2,FALSE))"
>>というコードです。なぜでしょう?
>
>IFの前に「=」が抜けているからじゃないでしょうか?
つんさん。ありがとうございました。おっしゃられる通り「=」が抜けていました。
しかし今度はコードが通りません。なぜでしょう?
すいません。度々お聞きしてしまって(>.<)

【16564】Re:計算式に関して質問します
回答  Asaki  - 04/8/2(月) 18:15 -

引用なし
パスワード
   作成される式に誤りがあるのでは?

>ActiveCell.FormulaR1C1 = "=IF(ISERROR(VLOOKUP(RC[-8],'Sheet2'!R5C1:R" & 範囲 & ",2,FALSE)),0,VLOOKUP(RC[-8],'Sheet2'!R5C1:R" & 範囲 & ",2,FALSE))"
この行の前に
MsgBox "=IF(ISERROR(VLOOKUP(RC[-8],'Sheet2'!R5C1:R" & 範囲 & ",2,FALSE)),0,VLOOKUP(RC[-8],'Sheet2'!R5C1:R" & 範囲 & ",2,FALSE))"
というのを追加してみて、どのような数式が設定されることになるのか確認してみては?

取り敢えず、怪しげなスペースありますけど。
2個目の
VLOOKUP(RC[- 8],
      ^^^

【16586】Re:計算式に関して質問します
質問  初心者  - 04/8/3(火) 10:35 -

引用なし
パスワード
   ▼Asaki さん:
>作成される式に誤りがあるのでは?
>
>>ActiveCell.FormulaR1C1 = "=IF(ISERROR(VLOOKUP(RC[-8],'Sheet2'!R5C1:R" & 範囲 & ",2,FALSE)),0,VLOOKUP(RC[-8],'Sheet2'!R5C1:R" & 範囲 & ",2,FALSE))"
>この行の前に
>MsgBox "=IF(ISERROR(VLOOKUP(RC[-8],'Sheet2'!R5C1:R" & 範囲 & ",2,FALSE)),0,VLOOKUP(RC[-8],'Sheet2'!R5C1:R" & 範囲 & ",2,FALSE))"
>というのを追加してみて、どのような数式が設定されることになるのか確認してみては?
>
>取り敢えず、怪しげなスペースありますけど。
>2個目の
>VLOOKUP(RC[- 8],
>      ^^^


Asaki さん。ありがとうございました。
式は通りましたが、表示される数字がすべて0になってしまいます。なぜでしょう?
次々質問ばかりでごめんなさいm(__)m

【16587】Re:計算式に関して質問します
回答  Asaki  - 04/8/3(火) 11:13 -

引用なし
パスワード
   >式は通りましたが、表示される数字がすべて0になってしまいます。なぜでしょう?
こちらからは、どのようなデータに対して処理を行っているのか
全く分かりませんので、出来上がった数式の内容を1つずつチェックしてみてください。

VLookUp() の参照セル範囲は間違っていませんか?
検索する値は、間違っていませんか?
セルの書式は一致していますか?

数式バーで、VLookUp() の部分をマウスでドラッグして、F9キーを押してみてください。
式の結果が表示されます。
(Escキーで元に戻ります)

【16596】Re:計算式に関して質問します
質問  初心者  - 04/8/3(火) 15:28 -

引用なし
パスワード
   >>式は通りましたが、表示される数字がすべて0になってしまいます。なぜでしょう?
>こちらからは、どのようなデータに対して処理を行っているのか
>全く分かりませんので、出来上がった数式の内容を1つずつチェックしてみてください。
>
>VLookUp() の参照セル範囲は間違っていませんか?
>検索する値は、間違っていませんか?
>セルの書式は一致していますか?
>

Asakiさん。ありがとうございます。参照セルの範囲が1行目までしかありませんでした。
Sheet2のデータ範囲はA5からC73までなのに全然指定できません。
データは数字です。
なぜなのでしょうか?
コードの中に何か間違いがありますでしょうか?

Dim 範囲 As Integer  
  範囲 = Sheet2.Cells(Rows.Count, 1).End(xlUp).Row

ActiveCell.FormulaR1C1 = "=IF(ISERROR(VLOOKUP(RC[-8],'Sheet2'!R5C1:R" & 範囲 & ",2,FALSE)),0,VLOOKUP(RC[-8],'Sheet2'!R5C1:R" & 範囲 & ",2,FALSE))"

【16606】Re:計算式に関して質問します
回答  Asaki  - 04/8/3(火) 23:14 -

引用なし
パスワード
   関係があるかどうか解りませんが、とりあえず、↓の変更を入れてみてください。
>範囲 = Sheet2.Cells(Rows.Count, 1).End(xlUp).Row
 ↓
範囲 = Sheet2.Cells(Sheet2.Rows.Count, 1).End(xlUp).Row
このコードは、Sheet2のA65536セルを選択した状態から、Ctrl+↑キーの操作に該当しますが、
これでデータの最終行が取得できることは間違いありませんか?

また、シートの名前と、コードネームは一致しないことがありますが、両方とも
Sheet2
で大丈夫ですか?
コードネームとは、VBEのプロジェクトエクスプローラ上で、カッコの外に書いてあるほうです。
プロパティで言うと、オブジェクト名になります。

>'Sheet2'!R5C1:R" & 範囲
だと、
>A5からC73
にはならないのでは?
'Sheet2'!R5C1:R" & 範囲 & "C3"
??

【16623】Re:計算式に関して質問します
質問  初心者  - 04/8/4(水) 15:28 -

引用なし
パスワード
   Asakiさん。ありがとうございます
>これでデータの最終行が取得できることは間違いありませんか?
はい。それは間違いありません
>また、シートの名前と、コードネームは一致しないことがありますが、両方とも
>Sheet2
>で大丈夫ですか?
はいこれも大丈夫です

>にはならないのでは?
>'Sheet2'!R5C1:R" & 範囲 & "C3"
>??
これは
ActiveCell.FormulaR1C1 = "=IF(ISERROR(VLOOKUP(RC[-8],'Sheet2'!R5C1:R" & 範囲 & "C3"",2,FALSE)),0,VLOOKUP(RC[-8],'Sheet2'!R5C1:R" & 範囲& "C3"",2,FALSE))"
という式にするという事なのでしょうか?
このコードだとエラーになるのですが・・・・
すいません。

【16627】Re:計算式に関して質問します
回答  Asaki  - 04/8/4(水) 16:00 -

引用なし
パスワード
   >ActiveCell.FormulaR1C1 = "=IF(ISERROR(VLOOKUP(RC[-8],'Sheet2'!R5C1:R" & 範囲 & "C3"",2,FALSE)),0,VLOOKUP(RC[-8],'Sheet2'!R5C1:R" & 範囲& "C3"",2,FALSE))"
>このコードだとエラーになるのですが・・・・
"の数は、適宜合わせてください。

たぶん
ActiveCell.FormulaR1C1 = "=IF(ISERROR(VLOOKUP(RC[-8],'Sheet2'!R5C1:R" & 範囲 & "C3,2,FALSE)),0,VLOOKUP(RC[-8],'Sheet2'!R5C1:R" & 範囲& "C3,2,FALSE))"

【16629】Re:計算式に関して質問します
お礼  初心者  - 04/8/4(水) 16:21 -

引用なし
パスワード
   Asakiさん。ありがとうございました。
何とか完成いたしました。
変な質問ばかりしてすいませんでした。
仕事で必要なファイルだったので、助かりました(^^)
少しづつ勉強しながら作っていたのですが、まだまだ未熟者なので、これからもお世話になると思います。よろしくお願いしますm(__)m

11341 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free