Teks ke Lajur Menggunakan Petua VBA - Excel

Isi kandungan

Travis bertanya:

Saya cuba memformat beberapa teks menjadi lajur yang berasingan. Teksnya ada dalam satu lajur seperti berikut:

A
Nama Syarikat A
PO KOTAK 1
NEWARK NJ 07101
Nama Syarikat B
PO KOTAK 2
1400 SANS SOUCI PARKWAY
WILKES-BARRE PA 18703
Nama Syarikat C
PO KOTAK 3
CHICAGO IL 60694
Nama Syarikat D
PO KOTAK 4
CLEARFIELD UT 84015
Nama Syarikat E
PO KOTAK 5
OGDEN UT 84401
Nama Syarikat F
PO KOTAK 6
BALTIMORE MD 21264-4351

Semasa saya memformat ujian untuk cemerlang, saya membuat ruangan ini seperti yang digambarkan di atas. Saya ingin mengetahui formula yang boleh saya hasilkan agar data muncul dalam satu baris dan bukannya dalam beberapa baris untuk syarikat, formula harus dihasilkan jika memberi saya berikut dalam satu baris tetapi dalam lajur yang berbeza:

Semua ada pada ROW yang sama

A B C
Nama Syarikat A PO KOTAK 1 NEWARK NJ 07101

Saya telah menggunakan vlookups dan hlookups dan pivot table tetapi saya tidak dapat mengetahui cara mendapatkan tarikhnya jika cara berturut-turut.

Saya dapat membuat nama syarikat muncul secara berturut-turut dalam satu lajur dengan menyusun dan saya menyangka bahawa saya dapat menggunakan kombinasi vlookup dengan hlookup untuk memberikan hasil yang saya cari tetapi saya tidak tahu formula yang betul untuk bersarang dalam pencarian eter. Saya juga telah menguji beberapa fungsi DSUM tetapi tidak ada yang berfungsi untuk saya? Oleh itu, beritahu saya apa atau bagaimana menyelesaikan masalah saya.

Saya rasa ini dapat dicapai dengan mudah menggunakan makro. Cuba yang ini.

Sub CopyAcross() Dim i As Long Dim NRow As Long Dim LastRow As Long NRow = 2 'First Row TO COPY, change this if you want i = 2 'First Row where the data appears, I assumed it started in A2 LastRow = Range("A65536").End(xlUp).Row While i <= LastRow Range(Cells(i, 1), Cells(i, 1).End(xlDown)).Copy Cells(NRow, 2).PasteSpecial Transpose:=True 'In here, I'm copying to Column 2, Next availabe Row. You can change the 2 if you want. NRow = NRow + 1 i = Cells(i, 1).End(xlDown).End(xlDown).Row Wend End Sub

Artikel menarik...