Re: [算表] 一個儲存格裡的不同行資料(VBA)
VBA 版看看對不對囉 ...
Option Explicit
Sub Macro1()
Dim i As Integer
Dim rCount As Integer
Dim flag, flag2 As Integer
Dim bufStr As String
Dim cellStr As String
flag = 1
Application.ScreenUpdating = False
With ThisWorkbook.Sheets(1)
'計算多少筆資料
rCount = .Cells(.Rows.Count, 1).End(xlUp).Row
For i = 1 To rCount
'MsgBox (.Cells(i, 1).Value)
cellStr = .Cells(i, 1).Value
flag2 = InStr(flag, cellStr, Chr(10))
While flag2 > 0
If IsNumeric(Mid(cellStr, flag2 + 1, 3)) And _
Mid(cellStr, flag2 + 4, 1) = " " And _
(IsNumeric(Mid(cellStr, flag2 + 5, 2)) Or _
Mid(cellStr, flag2 + 5, 2) = " ") And _
Mid(cellStr, flag2 + 7, 1) = " " And _
Mid(cellStr, flag2 + 8, 2) <> "|a" _
Then
bufStr = bufStr & Mid(cellStr, flag, flag2-flag+8) & "|a"
flag = flag2 + 8
Else
bufStr = bufStr & Mid(cellStr, flag, flag2 - flag + 1)
flag = flag2 + 1
End If
flag2 = InStr(flag, cellStr, Chr(10))
Wend
bufStr = bufStr & Mid(cellStr, flag)
.Cells(i, 1).Value = bufStr
Next i
End With
Sheets(1).Select
Cells(1, 1).Select
Application.ScreenUpdating = True
MsgBox ("成功")
End Sub
※ 引述《sleepwu (狼狽比失去難受)》之銘言:
: 軟體:Excel
: 版本:2007
: 手上有一些資料需要處理 是書的編目檔
: 但是遇到一個問題
: 要如何處理同一儲存格裡的不同行資訊
: 例如
: A1裡的資訊是:
: LEADER 00000cmm0 2200241 450
: 001 1453173
: 008
: 010 0 |b一套:精裝|d新臺幣6750元
: 090 (nbi)b57265045
: 100 20020807f2001 z y0chiy09 e
: 101 1 chi|ceng
: 102 tw
: 105 y z 000ay
: 200 1 哈利波特|h1|e神秘的魔法石|fJ. K. 羅琳(J. K. Rowling)著
: |g彭倩文譯
: 204 0 [點字書]
: 210 [臺北縣淡水鎮]|c淡江大學盲生資源中心|d[民90]
: 215 0 5冊(活頁)|d29公分
: 517 1 神秘的魔法石|zchi
: 681 873.57|b6014
: 700 1 羅琳|c(Rowling, J. K.)
: 702 1 彭|b倩文
: 770 1 Rowling|bJ. K
: 801 0 tw|b高雄市立圖書館|c20020807|gCCR
: 805 KML|cKML1049531kml|lv.1:1|d873.57|e6014|pBB|tCCL|v增訂七版
: |w10|x10|z681
: 這是同一格裡的資料
: 我想要讓Excel判斷每一行的第8字元沒有出現"|a"時就自動補上
: 像是讓
: 702 1 彭|b倩文
: 變成
: 702 1 |a彭|b倩文
: 由於前八個字元不論是數字還是空格皆是有規定的 也會因書不同而不同
: 所以無法用推文的大大所說的用取代的方式
: 如果一個儲存格只有一行的話我還會做
: 但現在一個儲存格裡有很多行,行數也不固定,也不要拆做很多儲存格
: 我試著讓他抓char(10)後的第9字元,但由於行數不固定,所以也不知道要抓幾次
: 請問還有甚麼方法嗎?
: 可以的話盡量別用VBA,因為我看不懂@@
: 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.131.84.78
推
05/04 18:34, , 1F
05/04 18:34, 1F
※ 編輯: windknife18 來自: 122.116.146.144 (05/04 19:49)
→
05/04 19:50, , 2F
05/04 19:50, 2F
※ 編輯: windknife18 來自: 122.116.146.144 (05/04 19:59)
※ 編輯: windknife18 來自: 140.131.84.78 (05/14 15:28)
Office 近期熱門文章
PTT數位生活區 即時熱門文章
11
39