2013-05-17 2 views
0

У меня есть диапазон с 918 ячейками (A1: A918). Каждая ячейка имеет одну строку. Мне нужен код vba, чтобы окружить каждую ячейку кавычками ("") и добавить запятую (,) в конце. Затем переместите список. Я не могу добавить эти символы в текущий список.Excel 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 

Но я не могу понять, как включить строки в каждую ячейку. Может ли кто-нибудь помочь?

ответ

1

Можете ли вы вставить в ячейку 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 

End Sub

+0

Это прекрасно работает! – bagofmilk

1

Это должно сделать трюк

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 
+0

Это выглядит многообещающим, но на линии: «Столбцы (« A: A »). Выберите« Я получаю сообщение об ошибке: 1004: Выберите метод класса диапазона с ошибкой – bagofmilk

+0

Интересно. Я изменил материал выше, чтобы он работал на тебя. –

Смежные вопросы