• ベストアンサー

リンクしてきたデータの文字列を折り返すには…???

nishi6の回答

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.4

質問では、規則性はなさそうだし、折り返し数も2個以上かもしれないということで、指定した文字数で折り返すユーザー定義関数を作りました。手順も書きましたのでチャレンジしてみて下さい。最初はみんな超初心者です。 折り返し箇所の指定は任意の個数可能です。長くなるので、9個目で改行、6個目で改行のように指定を昇順に指定しない場合は対応していません。 扱うのは全角文字の文章と想像しています。(半角でもOKですが)『ついでに』の先頭の空白は全角空白にしています。 使い方ですが、今、Bシートの該当セルは =VLOOKUP(・・・・・) となっていると思いますが、これを =Orikaeshi(VLOOKUP(・・・・・),8,16) や =Orikaeshi(VLOOKUP(・・・・・),9,20,26,32) のようにします。 また、該当セルの書式設定の配置は折り返して全体を表示するにチェックを入れておきます。うまくいけばいいえすが。 ツール→マクロ→Visual Basic Editor でVBE画面に移り、 挿入→標準モジュール で標準モジュールを挿入しそこに下記コードを貼り付けて下さい。 '指定文字数で折り返し。(先頭に全角空白を挿入) Public Function Orikaeshi(Bunsyo As String, ParamArray aryNagasa() As Variant) Dim L As Integer 'カウンタ Dim mojisuu As Integer '1行文字数 Dim wkBunsyo As String '処理用変数 Bunsyo = " " & Bunsyo For L = 0 To UBound(aryNagasa()) If L = 0 Then mojisuu = aryNagasa(L) Else mojisuu = aryNagasa(L) - aryNagasa(L - 1) End If wkBunsyo = wkBunsyo & Left(Bunsyo, mojisuu) & vbLf Bunsyo = Mid(Bunsyo, mojisuu + 1) Next wkBunsyo = wkBunsyo & Bunsyo Orikaeshi = wkBunsyo End Function

iillyy
質問者

お礼

締め切ってしまってから気がつきました…。 改行ごとの頭に空白を入れたかったのでした。 説明不足で申し訳ありませんでした。 でも、他はすばらしくうまく行きました。 「改行ごとに頭に空白を入れるには?」として、新たに質問をしておきますので、 また機会がありましたらお世話してください。 ありがとうございました。

