Quantcast
Channel: OKWAVE 最新質問(Visual Basic/257)【本日】
Viewing all articles
Browse latest Browse all 6510

マクロの作り方について

$
0
0
お世話になっております。 エクセルで次のようなテーブルの自動生成マクロを作成したいと考えておりますが、なかなかうまくいきません。 皆さまのお知恵を拝借いたしたく、お願いいたします。 「Data」シート、「Table」シートの2つのシートをエクセルに用意します。 「Data」シートには、200行2列のデータが予め入っています。 1列目にはaaa.F、aaa.W、aaa.R、bbb.F、bbb.W、bbb.Rといった形の文字列が延々と入っています。 2列目には数字のデータが入っています。 行いたいのは、まず1列目のデータを「.」で区切って、2つの配列「st」と「pr」に入れなおすことです。 ただ、単にsplitするだけですと、1列目のデータを分けた際に、 st=(aaa、aaa、aaa、bbb、bbb、bbb) pr=(F、W、R、F、W、R) といった形で同じ値が格納されますが、ダブっている文字ははじく様にしたいのです。 このため、例えばstについて、次のようなマクロを考えたのですが、これだとstをdebug.Print等で出力した際、一番最後のデータだけしか格納されていませんでした。 Dim C As Variant C = Worksheets("DATA").Range("A1:B65000") Dim D As Variant Dim i As Integer Dim st As Variant For i = 1 To 10 D = Split(C(i, 1), ".") If st <> D(0) Then st = D(0) Debug.Print (st)  ↑ここでstを出力している分には、aaa、bbb、cccとダブった文字を省いたすべてのデータが出力されます。 Else End If Next Debug.Print (st)  ↑ここでstを出力すると、最後のデータだけしか出力することができません。  st(3)等、特定の要素を出力しようとしてもできないようです。 stをvariant型にしていることが問題なのかもしれませんが、stをstring型のarrayで定義し、各要素ごとに入力すると、st(0)=aaa、st(1)=aaaといった形で同じ値のものも入ってしまいます。 異なった文字列だけ各要素に入力していくにはどのようにマクロを組めばよいのでしょうか?

Viewing all articles
Browse latest Browse all 6510

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>