• ベストアンサー

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

リンクして引っ張ってきたデータを、 何文字目で改行するか,その都度決めることはできますか? リンクしてくるデータが、毎回同じ文字数目で改行したいわけではなくて、 今回は8文字目と16文字目で折り返したい… 今回は9文字目と20文字目で折り返したい…など。 ついでに!!! 折り返した文字列の頭に1文字空白を挿入したいのですが。 そんな贅沢でワガママなことはできますか? もしかして、申し上げている意味自体が不明でしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • 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
質問者

お礼

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

その他の回答 (3)

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.3

どもども田吾作7です。 急いで書きます。 改行するからには、何らかの理由があるから改行するんですよね? たとえばVlookUpでもってくるデータが文章で、「本日は晴天なり。だけど明日は雨。」というデータを持ってくるとします。 そのデータが表示では「本日は晴天なり。だ(改行)けど明日は雨。」とならないように、読点の次の位置から改行を行うという規則性を持たせたら、「本日は晴天なり。(改行)だけど明日は雨。」というようになります。 あっΣ( ̄ロ ̄lll) 待ち合わせの時間が・・・急がねば・・・ では出かけます。

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.2

どもども田吾作7です。 リンクしたデータは基本的に同じデータ値を持つために、改行を任意でというのはできません。 [A1]の内容が1999/7/14 [B1]に数式=A1だったとします。その[B1]の表示を1999年7月14日にするのは可能です。これは同じデータ値なのですが、表示形式を加工することで実現可能です。 しかし、行いたいことは改行ですよね?改行は"あ"とか"E"とかと同様に"(改行コード")という文字がデータに必要になります。 [A1]の内容"abcdefg"を[B1]の内容"abcd(改行コード)efg"と変更するわけですから、データ値が変わることになります。ですのでVLOOKUP関数だけではムリだと思います。 改行するのに規則性はありますか? それと今日は午後3時まで予定があるので、以後すぐの回答は出来ませんので、、、 _(._.)_ でわでわ

iillyy
質問者

お礼

ご親切にありがとうございます。 規則性とは…??? 説明もできなくて、誠に申し訳ありません。 もうお分かりのように、私はパソコンに関して、超初心者なのです。 それでも教えていただけますか?

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.1

どもども田吾作7です。 エクセルの話ですよね? たぶん[A1]のセルに"abcdefg"と入っていて、[B1]のセルには数式[=A1]みたいになっていて、[B1]のセル内容を、任意の位置で改行して表示したいという意味ですか? もうちょっと情報が・・・

iillyy
質問者

補足

エクセルです。 Aシートに情報が入っていて、BシートにVlookupでデータをリンクさせています。 A1セルに”abcdefg”からはアナタ様のご想像通りです。 もしかして、まだ意味不明でしょうか…。 本当にド素人なので、誠にお手数をおかけしますが、 再度お返事をいただけませんでしょうか。

関連する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

専門家に質問してみよう