Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


41015 / 76736 ←次へ | 前へ→

【40807】Re:長文の表示・印字
回答  ハチ  - 06/7/24(月) 15:55 -

引用なし
パスワード
   ▼momo さん:
>ところで、Excelの改行コード(CHR(10))と、
>Wordの改行コードは、違うのでしょうか?

自分もWordはよくわかりません。
Wordでもマクロの記録はできますので試してみては?
改行の考え方自体が違いそうな気がします。

>「別Sheetに改行コードと文字数で区切って入れていく方法」というのが、
>まったく想像が沸かないので、お恥ずかしいのですが、
>具体的には、どんな感じなのでしょう?

新しいBookを作成し、Make_Test → Testと実行してみてください。
Testのほうは、もう少し簡単に書けそうなのですが・・

Option Explicit

Sub Make_Test()

Dim Str As String
Dim i As Integer

Str = "123456789"

With Worksheets(1).Range("A1")
  For i = 1 To 10
    .Value = .Value & Str
    .Value = .Value & "あああ" & Chr(10)
  Next i
End With

End Sub

Sub Test()

Dim Str As String
Dim i As Long
Dim Po1, Po2 As Integer '文字切り出し用
Const SptLen As Integer = 9 '文字列数

Str = Worksheets(1).Range("A1").Value

With Worksheets(2).Range("A1")
  Po1 = 1
  Do While Len(Str) >= Po1
    Po2 = InStr(1, Mid(Str, Po1, SptLen), Chr(10), vbTextCompare)
    'SptLenの文字数までに改行がない場合
    If Po2 = 0 Then
      .Offset(i).Value = Mid$(Str, Po1, SptLen)
      i = i + 1
      Po1 = Po1 + SptLen
    'SptLenまでに改行がある場合
    Else
      .Offset(i).Value = Mid$(Str, Po1, Po2)
      i = i + 1
      Po1 = Po1 + Po2
    End If
  Loop
End With

End Sub

0 hits

【40798】長文の表示・印字 momo 06/7/24(月) 13:35 質問
【40799】Re:長文の表示・印字 neptune 06/7/24(月) 13:43 発言
【40800】Re:長文の表示・印字 momo 06/7/24(月) 13:53 発言
【40817】Re:長文の表示・印字 neptune 06/7/24(月) 17:35 発言
【40803】Re:長文の表示・印字 ハチ 06/7/24(月) 14:13 発言
【40805】Re:長文の表示・印字 momo 06/7/24(月) 14:46 発言
【40806】Re:長文の表示・印字 momo 06/7/24(月) 15:27 発言
【40807】Re:長文の表示・印字 ハチ 06/7/24(月) 15:55 回答
【41081】Re:長文の表示・印字 momo 06/7/28(金) 17:34 お礼

41015 / 76736 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free