Hai pak Ubaidil Alif,

coba solusi VBA berikut, ditulis dalam sebuah modul:

Option Explicit

Public Sub ExtractOneLineCellToMultipleCells()
    Dim i As Integer, j As Integer, x As Integer, iData As Integer, iCol As
Integer
    Dim lRow As Long
    Dim rngData As Range, rngResult As Range
    Dim TempArray() As Variant, myArray As Variant
    Dim sTimer As Single

    Application.ScreenUpdating = False
    sTimer = Timer
    Set rngData = Sheets("data awal").Range("a2")
    ReDim TempArray(1)
    TempArray(1) = WorksheetFunction.Substitute(rngData, Chr(10), "#")
    iData = Len(TempArray(1))
    i = iData - Len(WorksheetFunction.Substitute(TempArray(1), "#", "")) + 1
    ReDim myArray(x = 1 To i, 1 To 2)
    x = 1
    For j = 1 To iData
        If Mid(TempArray(1), j, 1) = "#" Then
            myArray(x, 1) = x
            myArray(x, 2) = Left(TempArray(1), j - 1)
            TempArray(1) = Mid(TempArray(1), j + 1, 9 ^ 9)
            j = 1
            x = x + 1
            iData = Len(TempArray(1))
        End If
    Next j
    myArray(x, 1) = x
    myArray(x, 2) = TempArray(1)
    With Sheets("data olahan")
        Set rngResult = .Range(.Cells(1, 1), .Cells(x + 1, 2))
        rngResult = myArray
        .Range("a1").Value = "RecNo"
        .Range("b1").Value = "No"
        .Range("c1").Value = "Data 1"
        .Range("d1").Value = "Data 2"
        .Range("e1").Value = "Data 3"
        .Range("f1").Value = "Data 4"
        Application.DisplayAlerts = False
        Set rngData = .Range(.Cells(2, 2), .Cells(x + 1, 2))
        rngData.TextToColumns Destination:=.Range("B2"), _
            DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, _
            ConsecutiveDelimiter:=True, _
            Tab:=False, _
            Semicolon:=False, _
            Comma:=False, _
            Space:=True, _
            Other:=False, _
            FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1),
Array(4, 1), Array(5, 1)), _
            TrailingMinusNumbers:=True
        Application.DisplayAlerts = True
    End With
    Sheets("data olahan").Select
    Range("a1").CurrentRegion.Columns.AutoFit
    Application.ScreenUpdating = True
    MsgBox "Berhasil memisahkan " & x & " data dalam waktu " & Format(Timer
- sTimer, "0.000") & " detik", vbOKOnly, "Done"
End Sub

sekalian tanya ke para master, bagaimana cara melakukan looping untuk skrip
yang diwarnai dengan merah, karena untuk proses pemecahan data dari Text ke
Kolom saya menggunakan record macro.

file terlampir semoga bermanfaat,

Wassalam,

-Aji Mumpung-



Pada 8 April 2013 09.13, Ubaidil Alif <[email protected]> menulis:

> **
>
>
> Selamat pagi Para Master dan Be Exceller
>
> Mohon bantuannya ni. Saya mau memisahkan data yang ada seperti di contoh
> yang saya lampirkan. Bagaimana caranya ya?
>
> Terima kasih
> Ubaidil Alif
>

Attachment: CellToMultipleCellsWithVBA.xlsb
Description: Binary data

Kirim email ke