Board logo

標題: [發問] 請問要如何將二列分別貼到吚二欄呢? [打印本頁]

作者: gctsai    時間: 2011-8-7 18:25     標題: 請問要如何將二列分別貼到吚二欄呢?

各位大大: 如題
[attach]7307[/attach]
要如何把a2欄的二列分別貼到b2欄和c2欄
作者: infoverdad    時間: 2011-8-7 19:18

回復 1# gctsai


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

方法二:用公式
以=find("[按住ALT+Enter換行]",a2)取得換行位元數
再以mid公式取得兩列資料
[attach]7309[/attach]
以A2為例:
在E2鍵入公式=FIND("
",A2)  
取得換行位元數為4 (E2的值)
B2鍵入公式=MID($A2,1,$E2-1)
C2鍵入公式=MID($A2,$E$2+1,LEN($A2)-$E2)
作者: Happkkevin    時間: 2011-8-7 19:18

本帖最後由 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
複製代碼

作者: gctsai    時間: 2011-8-8 21:22

回復 3# Happkkevin

大大:程式是可以用的,但是
       1.數字最前面的0不見了?
          2.如果是貼到sheet2的a2,b2呢?
作者: Happkkevin    時間: 2011-8-8 21:42

回復 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)
作者: gctsai    時間: 2011-8-8 22:11

回復 5# Happkkevin

大大:可是數字前面的0還是不見了
  如:原先是008010114106
      貼到sheet2後變成 8010114106了
作者: Happkkevin    時間: 2011-8-8 22:13

本帖最後由 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.    
複製代碼

作者: oobird    時間: 2011-8-8 22:13

把目的儲存格設為文字格式就可避免前面0不見了。
作者: gctsai    時間: 2011-8-8 22:26

回復 8# oobird

    大大,請問一下那有沒有辦法用vba呢?
作者: oobird    時間: 2011-8-8 22:41

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

放在前面,不要在循環中
作者: Happkkevin    時間: 2011-8-8 22:41

回復 9# gctsai
  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("sheet4").Cells(j, 1).NumberFormatLocal = "@"
  10.             Sheets("sheet4").Cells(j, 1 + i).Value = myArray(i)
  11.             Next i
  12.     Next j
複製代碼
試試看文字 與 數字 呈現較喜歡那種,NumberFormatLocal = "@" 先設定
作者: Happkkevin    時間: 2011-8-8 22:45

回復 10# oobird
沒錯,放進循環中似乎是多此一舉
相信資料多時將拖慢速度,
就是這點,常常讓我犯了拖慢的缺點
學習中,有學到,感恩
作者: gctsai    時間: 2011-8-9 22:36

謝謝大大的指導又學到了
作者: zeny    時間: 2011-8-13 16:10     標題: 我的筆記本電腦沒有數字鍵盤,怎麼操作ALT+10?

[attach]7408[/attach]
回復 2# infoverdad

我成功按infoverdad方法得到結果,可是我的筆記本電腦沒有數字鍵盤,怎麼操作ALT+10?附件是我外接一個鍵盤做到的。
作者: infoverdad    時間: 2011-8-13 18:52

本帖最後由 infoverdad 於 2011-8-13 19:02 編輯

回復 14# zeny


    筆電可以用 NumLk(numberLock)鍵
[attach]7411[/attach]
作者: zeny    時間: 2011-8-14 12:31

回復  zeny


    筆電可以用 NumLk(numberLock)鍵
infoverdad 發表於 2011-8-13 18:52



沒有   NumLk(numberLock)鍵,我的筆電是Thinkpad x100e,鍵盤上也沒有第2組數字標誌。算了,ALT功能我就用不了,知道就行了。謝謝大大。
作者: PD961A    時間: 2011-8-14 13:44

回復 16# zeny


    http://www.ehow.com/how_5865682_enable-numlock-button-laptop.html

1
Press the "Num Lock" key on the laptop at the top, right of the keyboard.

2
Press the "Num Lock" key and the "Fn" key simultaneously if the above does not work.

3
Press "Fn" and "F11" simultaneously on the keyboard to activate the "Num Lock" function. Some laptops, like Toshiba, do have a "Num Lock" key.
The shortcut for G3 Mac laptops it is "F5," and on G4 Mac laptops it is "F6."
作者: infoverdad    時間: 2011-8-14 16:37

本帖最後由 infoverdad 於 2011-8-14 16:38 編輯

回復 16# zeny


    Fn+C=> Enable or disable the numeric keypad. The indicator of numeric lock will be displayed on the screen.
    資料來源: p63 of ThinkPad X100e Hardware Maintenance Manual
    http://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles_pdf/63y0640.pdf
作者: zeny    時間: 2011-8-14 18:48

回復 17# PD961A


沒有num lock
Fn+F11 不work
謝謝大大,別費心了,我用外接鍵盤
作者: zeny    時間: 2011-8-14 18:49

回復 18# infoverdad


    Fn+C也不work, 哈哈,居然有我的電腦的pdf, 太好了,謝謝大大
作者: sweetkiala    時間: 2011-9-6 01:14

以 Split 加上 Chr(10) 切割文字




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)