2017-06-06 2 views
1

これは初めての質問です。Access-VBAは、行をコピーする前に、開いているExcelワークブックのセルが空であるかどうかを確認します。

特定の行をあるブックから別のブックにコピーする必要がある作業で問題が発生しました。コピー部分は私が解決したかもしれないと信じていますが、私の問題は非常に簡単なものです。

コピーする行を決定する最初のワークブック内の4つの日付を確認する必要があります。問題が発生しているセルのチェックは、セルが空でないかどうかを確認することです。コードを実行するたびに、チェック時に不一致エラー13が発生します。

Dim XX As Excel.Application ----secondary workbook 
    Dim ws1 As Object 
    Dim ws As Object 

    Set XX = New Excel.Application 
    XX.DisplayAlerts = False 

    Set ws1 = XX.Workbooks.Add 
    ws1.Activate 
    Set ws = ws1.ActiveSheet 

    Set xl = New Excel.Application ----primary workbook 
    xl.DisplayAlerts = False 

    Set wb = xl.Workbooks.Open(FilePath) 

For i = 2 To wb.Sheets("SHEET1").Range("Q65536").End(xlUp).Row --- i have the code looping through all rows of the primary workbook 

     Date1 = wb.Sheets("SHEET1").Cells(i, 12).Text 
     Date2= wb.Sheets("SHEET1").Cells(i, 14).Text 
     Date3= wb.Sheets("SHEET1").Cells(i, 13) 
     Date4 = wb.Sheets("SHEET1").Cells(i, 15) ----- everything up to here has no errors 

     If ((CDate(Date1) < Date) & (IsEmpty(Date3))) Then ---- error is always here, at Date3 

      wb.Rows(i).Copy ws.Rows(ws.Cells(ws.Rows.Count, 2).End(xlUp).Row + 1) 

     end if 

wbはプライマリワークブックです(うまくいけば)からデータを取っています.WSはコピーしているワークブックです。

エラーが発生したのは、ifステートメントの空のチェックにあることが分かりました。私はそれを取り出して、小切手とコードを意図したとおりに進めてしまったからです。私はちょうどそれを修正する方法を見つけることができません。

私は文字列、整数、日付、およびバリアントからすべての日付変数を宣言しました。また、セルの値を範囲やセルとして.textまたは.valueまたは何もインポートしないでインポートしようとしました。その後、if文の中で、私はIsEmpty、Isnull、= ""、= 0、= nullをCDateに追加しようとしました。私は文字通り私が考えることができるすべての可能な組み合わせですべてのものを試しました。

+0

次のような類似の質問へのリンクです:https://stackoverflow.com/questions/33421574/how-to-check-if-a-date-cell-in-excel-is-empty –

+0

ありがとうこの質問を投稿する前に、私は昨日から解決策を探していました。私はあなたがすばやく見つけたことに恥ずかしく思っています。もう一度あなたに感謝します。 –

答えて

0

あなたは試みることができる:

Date3 = trim(wb.Sheets("SHEET1").Cells(i, 13)) 
....IsNull(Date3) 

ここでの考え方は、最初の空白のトリムNULL値を確認することです。

希望します。

+0

答えに時間を割いてくれてありがとう、ブライアンは私がまだ見ていない同様の質問に私を指摘した。しかし、それは私が将来を念頭に置くクールなトリックです:) –

0

ブレインMスタッフォードはコメントに答えました。

関連する問題