问与答109:如何合并字符串并将其输入到另一个工作表中?
excelperfect
引言:本文的问题整理自vbaexpress.com论坛,很简单的问题,但对于初学者来说可以熟悉VBA中的一些基本代码操作。
Q:我有一个如下图1所示的工作表Sheet1。
图1
想要使用VBA代码将列A和列B中的值合并,输入到工作表Sheet2的单元格A1中,结果应该如下图2所示。
图2
A:使用的VBA代码如下:
Sub blah()
Dim WSInput As Worksheet
Dim WSOutput As Worksheet
Dim LastRow As Long
Dim i As Long
Dim temp As String
Set WSInput = ThisWorkbook.Worksheets('Sheet1')
Set WSOutput = ThisWorkbook.Worksheets('Sheet2')
LastRow =FindLastRow(WSInput, 'A')
With WSOutput
For i= 1 To LastRow
temp = temp & WSInput.Cells(i, 1) & ' - ' &WSInput.Cells(i, 2) & vbCrLf
Nexti
.Cells(1, 1) = Left(temp, Len(temp) - 1)
End With
Set WSInput = Nothing
Set WSOutput = Nothing
End Sub
Function FindLastRow(ByVal WS As Worksheet,ColumnLetter As String) As Long
FindLastRow = WS.Range(ColumnLetter & Rows.Count).End(xlUp).Row
End Function
其中,自定义函数FindLastRow用来查找指定工作表指定列的最后一行所在的行号,参数WS代表工作表,参数ColumnLetter代表列字母。
代码中,遍历工作表Sheet1列A和列B中的数据,并将两列相应的数据连接,然后将结果输入到工作表Sheet2的单元格A1中。
代码很简单,初学者可以对照操作理解。