トップ > 資格を活かすには > やってみよう!Excel VBAで業務改善! > 持続可能なスキーム編: 第29話「データ登録処理を完成させよう!」3/4 :プロシージャの修正完了

やってみよう!Excel VBAで業務改善! 持続可能なスキーム編|第29話 「データ登録処理を完成させよう!」

プロシージャの修正完了

「うん、こんなものかな」

データ取得プロシージャの修正を終えた八木くんは、満足そうな顔でVBEの画面を眺めます。


Sub データ取得()
    Dim rs  As New ADODB.Recordset
    Dim sql As String
    Dim i   As Long
       
    If DB接続 Then
        sql = "SELECT * FROM 進捗TBL ORDER BY 番号"
        rs.Open sql, CN
        i = 2
        Rows("2:" & Rows.Count).ClearContents
        
        Do Until rs.EOF
      :
      :
        Loop
        
        Cells.Borders.LineStyle = xlLineStyleNone
        Cells(1, 1).CurrentRegion.Borders.LineStyle = xlContinuous
    End If
End Sub

※赤字の部分が、修正・追加したコードです。

「SQL文に'ORDER BY'を追加したぞ。
'ORDER BY'句は、レコードセットを指定したフィールドで並べ替える。
並び順を省略したときは昇順にソートされるから、これで番号順に取得するはずだ。
…あとは、'Cells.Borders.LineStyle = xlLineStyleNone'で、一旦シートの罫線をクリアする。
そして最後に、'Cells(1, 1).CurrentRegion.Borders.LineStyle = xlContinuous'で、
連続してデータが入力されているセル範囲に、罫線を引いてやる…っと。
これでいいはずだ」

一覧にもどる