Excel VBA转换与字符

我有一个范围与918细胞(A1:A918)。 每个单元格有一个string。 我需要vba代码用引号(“”)括住每个单元格,并在末尾添加一个逗号(,)。 然后转置列表。 我无法将这些字符添加到当前列表中。

例如

CURRENT LIST (Sheet1) Cell A1: Bob Cell A2: Jane Cell A3: Dan Cell A4: Phil Cell A5: Jimmy RESULT (Sheet2) Cell A1: "Bob", Cell B1: "Jane", Cell C1: "Dan", Cell D1: "Phil", Cell E1: "Jimmy", It will appear like this: "Bob", "Jane", "Dan", "Phil", "Jimmy" 

我知道使用以下来转置:

 Worksheets("Sheet1").Range("A1:A5").Copy Worksheets("Sheet2").Range("A1").PasteSpecial Transpose:=True 

但我不知道如何将string包含到每个单元格中。 谁能帮忙?

您可以粘贴到目标工作表上的单元格A1,然后使用文本到列方法? http://msdn.microsoft.com/en-us/library/office/ff193593.aspx

编辑:也许我不明白这个问题。 尝试类似

 Sub transpose() Dim rng As Range Dim ws As Worksheet Dim last As Range Set ws = ActiveSheet Set last = ws.Cells(Rows.Count, "A").End(xlUp) Set rng = ws.Range("A1", last) For Each cell In rng Dim hold As String hold = """" hold = hold + cell.Value hold = hold + """" + ", " cell.Value = hold Next cell rng.Copy ActiveWorkbook.Sheets(2).Range("A1").PasteSpecial transpose:=True 

结束小组

这应该做的伎俩

 Sub Macro1() Worksheets("Sheet1").Range("A1:A6").Copy Sheets("Sheet2").Select ActiveSheet.Paste 'Columns("A:A").Select Sheets("Sheet2").Range("A:A").Select Selection.NumberFormat = """''""@""''"""",""" Worksheets("Sheet2").Range("A1:A6").Copy Worksheets("Sheet2").Range("B1").PasteSpecial Transpose:=True End Sub