[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『複数セルの内容を1セルに表示』(デッドボ〜ル)
A B C D 1 ○ × ▲ □ 2 □ △ ● ×
となっているものを別のワークシートの1つのセルの中に入れる方法はありますか?(関数等で・・・)
A 1 ○ × ▲ □ 2 □ △ ● ×
今は&で表示させていますが、行が増えると式の組み換えが大変なので・・・。
よろしくお願いします。
WindowsXP,Excel2003
連続するセルの文字列を結合するユーザー定義関数。 http://miyahorinn.fc2web.com/tips/s_05_02.html Function JoinRng(Target As Range, 区切文字 As String) As String Dim MyAry() As String, i As Long ReDim MyAry(Target.Count - 1) For i = 1 To Target.Count MyAry(i - 1) = Target.Cells(i).Value Next i JoinRng = Join(MyAry(), 区切文字) End Function 結合する文字列に区切り文字を入れない場合は、セルに =joinrng(Sheet1!A2:D2,"") などと指定します。 (みやほりん)(-_∂)b
まずは、ご自身で試してみましょうね。 結果は直ぐわかりますよ! (1or8)
デッドボ〜ルさんへ ※文頭への半角スペース入力、ご協力お願い致します。 ※都度ご署名下さい。 (mitsu)
できました!ありがとうございます!助かりました! (でっどぼ〜る)
追加で質問をしたいのですが、教えていただいたマクロや関数を使って できたのですが、現在の使っている関数は、=joinrng(Sheet1!A2:D2," ")で 区切り文字としてスペースをいれております。ただ各セルに何も入っていないと 表示がちょっと変になってしまいます。これの対処方法は何かありますでしょうか?
A B C D 1 ▲ □ 2 □ × ↓↓↓ A 1 ▲ □ 2 □ ×
これを・・・
A 1 ▲ □ 2 □ ×
・・・のように、できないでしょうか? 何度もすみません。 (でっどぼ〜る)
試してください =myJoin(Sheet1!A1:D1)
Function myJoin(rng As Range) As String With WorksheetFunction myJoin = .Trim(Join(.Transpose(.Transpose(rng.Value)))) End With End Function
あっ、これじゃだめでした... =myJoin(Sheet1!A1:D1," ")
Function myJoin(rng As Range, delim As String) As String Dim r As Range For Each r In rng If r.Text <> "" Then myJoin = myJoin & delim & r.Text Next myJoin = Mid$(myJoin, Len(delim)+1) End Function (seiya)
試してくらはい。=joinx(範囲," ")と書けば半角スペースで=joinx(範囲)は 区切り文字なしになります。 (弥太郎) seiyaはん、rng as stringはエラーになりまへんか? '---------------- Function joinX(rng As Range, Optional j As String) Dim i As Integer, c As Range, x ReDim x(1 To rng.Count) For Each c In rng If c <> "" Then i = i + 1: x(i) = c.Value Next c joinX = Join(x, j) End Function
弥太郎さん、どうもです。 どうも私はString型が好みのようで... 修正しました。 (seiya)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.