
初めて質問します。
VBAを4月から始めました。
ネットでいろんな関数を見ましたが全然わかりません。
VBAの勉強と編集するセルが多いので一括でどうしてもやりたいので質問します。
sheet1(参照元のシート)
sheet2(印刷出力用のシート)
sheet1のあるセル内(結合なしの1セル内)にこのような文章があります。
目次
○○○○○○○○○○○○○○○○○○です。
目次
○○○○○○○○○○○○○○○○○○です。
目次
○○○○○○○○○○○○○○○○○○です。
・
・
・
sheet2は、印刷用でセルの幅が違うので下記のよう出力したいです。
試しにsplit関数でvbLfを目印に使って、変数.variantに代入、for nextで複数のセルに分割して出力することでこの形にすることができました。
目次
○○○○○○○○○○○○
○○○○○○です。
目次
○○○○○○○○○○○○
○○○○○○です。
目次
○○○○○○○○○○○○
○○○○○○です。
・
・
・
問題点としては、目印になる改行コードの挿入ができていないことです。
sheet1は、指定の文字数でvbLfを挿入、vbLfがあれば次の文字から指定の文字数をやり直す。
このような形にできればいいです。
目次vbLf
○○○○○○○○○○○○vbLf○○○○○○です。vbLf
目次vbLf
○○○○○○○○○○○○vbLf○○○○○○です。vbLf
目次vbLf
○○○○○○○○○○○○vbLf○○○○○○です。vbLf
・
・
・
1セル毎に手作業で改行をしていく以外に手はないでしょうか?
皆様のお知恵をお貸しください。
No.1ベストアンサー
- 回答日時:
こんなので、参考になりますか?
半年やっていれば、このくらいのコード、読めますよね?
Sub sample()
Dim A As Variant
Dim B As Variant
Dim i As Long
Dim j As Long
A = Range("A1").Value
For i = 1 To Len(A)
B = B & Mid(A, i, 1)
If Mid(A, i, 1) = vbLf Then
j = 0
Else
j = j + 1
End If
If j >= 12 Then
B = B & vbLf
j = 0
End If
Next i
Range("A2").Value = B
A = Split(B, vbLf)
Range("A3").Resize(UBound(A)) = WorksheetFunction.Transpose(A)
End Sub