関連するQ&A

  • リンクさせた文字列を、任意の位置で,複数回数,折り返したい場合・・・

    CONCATENATE+VLOOKUPでリンクさせている文字列を、任意の位置で折り返したい場合・・・ 知恵を貸してください!!! 折り返したい文字数目が毎回変わる場合・・・、 改行したい回数が決まっていない場合・・・、 どのように設定しますか? CONCATENATEで連結する文字列ごとに改行を加える・・・ かつ、VLOOKUPでリンクさせる文字列のみ、途中で何度改行するかが決まっていない・・・ そんなイメージです。 LEN関数を使って作ってみたのですが、 何度改行するかが決まっていないためだと思うのですが、どうしてもうまく作れません。 助けてくださーい。

  • 文字画面の一部を文字データとして残したい

    インターネットの文字画面の一部を切り取って、文字データとして保存したいのですが、フリーソフトを2、3試した結果は、文字データとしては取り出せますが、改行や空白を無視して、ただ単に文字列をつなげていくだけで、元の体裁に戻すのに苦労します。 元のままの格好で、文字データとして残すソフトか方法があれば教えて下さい。

  • 文字列を見やすくする場合

    VB6.0を使っています。 与えた文字列を10文字ごとにスペースを、かつ50文字ごとに改行を入れて、視覚的にすっきりさせたいと考えています。 例えば63文字ある場合、 1234567890 1234567890 1234567890 1234567890 1234567890 1234567890 123 といった具合です。 このように決まった文字数の後に文字列を挿入する場合、どのようにしたらよいでしょうか?よろしくお願いいたします。

  • postgreSQLに複数行(改行された)文字列を追加するには

    postgreSQLに複数行(改行された)文字列を追加するにはそうしたらよいのでしょうか? PHPでHTMLからデータを受け取り挿入したいのですが 複数行の文字列を入れるとおかしなことに・・・(汗

  • 文字列に\nを入れたい

    データベースAccessからデータを取得しTextFieldにその取得したデータを表示させたのですが、文字数が長くてTextFieldに収まらなくなっしてしまいました。そこで取得した文字列に新たに\nを入れて改行させようとしています。 String str = "文字列40字以上…" if(str.length >= 40){ ***処理内容*** 文字列が40字以上なら40文字目のすぐ後ろに\nを足して改行させて表示させたい。 ただし、40文字目を区切りとして改行させ表示させる。例)96文字なら3行に表示させるようにする。 } このような処理を行いたいのですが、良い方法がわかりません。アドバイスをお願いします。

  • 文字列を分割

    PHP4で、60バイト以上ある文字列を、60バイト度に改行を挿入したいのですが方法がわかりません。。 何か良い方法をご存知の方がいらっしゃれば、 教えて頂けますか? 宜しくお願いします。

    • ベストアンサー
    • PHP
  • 文字列を一定文字数で挿入もしくは、改行。

    文字列を一定文字数で挿入もしくは、改行する方法、 関数はあるでしょうか? たとえば、 あめんぼ、赤いなあいうえお を8文字ずつで改行したいのですが、 方法が分かりません。 あめんぼ、赤いな あいうえお 最初は、mb_substrで改行する文字を調べて 改行タグを入れれば、とたかをくくっていた んですが、同じ文字を入力されていたら、変な 所で改行されてしまうと、気がつきました。^^; 「あ=><br>あ」にすると、一文字目の”あ”も 指定されてしまって。 改行するデータは、常に変わり予想はできません。 FORMからの入力を想定しているので、最悪 <textarea wrap="hard">で送信時に強制改行しても いいかなーとは、思っていますが、PHPで処理できるで しょうか?

    • ベストアンサー
    • PHP
  • ホームページビルダーで文字列にリンクを設定すると…

    ホームページビルダーV9で自分のHPを作成しているのですが、行き詰まってしまったのでこちらで質問させていただきます。 文字列にリンクを設定すると、(リンクはきちんと挿入されるのですが)必ず青字に下線がつくような文字になってしまいます。 デザイン上どうしても文字色や下線なしに変更したいのですが、文字を選択し直しメニューの「フォント」にて改めて設定しなおしても、文字は青字+下線のままになってしまいます。 リンク属性がついた文字列を任意の文字色に変更する方法をご存知の方がいらっしゃいましたら教えて下さい。お願い致します。

  • エクセルVBA 文字列複数行・列連続連結

    エクセルVBA 文字列複数行・列連続連結でお教え下さい A列に基本文字(縦順) B列~F列に複数行データー(文字・時間) 文字結合時に改行 例 A2&B2&改行&A3&C2&改行&A4&D2&改行・・・・・ 次のデーター行 A&B3&改行&A3&C3&改行&A4&D3&改行・・・・・ データーの最終行まで連続で このような複数行あるデーターの連続文字列連結をしたいのですが・・・ 文字列連結後は 1.指定セルに貼り付け 2.クリップボードに貼り付け 3.テキストファイルに保存 よろしくお願い致します

  • エクセルVBAでデータ中の文字列セルに色をつけたい

    下記のようなデータがあり、●、■文字のセルに色をつけたいです。●、■以外の何種類かの文字列にも各々の色をつけます。ここでは2種類にします。 データ中にはランダムに空白があります。空白には何も入れないで色つけをしたいです。 ABCDEFGHIJKLMN・・・ 1■●○○●○■○・・・ 2○ ○■○■○●・・・ 3■○   ●○ ・・・ 4●○ ■○ ○■・・・ 5○ ●○○ ●■・・・ ・・・・・・・・・・・・・・・・ ・・・・・・・・・・・・・・・・ I