| |
ワークシート側の日付が、シリアル値で入っていて、
Csv側が「20050731」形式の文字列で、ワークシートの日付を探す
マクロは、「Public Sub 商品()」を使うと言うなら以下を追加して下さい
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=20699;id=excel
'フィールドに分割
vntField = Split(strBuff, ",", , vbBinaryCompare)
'日付を探索
vntField(0) = DateValue(Left(vntField(0), 4) & _
"/" & Mid(vntField(0), 5, 2) _
& "/" & Right(vntField(0), 2)) '★この行追加
lngCol = GetDateColumn(vntField(0), rngDate, rngResult)
'No.を探索
日付をシリアル値に直しています
尚、ここには出てきていませんが、
「Function DataSearch」と「Function GetDateColumn」言う関数が有る筈です
「Function DataSearch」の中で、Matchワークシート関数で位置を探していますので
Matchで、日付(Date型)は探せ無いので、Long値で探す為
「Function GetDateColumn」では、
'セル値が数値として入力されている場合
lngFound = DataSearch(CLng(vntDate), rngScope, lngOver)
'セル値が文字列として入力されている場合
' lngFound = DataSearch(vntDate, rngScope, lngOver)
の「セル値が数値として入力されている場合」の方を使って下さい
|
|