No.3
- 回答日時:
こんにちは
直接の回答ではありませんが・・・
>sheet2は、印刷用でセルの幅が違うので下記のよう出力したいです。
要は、Sheet1では長く1行になっている文を、Sheet2ではセル幅におさめて改行(=折返し)表示にしたいということと解釈しました。
原稿データは全てSheet1にあるものと推測しますので、Sheet2の各セルには書式で「折り返して全体を表示する」を設定しておきます。
その上で、値を参照する際に、コピペで行っているのであれば「形式を選択して~」から「値」でペースト。
あるいは、(多分)Sheet1と対応するセルが決まっているのでしょうから、あらかじめ「=Sheet1!A1」のような参照式を設定しておけば良さそうに思います。
このような仕組みにしておくことで、VBAなどを利用せずとも、常にSheet1の内容がSheet2に反映されるようになりますので、そのままで印刷が可能になるものと想像します。
ただし、正確に10文字とか12文字で改行されるというわけにはいかないとは思いますが…
(エクセルの折返し制御依存なので)
また、Sheet1の文章が長すぎて、Sheet2のセルの表示範囲に収まり切らないケースが生じ得ますが、それに関してはVBAの場合でも同様と思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 改行ごとに行を追加し、数量を分割 4 2023/07/11 16:39
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Visual Basic(VBA) 配列の勉強をしています。使用する変数の意味、検索条件の書き方が難しいです。 2 2022/09/15 14:06
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- Excel(エクセル) エクセル2013「次のページ数に合わせて印刷」が小さすぎる 9 2023/03/28 10:18
- Excel(エクセル) 条件に合った数値の合計を表示させたい関数と条件指定の方法 3 2023/05/13 16:07
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) エクセルの書式設定の表示形式で設定した文字を文字列としてコピーしたい 1 2022/12/21 10:41
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- Excel(エクセル) Excelにて、行の最後のセルの値をコピーして別sheetに張りつけるVBAコードをご教授願います 3 2022/11/20 14:35
このQ&Aを見た人はこんなQ&Aも見ています
-
「それ、メッセージ花火でわざわざ伝えること?」
「それ、メッセージ花火でわざわざ伝えること?」というメッセージを教えて下さい
-
泣きながら食べたご飯の思い出
泣きながら食べたご飯の思い出を教えてください。
-
限定しりとり
文字数6文字以上の単語でしりとりしましょう
-
単二電池
あなたの家に何本ありますか?
-
この人頭いいなと思ったエピソード
一緒にいたときに「この人頭いいな」と思ったエピソードを教えてください
-
【VBA】特定の文字で改行(次の行)に行きたい。
Visual Basic(VBA)
-
エクセル セル内の文字数を超えたら自動的に折り返して表示
Excel(エクセル)
-
エクセルで決まった文字数で改行し,複数行の別のセルに移動させる方法
Excel(エクセル)
-
-
4
エクセルにて指定文字数以上の時、自動で改行する方法について御存知であれば御教示下さい。
その他(コンピューター・テクノロジー)
-
5
実行時エラー 438になった時の対処法を教えて下さい。
Visual Basic(VBA)
-
6
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
7
「選択範囲を解除してアクティブセルを選択」をマクロで行うにはどうすればよいでしょうか
Excel(エクセル)
-
8
【Excel VBA】 テキストファイルを、特定文字列で改行を入れてExcelに一行ずつ出力
Excel(エクセル)
-
9
Excel_VBAで改行コードの無いファイルを開きたい。
Excel(エクセル)
-
10
Excel VBA コンボボックスについて
Excel(エクセル)
-
11
EXCEL VBAで、セルの文字列の前後に文字を入力する方法は?
その他(Microsoft Office)
-
12
EXCEL VBA 文中の書式ごと複写するには
Visual Basic(VBA)
-
13
【Excel VBA】セル内に改行を挿入したい
Excel(エクセル)
-
14
エクセルのセル内の文字数によって改行する
Excel(エクセル)
-
15
ExcelVBAで既に開いてるwordを閉じる
Excel(エクセル)
-
16
特定の文字が入ってる行まで繰り返す
Excel(エクセル)
-
17
VBAのオートフィルターで該当行がない場合に処理を止めたい
Excel(エクセル)
-
18
エクセルで1個飛ばしで、一括でコピペする方法は有りますか?
Excel(エクセル)
-
19
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
20
VBAでファイルを開くときにファイル名でワイルドカードを使用したいです
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・昔のあなたへのアドバイス
- ・字面がカッコいい英単語
- ・許せない心理テスト
- ・歩いた自慢大会
- ・「I love you」 をかっこよく翻訳してみてください
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・はじめての旅行はどこに行きましたか?
- ・準・究極の選択
- ・この人頭いいなと思ったエピソード
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル: セルの枠を超えて表示
-
Excel countif関数で取り消し線...
-
セル内の一部の文字だけをハイ...
-
セルは大きくさせず、中の文字...
-
エクセルで1つのセルにスクロ...
-
エクセルで画像を透過させて画...
-
エクセルでセルを上下に結合し...
-
エクセル2013で英単語を折り返...
-
エクセルの白黒の反転で困って...
-
セルを結合しても、文字をセル...
-
Excelでcsvやtxtで保存する時に...
-
Excel入力で勝手にエンター押さ...
-
マウスポインターが白十字のまま
-
全セルの末尾に改行(Alt+Enter...
-
VBA:結合されたセルに対する「...
-
エクセルで縦書き時に右側に改...
-
CSVファイルでテキストの改行の...
-
Excel 2010でひとつのセル内に...
-
Excel Vbaを使って 結合セルを...
-
エクセルで右隣のセルより優先...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル: セルの枠を超えて表示
-
Excel countif関数で取り消し線...
-
セル内の一部の文字だけをハイ...
-
エクセルで1つのセルにスクロ...
-
セルは大きくさせず、中の文字...
-
エクセルでセルを上下に結合し...
-
エクセルファイルに _x000D_ と...
-
エクセルの白黒の反転で困って...
-
Excelでcsvやtxtで保存する時に...
-
マウスポインターが白十字のまま
-
エクセル2013で英単語を折り返...
-
エクセルの入力規則プルダウン...
-
Excel入力で勝手にエンター押さ...
-
CSVファイルでテキストの改行の...
-
セルを結合しても、文字をセル...
-
全セルの末尾に改行(Alt+Enter...
-
エクセルで文字を打つと下に、...
-
エクセルで画像を透過させて画...
-
エクセルで特定の列のセルだけ...
-
エクセル 折り返して全体を表...
おすすめ情報