Excelmacrosselect单元格并插入string

我正在尝试在Excel中创build一个macros,让我突出显示一列单元格(单列)并将其插入到一个string中。

该string将被用于SQL语句中,但我很乐意这样做,它只是获得了我正在努力工作的重点部分。

我已经find了我select的单元格数量,最后select的数字等的例子。但是不只是一串选定的单元格值。

例如

A1 = value1
A2 = Value2
A3 = Value3

所以,当我突出显示A1:A3 ,然后按确定数组(如果这是最好的)将包含

“Value1 Value2 Value3”

任何帮助或build议,将不胜感激。 如果这已经被回答,我已经尝试过各种search,所以很抱歉。

对于单列,您可以非常快速,简单地使用

 StrIn = Join(Application.Transpose(Selection)) 

假设你的列是从第1行到第5行的列A:

 Sub funString() Dim stringVal As String stringVal = "" For i = 1 To 5 Set cellVal = Worksheets("Sheet1").Cells(i, 1) stringVal = cellVal & " " & stringVal Next i MsgBox (stringVal) Worksheets("Sheet1").Cells(5, 5) = stringVal 'prints onto cell (5,5) End Sub 

根据需要修改i,j和列

感谢您的评论。

我已经从这个和其他解决scheme采取片段,并提出了这似乎做的工作:

(创build一个用户表单 – 对不起,我的工作,因为它可能会做得更聪明!)


 Private Sub UserForm_Initialize() UserForm1.RefEdit1.Text = Selection.Address End Sub Private Sub CommandButton1_Click() Dim addr As String, rng, cell As Range, minimum As Double Dim stringVal As String Dim FullName As Variant stringVal = "" addr = RefEdit1.Value Set rng = Range(addr) minimum = WorksheetFunction.Min(rng) For Each cell In rng stringVal = cell.Value & " " & stringVal Next cell Dim txt As String Dim FullNameSpaces As Variant Dim FullNameHyphens As Variant txt = stringVal FullNameSpaces = Split(txt, " ") FullNameHyphens = Join(FullNameSpaces, "', '") FullNameHyphens = Left(FullNameHyphens, Len(FullNameHyphens) - 3) stringVal = "Select * From TABLE WHERE FIELD IN ('" & FullNameHyphens & ")" Unload Me MsgBox (stringVal) End Sub Private Sub CommandButton2_Click() Unload Me End Sub