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