プロが教える店舗&オフィスのセキュリティ対策術

たとえばA1:A10に値があったら、3個ずつ値を1つの変数に代入したいのですがそのようなことは可能でしょうか?(改行は"%0D%0A"に置換します)

たとえば、A1:A10に

A
B
C
D
E
F
G
H
I
J
K

とあったら、

1ループ目: strString = "A%0D%0AB%0D%0AC"

のように代入したいのですが。

1つ1つのセルの値を追加代入していくしかないのでしょうか?

A 回答 (2件)

ワークシート関数Application.WorksheetFunction.concatenate()


を利用し、セルの中身・改行コードを連結してみてはいかがでしょうか?
    • good
    • 0
この回答へのお礼

ありがとうございます。

こんな使い方できるのですね。
ありがとうございます。

本当は3個ずつではないのですが、複数個並べられるのですね。工夫してみます。
ありがとうございます。

お礼日時:2006/04/29 23:47

Sub etst01()


d = Range("A65536").End(xlUp).Row
Dim x(100)
j = 1
For i = 1 To d Step 3
x(j) = Cells(i, "A") & vbCrLf & Cells(i + 1, "A") & vbCrLf & Cells(i + 2, "A")
MsgBox x(j)
j = j + 1
Next i
End Sub
でどうですか。
MsgBoxのところで処理をするか、EndSubの前で処理をしてください。
VbLF、vbCrがよければ変えてください。
しかし質問を離れて、質問者の当面する課題(質問では述べられてないが)の全体を考えて、質問のロジックの利用は、ベターなロジックでないような(推測!ですが)臭いがします。

この回答への補足

For i = 1 To 49
strStrings = strStrings & Cells(i, 1) & vbCrLf
Next i
strStrings = strStrings & Cells(50, 1)
Range("B1").Value = strStrings


ありがとうございました。
結局上記のようにすることで対応完了いたしました。
ありがとうございます。

p.s.
「改行」の変数なんてのがあったんですね。
知りませんでした。
ありがとうございます。

補足日時:2006/04/30 00:07
    • good
    • 0
この回答へのお礼

ありがとうございます。

いわいるカード形式に並んだデータをWebに投入衰退のですよ。

イメージとしてこんな感じです。

山田太郎
東京都xxx
03-xxxx
山本花子
大阪府xxxx
06-xxxx


Cellsと&で結んでいくやり方ですね。
本当は50項目あるのでちょっと考えてみます。
ありがとうございます。

お礼日時:2006/04/29 23:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!