返回列表 上一主題 發帖

文字串接語法簡化及延伸請益

文字串接語法簡化及延伸請益

以下是小弟拙劣的語法,想請問如何簡化...另外想請問大大的是若日後資料量不只到第四列,如何透過語法自動判讀資料量到第幾列,就迴圈到最後一列。是否是For...Next 語法呢?
謝謝大大們。


Sub 文字串接語法()

Worksheets("想要的txt檔").Range("a1") = Worksheets("原始excel檔案").Range("a1") & Worksheets("原始excel檔案").Range("b1") & Worksheets("原始excel檔案").Range("f1")

Worksheets("想要的txt檔").Range("a2") = Worksheets("原始excel檔案").Range("a2") & Worksheets("原始excel檔案").Range("b2") & Worksheets("原始excel檔案").Range("f2")

Worksheets("想要的txt檔").Range("a3") = Worksheets("原始excel檔案").Range("a3") & Worksheets("原始excel檔案").Range("b3") & Worksheets("原始excel檔案").Range("f3")

Worksheets("想要的txt檔").Range("a4") = Worksheets("原始excel檔案").Range("a4") & Worksheets("原始excel檔案").Range("b4") & Worksheets("原始excel檔案").Range("f4")


End Sub

文字串接.zip (6.07 KB)

回復 1# 學到老死
  1. Sub EX()
  2.     Dim xA As Worksheet, xB As Worksheet
  3.     Set xA = ThisWorkbook.Worksheets("原始EXCEL檔案")
  4.     Set xB = ThisWorkbook.Worksheets("想要的TXT檔案")
  5.     For i = 2 To xA.Cells(4 ^ 8, 1).End(xlUp).Row
  6.         xB.Cells(i, 1) = xA.Cells(i, 1) & xA.Cells(i, 2) & xA.Cells(i, 6)
  7.     Next i
  8. End Sub
複製代碼
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 1# 學到老死

下面有3個模式,給你參考,(如,你的問題不只下面這3種模式)
  1. Public Sub Ex()
  2.     Dim ro%, I%
  3.     With Worksheets("原始EXCEL檔案")
  4.         ro = .Cells(Rows.Count, 1).End(xlUp).Row '尋找最後一列的列號,請看VBE說明:Range.End 屬性
  5.         For I = 2 To ro '以列號做迴圈
  6.             Worksheets("想要的TXT檔案").Cells(I, "A") = .Cells(I, "A") & .Cells(I, "B") & .Cells(I, "F")
  7.         Next
  8.     End With
  9. End Sub

  10. Public Sub test()
  11.     Dim ro%, Rng As Range
  12.     With Worksheets("原始EXCEL檔案")
  13.         ro = .Cells(Rows.Count, 1).End(xlUp).Row '尋找最後一列的列號,請看VBE說明:Range.End 屬性
  14.         For Each Rng In .Range("A2:A" & ro) '以物件為迴圈
  15.             Worksheets("想要的TXT檔案").Cells(Rng.Row, "A") = Rng & Rng.Offset(, 1) & Rng.Offset(, 5)
  16.         Next
  17.     End With
  18. End Sub

  19. Public Sub test1()
  20.     Dim ro%, Rng As Range
  21.     With Worksheets("原始EXCEL檔案")
  22.         ro = 2
  23.         Do Until .Cells(ro, 1) = "" 'A當欄遇上空白就跳離迴圈
  24.             Worksheets("想要的TXT檔案").Cells(ro, "A") = .Cells(ro, "A") & .Cells(ro, "B") & .Cells(ro, "F")
  25.             ro = ro + 1
  26.         Loop
  27.     End With
  28. End Sub
複製代碼

TOP

感謝兩位大大 指導~

TOP

        靜思自在 : 多做多得。少做多失。
返回列表 上一主題