X



Excel VBA 質問スレ Part49©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ bb2e-8SzA)
垢版 |
2017/06/26(月) 02:15:14.60ID:T3ylemnb0
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512

スレ立ての際は一行目に
!extend:checked:vvvvv:1000:512
と入れてスレ立てして下さい

ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK

※前スレ
Excel VBA 質問スレ Part48
http://mevius.2ch.net/test/read.cgi/tech/1494890685/

※関連スレ
VBAなんでも質問スレ Part2
http://mevius.2ch.net/test/read.cgi/tech/1432173164/
Access VBA 質問スレ Part1
http://mevius.2ch.net/test/read.cgi/tech/1328536426/
Excel総合相談所 126
https://mevius.2ch.net/test/read.cgi/bsoft/1496487719/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
0435デフォルトの名無しさん (オッペケ Sr1b-QbI6)
垢版 |
2017/07/21(金) 20:10:04.71ID:xN3mSVPqr
>>433
使ったことある人が多い言語って底辺扱いされやすいよね。

おそらく、C や Java の比じゃないと思うよ。>VBA

でも、Java は使う人が多くなりつつあるから、底辺扱いされるのは時間の問題かもね。
0436デフォルトの名無しさん (ワッチョイ 473d-pqVL)
垢版 |
2017/07/21(金) 20:58:10.67ID:4zV211iR0
新興の言語って利用者全員が似たような習熟度だから意思疎通が図りやすいし、
どんなにクソみたいなコード書いても判断材料が無くて効率的なコードって言ってもらえるからな。
0443デフォルトの名無しさん (ワッチョイ bf23-E/h9)
垢版 |
2017/07/21(金) 22:16:02.62ID:gUUF92OH0
JavascriptにおけるjQuery的な
VBAのクラスってどっかにないのかな

Set class = New class
class.lastRowAdd(Range("a1"),array)
ってやったら最終行に配列の内容をぶっ込んでくれる
とか
よくある操作をパラメーター渡せばやってくれるような
0450デフォルトの名無しさん (ワッチョイ bf23-E/h9)
垢版 |
2017/07/22(土) 00:08:20.61ID:6zQAY8zL0
データベースな表で
第一引数のセルから下に見ていって一番下に
第二引数の配列をズドンと書き込む
という想定

たしかにそこまで引っ張るネタでもないです
0451デフォルトの名無しさん (ワッチョイ c78b-8ndb)
垢版 |
2017/07/22(土) 00:10:10.03ID:uAFmR2/H0
そんな事言わずにもう少しひっぱろうぜ
0453デフォルトの名無しさん (ワッチョイ df11-pqVL)
垢版 |
2017/07/22(土) 10:25:51.44ID:8D42j0aL0
>>452
そういう話ではない。

まあでもVBA用の色んな処理の検索はしてきたけど、アドイン化されてるものは全然見かけないなあ。
汎用的な機能を詰め込んだアドインってこれくらい?
http://software.opensquare.net/relaxtools/
>>443の求めるものとは違うんだろうけど。

結局は自作クラスってことになりそう。
0457デフォルトの名無しさん (スップ Sdff-dGk5)
垢版 |
2017/07/22(土) 12:11:05.98ID:I23HDuqEd
完成した関数テンプレにのこしておいてよ
vbaの良質なコードはすごく希少だしアドインってメンテナンス大変じゃないか?
用途としてはいろんな人に使わせる用だと思うんだけど誰かが使ってる最中に変更できないじゃん
やたらにバージョン上げると某ライブラリみたいな顛末になるし
0463デフォルトの名無しさん (オッペケ Sr1b-QbI6)
垢版 |
2017/07/22(土) 17:08:46.19ID:AfU+LLGPr
>>460
> vbaは一切進歩せんからなあ

エンジニアのための言語じゃないからね。

Dim だの Set だの If Then だの、
うんざりするのはしょうがないとしても、

objFSO

なんていう変数を見た日にゃ、
ぶっ殺したくなるね。
0468デフォルトの名無しさん (ワッチョイ df6f-QK4i)
垢版 |
2017/07/22(土) 21:16:12.56ID:yBUCBb6t0
初めてADOっての使ったけど、なんだこりゃ。

MSQueryと違って、列名が出ないじゃん。
いや、ヘッダのON・OFFで無理矢理出せるけど、
そうするとUnionした時に、レコードの途中に列名が出やがる。(列名扱いされないから?)
列名は、出力位置の上に、予め書いとかなきゃいけないの?
0472デフォルトの名無しさん (ワッチョイ a791-8s/R)
垢版 |
2017/07/22(土) 23:56:17.15ID:IXNocUxm0
>>468
列名も取れる
0475デフォルトの名無しさん (ワッチョイ e711-MZAo)
垢版 |
2017/07/23(日) 11:44:10.83ID:MDDS7K/i0
>>469
コレクションて値の出し入れできなかったりするじゃん?
値の追加、挿入、削除、入れ替え、ソートあたりメソッドにしたクラスだね
型は安全に出来ないけどなかなか便利
objectにも対応させたいけどやや面倒だから手を付けてない
0480デフォルトの名無しさん (アウアウエー Sa9f-MZAo)
垢版 |
2017/07/24(月) 08:13:01.75ID:2edahxxPa
>>479
継承できればコレクションからゴニョゴニョした方がいいんだろうけど
どうでも良いけど値の入れ替えのメソッド名をRepracementにしてるんだけどなんかしっくりこないんだよね
なんかいいのないかな
0483デフォルトの名無しさん (ワッチョイ bf23-E/h9)
垢版 |
2017/07/24(月) 09:00:24.88ID:vx6bYcmg0
配列の話題になってから調べて初めて知ったけど
ArrayListをVBAで使えるんだね
一通りメソッドもそろってるみたいだし、どうかな

