Micro$oft世代な僕らは、当然Excelでプログラムを書く機会が多かったりする。そんな時、
Excelワークシートの列を、まるごと配列としてVBAで処理したい
あるいは逆に、
VBAの配列を、丸ごとワークシートの列に出力したい
と思う事が少なくない。
そこで、VBAで相互変換する関数を作ってみた。列をdouble型の配列に格納する関数と、配列を列として返す関数。
Function Col2Arr(Col As Range) As Double()
Dim ret() As Double
Dim r As Long
Dim i As Long
r = Col.Rows.Count - 1
ReDim ret(r) As Double
For i = 0 To r
ret(i) = Col.Cells(i + 1, 1)
Next
Col2Arr = ret()
End Function
Function Arr2Col(Arr() As Double) As Variant
Dim ret() As Double
Dim i As Long
ReDim ret(UBound(Arr()), 0) As Double
For i = 0 To UBound(Arr())
ret(i, 0) = Arr(i)
Next
Arr2Col = ret
End Function
使うときはこんな感じ。
Function mul2(data As Range) As Variant
Dim ret() As Double
Dim i As Long
'ワークシート列を配列に変換
ret() = Col2Arr(data)
'全要素を2倍
For i = 0 To UBound(ret())
ret(i) = ret(i) * 2
Next
'配列をワークシート列に変換して返す
mul2 = Arr2Col(ret())
End Function
ワークシートでA1からA10に適当に数字を書いて、B1:B10範囲を選択して
=mul2(A1:A10)
と書いてCtrl+Shift+Enterを押すと、2倍になった列が作れる。ワークシート関数で間に合わない処理をするときや、セル1つずつで計算するとめっちゃ重くなるときに便利、だと思う。
↑のときはExcel使うなよ!とは言えない状況は多々ある。。
月別アーカイブ: 2007年5月
清澄庭園
コバルト爆弾αΩオフィシャルショップその1 木島呉服店
コバルト爆弾αΩのライブにお越し頂いた皆さんであれば一度は見たことある、あの黄色い学帽。ファンの方から、「どこに売ってるんですか?」「購入することはできますか?」と良くお問い合わせを受けます。そこで今回イェルサレムこと聖地愛知県豊橋市にあるコバルト爆弾αΩ的にオフィシャルなグッズを取り扱っているショップを紹介します。
これであなたもギリシャ文字!
ショップ「木島呉服店」
概観は、昭和の佇まいを残した風情のあるお店。ガラス越しのディスプレイは今は無きSHOP33を彷彿とさせます。コバルト爆弾αΩイメージカラーの黄色学帽の他にも各種ノベルティグッズを店長の気分しだいで購入することが可能です。3月4月の入学卒業シーズンに来ると品数、在庫も豊富です。少し入りづらい雰囲気を持っていますが、店長は初見の方にも優しく様々な商品を説明してくれますヨ!
現在のコバルト爆弾αΩ的にオフィシャルな取り扱い商品は、
・学帽[男・女][M L LL][ 約800円] 女の子用は若干値が張ります。
・ヘルメット[M L LL][ ****円]
・校章シール[数十円]
となっております。
ネット通販等行っておりませんが 、遠隔地から購入希望の方は電話をしてみてください。ですがイェルサレムの中心地に程近いオフィシャルショップで直接購入する方が聖地巡礼も出来るのでオススメですよ!
地図 : Google Map
Radio走馬灯Vol.1 ジャケット
タイトル通り走馬灯をモチーフに作りました。
走馬灯とは本来お盆に飾る回り灯籠のことを言うらしいのですが、ここではもちろん死の直前に見るというフラッシュバック現象のほうを指しています。
画像が思い出、空白が薄れる意識。渦状に連続することで個人の力ではどうにもならない強制的な進行を表しています。
一番手前の画像が桜なのは季節がら、ではなくて、人間爆弾→人間ロケット「桜花」という連想からです。靖国神社の境内にある博物館「遊就館」に桜花のレプリカが展示されていますので、興味のある方は行ってみてください。
はじめまして
「コバルト爆弾αΩ」のΩこと、Ωです。CDジャケットやチラシ、またサイトの原案といったデザインを主に担当しています。
blogではコバルト爆弾の視覚に関する制作物の話と、時々は関係のない趣味の話をしていきたいと思います。
どうぞよろしく。