dポイントプレゼントキャンペーン実施中!

タイトルの通りなのですが、

例えば、
A1~B10にランダムな数字が入っています。

(1)A1~B10を配列Cに格納します。
(2)配列C(1,10)を変数test1に格納します。
 ※その時に各配列を/で区切る
(3)配列C(2,20)を変数test2に格納します。
 ※その時に各配列を/で区切る
(4)test1をセルC1に記入
(5)test2をセルC1に記入

のような感じです。
配列に格納する方法はさすがに分かるのですが、区切り文字を入れて変数に格納する方法が分かりません。。。。
ご教授お願いいたします。

A 回答 (4件)

よく考えたら、一度配列に取り込んで結合、としてもいいですが、


直接変数に区切り文字で挟みながら結合する、でもいいですね。

Dim c As Range
Dim r As Range
Dim mystr As String
Set r = ActiveSheet.Range("A1:B5")
mystr = ""
For Each c In r
If mystr <> "" Then mystr = mystr & "/"
mystr = mystr & c.Value
Next c
MsgBox mystr
    • good
    • 0

どういう配列でも使うには、一つづつ一次元配列に格納する、


という方法があります。

Dim c As Range
Dim r As Range
Dim ary() As Variant
Dim arycnt As Long
Set r = ActiveSheet.Range("A1:B5")
arycnt = -1
For Each c In r
arycnt = arycnt + 1
ReDim Preserve ary(0 To arycnt)
ary(arycnt) = c.Value
Next c
MsgBox Join(ary, "/")
Erase ary
    • good
    • 0

>bbb = Range("C1:C3")


↓で試してみてください。
bbb = WorksheetFunction.Transpose(ActiveSheet.Range("C1:C3").Value)

ただし、セル範囲が一列複数行の場合でしか使えません。
1行複数列の場合はまた別になります。
    • good
    • 0
この回答へのお礼

ありがとうございます!
できました!!!

しかし、、、また分からない事が出てきてしまったので、別に質問致します。
よろしければ回答お願いいたします。

お礼日時:2009/02/22 17:07

こんなことですか?



変数=Join(配列,"/")
    • good
    • 0
この回答へのお礼

ありがとうございます。
多分とても初歩的な事なんですよね。。。

で、作ってみたのですが、
「プロシージャーの呼び出し、または引数が不正です。」
と出てしまいました。

理由を調べているのですが、分かりません。
多分、ものすごく初歩的なミスだと思うのですが見て頂けますでしょうか。
------
Sub Macro1()

Dim bbb As Variant
Dim aaa As String

bbb = Range("C1:C3")
aaa = Join(bbb, "/")

Range("D1").Value = aaa

End Sub
------

お礼日時:2009/02/22 15:11

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