0

こんにちは、私はここで問題を抱えています。私は単純な Excel ファイルを持っています。列のすべての行を読み取り、特定の文字列を見つけたいだけです。しかし、「文字列「START」から「Double」型への変換は有効なエラーではありません」というエラーが表示され、グーグルで調べたところ、空白行が原因であることがわかりました。では、空白行を無視するにはどうすればよいでしょうか。これまでのところ、私のコードは次のとおりです。

For Each c In xlsWorkSheet.Range("B1:B300").Cells
   If IsNothing(c.value) Then
       x = x + 1
       MessageBox.Show(x)
   ElseIf c.Value = "START" Then
       MessageBox.Show(x)
   End If
Next

最初の行は空白行なので、次のように出力されます: 1

2 番目の行には値があり、出力: 2

しかし、値/空白のない3行目を読み取ると、エラーが出力されます。


これまでのところ、これは私が行ったコードです:

  For Each c In xlsWorkSheet.Range("B1:B300").Cells
                If IsNothing(c.value) Then
                    x = x + 1
                ElseIf Not IsNothing(c.Value) Then
                    x = x + 1
                    If c.value.ToString.ToUpper <> "START" And c.value.ToString.ToUpper <> "END" Then
                    ElseIf c.value.ToString.ToUpper = "START" Then
                        start = x
                    ElseIf c.value.ToString.ToUpper = "END" Then
                        ends = x
                    End If
                End If
            Next

            MessageBox.Show(start)
            MessageBox.Show(ends)

            Dim objAdapter1 As New OleDbDataAdapter("SELECT * FROM [WORK SCHEDULE$B" & start & ":I" & ends & "]", objConn)

            Dim objDataset1 As New DataSet
            objAdapter1.Fill(objDataset1)

            DataGridView1.DataSource = objDataset1.Tables(0).DefaultView

そして、このコードは正常に実行されています:)

4

1 に答える 1