Excel宏选择单元格并插入字符串

时间:2014-05-27 22:21:54

标签: excel excel-vba vba

我正在尝试在Excel中创建一个宏,让我突出显示一系列单元格(单列)并将其嵌入字符串中。

该字符串将在SQL语句中使用,但我很乐意这样做,它只是让我正在努力的高亮部分工作。

我找到了我选择了多少个单元格,选择了最后一个数字等的示例。但不仅仅是所选单元格值的字符串。

E.g。

  

A1 = value1
    A2 =值2     A3 = Value3

因此,当我突出显示A1:A3并按下确定数组(如果最好的话)将包含

  

“Value1 Value2 Value3”

任何帮助或建议将不胜感激。我已经尝试了各种搜索,如果已经回答了这个问题,请致歉。

3 个答案:

答案 0 :(得分:1)

对于单个列,您可以使用

非常快速地完成此操作
StrIn = Join(Application.Transpose(Selection))

答案 1 :(得分:0)

假设您的列是第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和列:)

答案 2 :(得分:0)

感谢您的评论。

我已经从这个和其他解决方案中获取了片段,并想出了这个似乎可以完成这项工作:

(创建用户表格 - 请原谅我的工作,因为它可能更聪明!)


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