実際に使ってみたわけではないけど
0495デフォルトの名無しさん (ワッチョイ 4791-2faK)
垢版 |
2017/07/25(火) 22:08:51.03ID:8cBHpzox0
>>493
.netのクラス使えないのかな?って以前ググったときに
http://officetanaka.net/excel/vba/tips/tips98.htm
が引っかかって
えらい簡単に使えるんだなぁと思ったんだけど
思っただけで使ったことないし
細かいことも知らない…
ていうか、本当にいろいろ便利に使えるなら
ググるだけでバンバン情報引っかかっていいと思うんだけど
ArrayListのことくらいしか出てこんかった
0496デフォルトの名無しさん (アウアウエー Sa9f-MZAo)
垢版 |
2017/07/25(火) 22:30:18.63ID:k4b2Lxa9a
>>490
ブックをそのままラップしたクラスとか作りたいときにパス指定するためのメソッドわざわざ実装するのとかクソめんどくさいじゃん
結構引数指定したい場面あるよ
逆になんで引数渡せないのかという
0499デフォルトの名無しさん (ワッチョイ dfaa-E/h9)
垢版 |
2017/07/25(火) 23:01:14.52ID:Vr2PvTdG0
それもそうだけどクラスを含むプロジェクトを参照しているモジュールからそのクラスのインスタンスを
直接Newで作れないのにも困ってる。
Create〜系の関数を書いて置き場所に迷う場合が特に。
0500デフォルトの名無しさん (ワッチョイ df6f-QK4i)
垢版 |
2017/07/25(火) 23:03:35.24ID:6CdgJbJQ0
仮にC#使いだったとしても、VBA覚えるわ。
VBAにある機能をどれくらいカバーしているのか。
99%以下ならイラネ。

ていうか、そもそもどういう仕様だろう。
C#で書いたのを、内部的にVBAに翻訳して標準モジュールに書き込むとかだったら笑う。
0508デフォルトの名無しさん (ワッチョイ df11-pqVL)
垢版 |
2017/07/26(水) 00:11:51.48ID:U77Cst6m0
質問です。
Excel2007ですけど、複数のオートシェイプをグループ化せずに同時にカットできますか?
オートシェイプを選択してSelection.Cutメソッドを実行すると、なぜかセルがテカテカするのです。
ShapaRangeオブジェクトにはCutメソッドが無いみたいですし。
とりあえずSendKeys "^x"で対処してるけどなんだかなあ、という状況です。
0511デフォルトの名無しさん (オッペケ Sr1b-QbI6)
垢版 |
2017/07/26(水) 00:21:08.24ID:o5MQIZHRr
Officeが入っていればどのPCでも動く、というVBAの最大の利点を犠牲にしてまでC#で書く意味はないね。
自己満以外の何ものでもない。
幸せになるのは自分だけ。
0516デフォルトの名無しさん (ドコグロ MMfb-efHF)
垢版 |
2017/07/26(水) 07:04:52.98ID:2BL9ZNyZM
>>495
> http://officetanaka.net/excel/vba/tips/tips98.htm
> が引っかかって
> えらい簡単に使えるんだなぁと思ったんだけど
これは知らなかったわ、教えてくれてありがとう

> ていうか、本当にいろいろ便利に使えるなら
> ググるだけでバンバン情報引っかかっていいと思うんだけど
> ArrayListのことくらいしか出てこんかった
ちょっとググったらCOM経由で動くみたいね(CreateObject で作成するんだから当たり前か)
http://qiita.com/mima_ita/items/efcd1a6ea86f09047984
0520デフォルトの名無しさん (オッペケ Sr1b-QbI6)
垢版 |
2017/07/26(水) 07:52:21.56ID:o5MQIZHRr
>>518
既存のVBAコードに、C#で書いたプロシージャを呼び出すコードを追加することはできないよね。

VBAで書いたWinのExcelマクロはMacのExcelでも使えるけど、C#で書いたらMacでは使えないよね。
0522デフォルトの名無しさん (ワッチョイ 4791-2faK)
垢版 |
2017/07/26(水) 07:58:49.22ID:PoLK+oD40
VBAはもう言語仕様をアップデートするつもりはないんだろうけど
せめてIDEくらいはもうちょっと便利にして欲しい

>>516
つまり相互運用の登録がされているライブラリは使えるってことか
でもいちいち自分でdll作ってまでは使わないかなぁ…
0525デフォルトの名無しさん (ワッチョイ 473d-pqVL)
垢版 |
2017/07/26(水) 09:40:24.60ID:19gyZHTT0
>>522
dllを作るってどういう状況で必要になるのかよく分からんよな。

別途用意する必要があるって事は他人に使わせるのに難があるし、
VSTO使えるならVSで他の言語使った方が早い場面が多いだろうし、
自作のdllが必要になるような処理をVBAに求める場面というのが想像出来ない。
0527デフォルトの名無しさん (アウアウエー Sa9f-MZAo)
垢版 |
2017/07/26(水) 10:40:27.92ID:nObVd20Fa
>>507
いや、vbaがクソ言語なのは避けようのない事実だろ
C♯erがわざわざ新しく覚える時間が無駄というのは分かるよ
オブジェクト指向にドップリしてたら使いにくいことこの上ないと思うし
0529デフォルトの名無しさん (ワッチョイ 473d-pqVL)
垢版 |
2017/07/26(水) 11:43:09.73ID:19gyZHTT0
VBAをクソクソ言っている人たちはどういう立場なんだろうな。
クソだと思うなら近づかなければいいのに。

なんか他の言語でもメインで使い始めた途端にクソクソ言いそう。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況