返回列表 上一主題 發帖

[發問] 請問要如何將二列分別貼到吚二欄呢?

[發問] 請問要如何將二列分別貼到吚二欄呢?

各位大大: 如題
1.JPG
如何把a2欄的二列分別貼到b2欄和c2欄

回復 1# gctsai


    您的資料顯然在同一格內有用 "ALT+Enter"換行
方法一: 資料=> 資料剖析=> 分隔符號 => 選其他: 鍵入ALT+10
data.gif

方法二:用公式
以=find("[按住ALT+Enter換行]",a2)取得換行位元數
再以mid公式取得兩列資料
solution.rar (1.39 KB)
以A2為例:
在E2鍵入公式=FIND("
",A2)  
取得換行位元數為4 (E2的值)
B2鍵入公式=MID($A2,1,$E2-1)
C2鍵入公式=MID($A2,$E$2+1,LEN($A2)-$E2)

TOP

本帖最後由 Happkkevin 於 2011-8-7 19:21 編輯

此適用多資料運用,以 Split 加上 Chr(10) 切割文字
  1. Dim myArray() As String
  2.     Dim i As Integer, j As Integer
  3.     Dim KROWEND%
  4.    
  5.     KROWEND = Cells(Rows.Count, 1).End(xlUp).Row
  6.     For j = 1 To KROWEND
  7.         myArray = Split(Cells(j, 1), Chr(10))
  8.         For i = 0 To UBound(myArray)
  9.             Cells(j, 2 + i).Value = myArray(i)
  10.         Next i
  11.     Next j
複製代碼
100 字節以內
不支持自定義 Discuz! 代碼

TOP

回復 3# Happkkevin

大大:程式是可以用的,但是
       1.數字最前面的0不見了?
          2.如果是貼到sheet2的a2,b2呢?

TOP

回復 4# gctsai
  1. Sub RetsuBunKatsu1()
  2.     Dim myArray() As String
  3.     Dim i As Integer, j As Integer
  4.     Dim KROWEND%
  5.    
  6.     KROWEND = Cells(Rows.Count, 1).End(xlUp).Row
  7.     For j = 1 To KROWEND
  8.         myArray = Split(Cells(j, 1), Chr(10))
  9.         For i = 0 To UBound(myArray)
  10.            Sheets("sheet4").Cells(j, 1 + i).Value = myArray(i)
  11.         Next i
  12.     Next j
  13. End Sub


  14.    
複製代碼
Sheets("sheet4").Cells(j, 1 + i)
100 字節以內
不支持自定義 Discuz! 代碼

TOP

回復 5# Happkkevin

大大:可是數字前面的0還是不見了
  如:原先是008010114106
      貼到sheet2後變成 8010114106了

TOP

本帖最後由 Happkkevin 於 2011-8-8 22:15 編輯

回復 6# gctsai
若為固定 13 位,使用 NumberFormatLocal修正,還在學習中
所以有些呆板,希望有建議者告知
  1.     Dim myArray() As String
  2.     Dim i As Integer, j As Integer
  3.     Dim KROWEND%
  4.    
  5.     KROWEND = Cells(Rows.Count, 1).End(xlUp).Row
  6.     For j = 1 To KROWEND
  7.         myArray = Split(Cells(j, 1), Chr(10))
  8.         For i = 0 To UBound(myArray)
  9.             Sheets("sheet2").Cells(j, 1 + i).Value = myArray(i)
  10.             Sheets("sheet2").Cells(j, 1).NumberFormatLocal = "0000000000000"
  11.             Next i
  12.     Next j
  13.    
複製代碼
100 字節以內
不支持自定義 Discuz! 代碼

TOP

把目的儲存格設為文字格式就可避免前面0不見了。

TOP

回復 8# oobird

    大大,請問一下那有沒有辦法用vba呢?

TOP

Sheets("sheet2").[b:b].NumberFormatLocal = "@"

放在前面,不要在循環中

TOP

        靜思自在 : 對父母要知恩,感恩、報恩。
返回列表 上一主題