Sub psql() Dim cmd, oExec, ws, nrow, cols cmd = Range("C2").Value & _ " -h " & Range("C3").Value & _ " -p " & Range("C4").Value & _ " -d " & Range("C5").Value & _ " -U " & Range("C6").Value & _ " -c """ & Range("C7").Value & """ -A" Set oExec = CreateObject("Wscript.Shell").Exec(cmd) Set ws = Worksheets.Add nrow = 1 While Not oExec.StdOut.AtEndOfStream cols = Split(oExec.StdOut.ReadLine, "|") For i = LBound(cols) To UBound(cols) ws.Cells(nrow, i + 1).Value = cols(i) Next i nrow = nrow + 1 Wend Set oExec = Nothing End Sub