我正在尝试在Excel中创建一个宏,让我突出显示一系列单元格(单列)并将其嵌入字符串中。
该字符串将在SQL语句中使用,但我很乐意这样做,它只是让我正在努力的高亮部分工作。
我找到了我选择了多少个单元格,选择了最后一个数字等的示例。但不仅仅是所选单元格值的字符串。
E.g。
A1 = value1
A2 =值2 A3 = Value3
因此,当我突出显示A1:A3
并按下确定数组(如果最好的话)将包含
“Value1 Value2 Value3”
任何帮助或建议将不胜感激。我已经尝试了各种搜索,如果已经回答了这个问题,请致歉。
答案 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