Excel VBA質問箱 IV

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

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


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

【40086】vlookupについて kaoru 06/7/6(木) 20:17 質問[未読]
【40088】Re:vlookupについて Statis 06/7/6(木) 20:29 回答[未読]
【40099】Re:vlookupについて kaoru 06/7/6(木) 21:52 質問[未読]
【40104】Re:vlookupについて neptune 06/7/6(木) 22:27 回答[未読]
【40112】Re:vlookupについて kaoru 06/7/7(金) 8:27 お礼[未読]
【40116】Re:vlookupについて kaoru 06/7/7(金) 8:57 お礼[未読]
【40122】Re:vlookupについて Jaka 06/7/7(金) 10:38 発言[未読]
【40159】Re:vlookupについて kaoru 06/7/7(金) 17:03 お礼[未読]
【40089】Re:vlookupについて neptune 06/7/6(木) 20:38 回答[未読]
【40098】Re:vlookupについて kaoru 06/7/6(木) 21:51 お礼[未読]

【40086】vlookupについて
質問  kaoru  - 06/7/6(木) 20:17 -

引用なし
パスワード
   こんばんは、サイト内の検索で勉強してみたのですが
うまく結果が出ません。

Dim wk1 As String
Dim wk6 As String
Dim wk7 As String
Dim wk8 As Variant
wk6 = Worksheets("実績表").Cells(KGYO2, 4)
wk8 = Application.VLOOKUP(wk6, Worksheets("予定").Range("B7:AJ55").Value, wk1, 0)
      On Error GoTo 0
Worksheets("実績表").Cells(KGYO2, wret).Value = wk8
コマンドは以上です、どこが違いますか?
結果が#N/Aです。
よろしくお願いいたします。

【40088】Re:vlookupについて
回答  Statis  - 06/7/6(木) 20:29 -

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

変数に何が入っているか不明ですが?
変数「Wk1」は数値なので宣言を変更

Dim wk1 As Long
Dim wk6 As String
Dim wk7 As String
Dim wk8 As Variant

wk6 = Worksheets("実績表").Cells(KGYO2, 4).Value
wk8 = Application.VLookup(wk6, Worksheets("予定").Range("B7:AJ55"), wk1, 0)
      
Worksheets("実績表").Cells(KGYO2, wret).Value = wk8

【40089】Re:vlookupについて
回答  neptune  - 06/7/6(木) 20:38 -

引用なし
パスワード
   ▼kaoru さん:
VLOOKUPは使ったことないですが、恐らく
>wk8 = Application.VLOOKUP(wk6, Worksheets("予定").Range("B7:AJ55").Value, wk1, 0)
VLOOKUPの第2引数は範囲だから、
>Worksheets("予定").Range("B7:AJ55").Value
は間違い。これでは値になっている。

それと、第3引数も恐らく数値を渡すべきだから、文字列型の変数では駄目と思う。

【40098】Re:vlookupについて
お礼  kaoru  - 06/7/6(木) 21:51 -

引用なし
パスワード
   ▼neptune さん:

ご回答ありがとうございました。
変数設定なんですかね。

【40099】Re:vlookupについて
質問  kaoru  - 06/7/6(木) 21:52 -

引用なし
パスワード
   ▼Statis さん:
Statis さん こんばんは
全体が下記のとおりです。
Sub 予定()
Dim SKGYOMAX As Long
Dim rret As Long
Dim wret As Long
Dim wk1 As Long
Dim wk3 As String
Dim wk4 As String
Dim wk5 As String
Dim wk6 As String
Dim wk8 As Variant
Dim KGYO As String
Dim KGYO2 As String
Dim wGYOMAX As Long
SKGYOMAX = Worksheets("予定").Range("D65536").End(xlUp).Row
wk3 = 0
KGYO = 5
KGYO2 = 5
Do Until KGYO > SKGYOMAX
rret = 8
wret = 6
wk1 = 4
Do Until rret > 38
 wk6 = Worksheets("実績表").Cells(KGYO2, 4)
 wk8 = Application.VLOOKUP(wk6, Worksheets("予定")
     .Range("B7:AJ55").Value, wk1, 0)
 On Error GoTo 0
      
 Worksheets("実績表").Cells(KGYO2, wret).Value = wk8
 wk1 = wk1 + 1
 rret = rret + 1
 wret = wret + 1
Loop
KGYO = KGYO + 1
KGYO2 = KGYO2 + 2
Loop
  
End Sub

>こんにちは
>
>変数に何が入っているか不明ですが?
>変数「Wk1」は数値なので宣言を変更
>
>Dim wk1 As Long
>Dim wk6 As String
>Dim wk7 As String
>Dim wk8 As Variant
>
>wk6 = Worksheets("実績表").Cells(KGYO2, 4).Value
>wk8 = Application.VLookup(wk6, Worksheets("予定").Range("B7:AJ55"), wk1, 0)
>      
>Worksheets("実績表").Cells(KGYO2, wret).Value = wk8


>こんにちは
>
>変数に何が入っているか不明ですが?
>変数「Wk1」は数値なので宣言を変更
>
>Dim wk1 As Long
>Dim wk6 As String
>Dim wk7 As String
>Dim wk8 As Variant
>
>wk6 = Worksheets("実績表").Cells(KGYO2, 4).Value
>wk8 = Application.VLookup(wk6, Worksheets("予定").Range("B7:AJ55"), wk1, 0)
>      
>Worksheets("実績表").Cells(KGYO2, wret).Value = wk8

【40104】Re:vlookupについて
回答  neptune  - 06/7/6(木) 22:27 -

引用なし
パスワード
   ▼kaoru さん:
Statis さんではありませんが、
>Statis さん こんばんは
>全体が下記のとおりです。
>Sub 予定()
>Dim SKGYOMAX As Long
>Dim rret As Long
>Dim wret As Long
>Dim wk1 As Long
>Dim wk3 As String
>Dim wk4 As String
>Dim wk5 As String
>Dim wk6 As String
>Dim wk8 As Variant
>Dim KGYO As String
>Dim KGYO2 As String
>Dim wGYOMAX As Long
>SKGYOMAX = Worksheets("予定").Range("D65536").End(xlUp).Row
>wk3 = 0
>KGYO = 5
>KGYO2 = 5
この↑3つは数値型にすべきです。
>KGYO = KGYO + 1
>KGYO2 = KGYO2 + 2
↑ここにブレークポイントを置いて、その値をローカルウィンドウで見て下さい。
なぜかがわかります。

【40112】Re:vlookupについて
お礼  kaoru  - 06/7/7(金) 8:27 -

引用なし
パスワード
   ▼neptune さん:
ご返事が遅くなり申し訳ございません
 早速確認してみましょう。
 ありがとうございました。

【40116】Re:vlookupについて
お礼  kaoru  - 06/7/7(金) 8:57 -

引用なし
パスワード
   ▼neptune さん:
おはようございます。原因がわかりました。
msgbox で変数等の内容確認をしようとコマンドを
入力していたときvlookup関数の範囲に目をやると
違う範囲でした、neptune さんいろいろと
ありがとうございました。

【40122】Re:vlookupについて
発言  Jaka  - 06/7/7(金) 10:38 -

引用なし
パスワード
   > wk8 = Application.VLOOKUP(wk6, Worksheets("予定")
>     .Range("B7:AJ55").Value, wk1, 0)
> On Error GoTo 0
Vlookupの関数があっているのか見てませんが、
結果判定に、
If Iserror(wk8) Then
とか入れた方が良くないですか....。
On Error GoTo 0
が、入っている意味もよく解らないし。

【40159】Re:vlookupについて
お礼  kaoru  - 06/7/7(金) 17:03 -

引用なし
パスワード
   ▼Jaka さん:
こんにちはjakaさん
アドバイスありがとうございます。

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