簡體   English   中英

VBA-在Excel中迭代數據單元的范圍

[英]VBA - iterating over range of data cells in excel

我正在嘗試為SQL數據庫編寫INSERT語句。 我正在使用VBA從Excel單元格收集數據

我已經將列名稱收集在字符串中。

這是我在本地窗口中收集數據和輸出的方法。

 data_vals = Sheets("Main").Range("A2", "C3")

調試視圖中的data_vals

由於我正在編寫INSERT語句,因此需要遍歷每一行,一次一次。 最終插入語句應如下所示:

strSQL =“ INSERT INTO”&tbl_name&“(”&column_vals&“)VALUES”&value_string

value_string應該為=“(row1cell1,row1cell2,row1cell3),(row2cell1,row2cell2,row2cell3)”

我不需要知道如何創建整個字符串。 知道如何使double for循環遍歷各行,那么每一行中的單元格就足夠了。 我是VBA的新手。

你可以:

  • 遍歷范圍的Rows Range

  • 在每個行范圍上使用Value屬性來獲取其值的數組

  • 使用Join()函數來連接這些值

  • 使用&運算符,並添加一些您需要的字符

如下:

    Dim row As Range
    Dim value_string As String
    For Each row In Sheets("Main").Range("A2", "C3").Rows
        value_string = value_string & "(" & Join(Application.Transpose(Application.Transpose(row.Value)), ",") & "),"
    Next
    value_string = Left(value_string, Len(value_string) - 1) ' get the last "," off your string

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM