Excel VBA質問箱 IV

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

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


24698 / 76738 ←次へ | 前へ→

【57388】Re:2つの条件での分岐・書き込み
回答  Hirofumi  - 08/8/16(土) 23:08 -

引用なし
パスワード
   > 1. "合致"の代わりに更新日を入れるとすれば、
>     '合致を記入
>
>>        vntResult(lngComp2, 1) = Date
>
>  ではエラーがでてしまいますね?プログラム的に問題ないですよね?

変な変更を行っていなければ上記で日付が入るはずですし
当方でのTestでは、日付が入ります


> 2. シート2のD列に例えばシート1のC列を書き込むとすれば
>
>        vntResult(lngComp2, 2) = vntList1(1)(lngComp1, 2)
>
>  でいいんですかね?

此れはNGですね、シート1のC列に就いては当然考慮していませんので
配列にC列のデータを取得していませんし、そもそも配列自体そのサイズなっていません
C列を出力したければ、以下を修正します

  'Sheet2のデータ列数(A列〜C列)
'  Const clngColumns2 As Long = 3
  Const clngColumns2 As Long = 4 '★変更(D列に書き込むならここをD列までに拡張する)

  End If
  '結果出力用配列を確保
'  ReDim vntResult(1 To lngRows2, 1 To 1)
  ReDim vntResult(1 To lngRows2, 1 To 2) '★変更
  '追加位置を記録
  lngAppend = lngRows2


Sub DataMatch()の場合

      Case Is = 0 'Matchiした場合
        '合致を記入
'        vntResult(lngComp2, 1) = "合致"
        vntResult(lngComp2, 1) = Date '★変更
        vntResult(lngComp2, 2) = rngList1.Offset(lngComp1, 3).Value '★追加
        'Sheet1、Sheet2のシートの比較位置を更新
        lngComp1 = lngComp1 + 1
        lngComp2 = lngComp2 + 1


Sub DataMatch2の場合

      If .Exists(vntKey) Then
'        vntResult(.Item(vntKey), 1) = "合致"
        vntResult(.Item(vntKey), 1) = Date '★変更
        vntResult(.Item(vntKey), 2) = rngList1.Offset(lngComp1, 3).Value '★追加
      Else


> 3. (lngComp2, 2) をもっと大きな(lngComp2, 24)等ににするのはNGですか?これでZ列に書き込みが出来るのか>>なと思ったのですが。。。インデックスが有効範囲にありませんと出ます。

NGとまでは言い切れませんが、配列のサイズがデータ量に因っては大きくなりすぎる可能性が有ります
ただ、ご自分で試して見る様ですね

変更方法は、

  '結果出力用配列を確保
'  ReDim vntResult(1 To lngRows2, 1 To 1)
  ReDim vntResult(1 To lngRows2, 1 To 24) '★変更
  '追加位置を記録
  lngAppend = lngRows2

これで使えない様ならば、コードを変更し(遅くなるのを覚悟して)、
列出力では無く、行処理にすればいいと思います
2 hits

【57381】2つの条件での分岐・書き込み へろへろサラリーマン 08/8/16(土) 17:36 質問
【57382】Re:2つの条件での分岐・書き込み Hirofumi 08/8/16(土) 18:38 回答
【57383】Re:2つの条件での分岐・書き込み Hirofumi 08/8/16(土) 19:10 回答
【57386】Re:2つの条件での分岐・書き込み へろへろサラリーマン 08/8/16(土) 20:52 質問
【57388】Re:2つの条件での分岐・書き込み Hirofumi 08/8/16(土) 23:08 回答
【57389】Re:2つの条件での分岐・書き込み Hirofumi 08/8/16(土) 23:19 回答
【57390】Re:2つの条件での分岐・書き込み Hirofumi 08/8/17(日) 0:39 回答
【57393】Re:2つの条件での分岐・書き込み へろへろサラリーマン 08/8/17(日) 15:33 発言
【57384】Re:2つの条件での分岐・書き込み kanabun 08/8/16(土) 19:12 発言
【57385】Re:2つの条件での分岐・書き込み へろへろサラリーマン 08/8/16(土) 19:57 発言

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