[英]VBA - iterating over range of data cells in excel
我正在嘗試為SQL數據庫編寫INSERT語句。 我正在使用VBA從Excel單元格收集數據
我已經將列名稱收集在字符串中。
這是我在本地窗口中收集數據和輸出的方法。
data_vals = Sheets("Main").Range("A2", "C3")
由於我正在編寫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.