|
あるDBから、条件を絞って”出力”という名前のシートに値を出します。
しかし、出力先のシートに既に同じ値があったら値は出しません。
…というわけで、「しかし」以降がうまくいきません。
一先ず記述したものを貼ってみます。どこにどのように記載したらいいの
か教ええいただけたらと思います。
ちなみに、DBから出力した値がAで、既にシートにある値もAだったら…という
考えで教えて欲しいです。
説明が難しくて申し訳ないです。
Private Sub CommandButton1_Click()
'他のエクセルファイルを開いて情報を取得する
'ポインタを砂時計にする
MousePointer = 11
'エクセルオブジェクトの新しいインスタンスを作成
Set IRAIxl = CreateObject("Excel.Application")
'ファイル名を指定してワークブックを開く
Set IRAIwb = IRAIxl.Workbooks.Open(Filename:=DAICYO_PATH, UpdateLinks:=0, ReadOnly:=True)
Set IRAIws = IRAIwb.Sheets(DATA_SHEET_NAME)
'出力に出す
Worksheets("出力").Cells(1, 1).Value = "削除依頼一覧 ユーザ納品から6日経過したもの"
Worksheets("出力").Cells(2, 1).Value = "作成日:" & Date
Worksheets("出力").Cells(3, 1).Value = ""
'納品管理台帳の番号がなくなるまで
Y = I_START_Y
'出力は6行目から開始
'出力開始は5行目から(新規入力箇所指定)
Dim Kaishi As Range
Set Kaishi = Worksheets("出力").Range("A65536").End(xlUp).Offset(1)
Do Until IRAIws.Cells(Y, I_KEY_x).Value = ""
If Trim(IRAIws.Cells(Y, I_TANTODAY_x).Value) = "" And _
Trim(IRAIws.Cells(Y, I_UNOHINJISEKI_x).Value) <> "" Then
If IRAIws.Cells(Y, I_UNOHINJISEKI_x).Value < Date - 6 Then
'出力に出す
Kaishi = Trim(IRAIws.Cells(Y, I_HYOKIKBN_x).Value) '表記区分
Kaishi.Offset(, 1) = Trim(IRAIws.Cells(Y, I_NO_x).Value) & "-" & Trim(IRAIws.Cells(Y, I_EDA_x).Value) '案件番号と枝番
Kaishi.Offset(, 2) = Trim(IRAIws.Cells(Y, I_ANKEN_x).Value) '案件名
Kaishi.Offset(, 3) = Trim(IRAIws.Cells(Y, I_TYUSYUTUTANTO_x).Value) '抽出担当名
Kaishi.Offset(, 4) = Trim(IRAIws.Cells(Y, I_HOWTO_x).Value) '納品方法
Kaishi.Offset(, 5) = Trim(IRAIws.Cells(Y, I_KANRYOU_x).Value) '完了日
Kaishi.Offset(, 6) = Trim(IRAIws.Cells(Y, I_UNOHINJISEKI_x).Value) '納品日
Set Kaishi = Kaishi.Offset(1)
End If
End If
End If
Y = Y + 1
DoEvents
Loop
'ファイルのクローズ
IRAIwb.Close saveChanges:=False
MsgBox ("出力しました")
End Sub
|
|