Excelmacros根据行准备查询string

我有一个有以下logging的Excel工作表

id Empname状态

1 steve NJ

2纽约市

我必须编写一个macros来准备像下面这样的sql更新版本,并在同一个工作簿中插入新工作表。

UPDATE emp SET state='NJ' WHERE id=1 UPDATE emp SET state='NYC' WHERE id=2 

任何build议或想法请。

问候,

拉朱

使用下面的子,你应该全部设置

 Sub generateUpdate() Dim myRow As Integer: myRow = 2 'Starting Row of data in source table Dim temp As Integer: temp = 1 Do Until Sheet1.Cells(myRow, 1) = "" 'Loop until you find a blank 'Do Until myRow = 5 '5 is Row number till while you wish to loop Sheet2.Cells(temp, 1) = "UPDATE emp SET state='" & Sheet1.Cells(myRow, 3) & "' where id = " & Sheet1.Cells(myRow, 1) myRow = myRow + 1 temp = temp + 1 Loop End Sub 

你可以用公式来做到这一点。 没有必要写一个macros(如果我正确地阅读你的要求)。

如果您的数据在Sheet1!A2:C3 ,那么在Sheet2您可以使用以下公式在单元格A1启动:

 ="UPDATE emp SET state = '" & Sheet1!C2 & "' WHERE id = " & Sheet1!A2 

然后将公式向下扩展到重复模式。 之后,您可以简单地复制单元格并将查询粘贴到要使用它的任何位置。