返回列表 上一主題 發帖

請教一個抓取固定字數後,非派到不同行的vba。

請教一個抓取固定字數後,非派到不同行的vba。

各位大大好,附件檔案包含日文字串(包含平假與片假),我寫了一段VBA,要求將a1儲存格的日文字串,每35個字換到別的儲存格。但我發現帶出的字串非完整字串。請問是否有語法可以解決?
缺少下圖紅框內的字:


檔案下載:
日文 測試.rar (14.37 KB)

回復 1# tku0216
試出來了 , 參考看看
  1. Sub sep()
  2.     Dim i As Long, j As Long
  3.     Application.ScreenUpdating = False
  4.    
  5.     For i = 1 To Int(Len([A1]) / 35)
  6.         With Cells(i, "B")
  7.             .Value = Mid([A1], 35 * (i - 1) + 1, 35)
  8.             For j = 1 To 35
  9.                 .Characters(j, 1).PhoneticCharacters = [A1].Characters(35 * (i - 1) + j, 1).PhoneticCharacters
  10.             Next
  11.         End With
  12.     Next i
  13.    
  14.     Range("B1:B" & Int(Len([A1]) / 35)).Phonetics.Visible = True
  15.     Application.ScreenUpdating = True
  16. End Sub
複製代碼

TOP

補充一下
Range.Phonetics.Visible = True 是打開注音標示欄位

TOP

這位大大感謝您的回覆,可否請教您的程式碼第8~9行的迴圈是在執行哪一件事情?

TOP

回復 4# tku0216
A1字串中包含片假名和漢字 ,
漢字上方標註的平假名是放在注音標示欄位 , 他不屬於字串本身
又每一個漢字的平假名可能為多個字元 , 即注音標示字串
8,9行只是取出每個字的"注音標示字串", 再給到B中每個字的注音標示欄位

TOP

回復  tku0216
A1字串中包含片假名和漢字 ,
漢字上方標註的平假名是放在注音標示欄位 , 他不屬於字串本 ...
stillfish00 發表於 2012-12-9 19:31



感謝大大的回覆,提醒您不可以取整數,否則會無法抓到無法整除的最後一行。

TOP

回復 1# tku0216
只取日文嗎?

   
學海無涯_不恥下問

TOP

        靜思自在 : 有多少力量就做多少事,不要心存等待,等待才會落空。
返回列表 上一主題