X



Excel VBA 質問スレ Part71
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん (ワッチョイ 0f5f-nIK+)
垢版 |
2021/05/25(火) 12:48:01.06ID:mepUVc/i0
!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付けるナリ

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

※前スレ
Excel VBA 質問スレ Part70
https://mevius.5ch.net/test/read.cgi/tech/1616072923/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
0003デフォルトの名無しさん (アウウィフ FFc7-4Cki)
垢版 |
2021/05/25(火) 15:29:32.37ID:9esnpvbXF
>紙の表を目で追いながら画面を見ずにどんどん入力するとか普通にある

下手に補完機能とか発動するとうざいよな
0005デフォルトの名無しさん (スプッッ Sd5a-r2gF)
垢版 |
2021/05/26(水) 18:56:30.36ID:mkbiTVsAd
画像のような処理をするコードを書きたいのですが・・・
整理番号に対してアルファベットがランダムに振られており、それをまとめるというようなコードです。
ただし、まとめたい整理番号は行が飛び飛びになっており固定されております。
forやifなどを少しかじっただけのため、頑張ってみましたが全くできませんでした。
何卒宜しくお願いいたします。

https://i.imgur.com/w5P4FX4.jpg
0006デフォルトの名無しさん (ワッチョイ 9a8e-/g3G)
垢版 |
2021/05/26(水) 19:27:52.83ID:DrPaJmjh0
いつものあいつ
0009デフォルトの名無しさん (スプッッ Sd5a-r2gF)
垢版 |
2021/05/26(水) 20:57:38.79ID:mkbiTVsAd
>>5ですがウンコしてたら閃いてできました。でももしどなたか書いてくださってたら、参考のために見せていただけると嬉しいです。

>>8
整理番号に対してくっついているアルファベットを、重複削除して横向きに整頓したという感じです。
0011デフォルトの名無しさん (ワッチョイ 5b2c-5BAZ)
垢版 |
2021/05/26(水) 22:11:44.89ID:XGTO2klA0
入力データは違うけど、Ruby で作ってみた

require 'csv'

tmp_hash = { }
input_ary = CSV.read( "input.csv" ) # 2次元配列

input_ary.each do | row | # 1行ずつ処理する
if tmp_hash.has_key? row[ 0 ] # 既に、その数字が存在すれば
# 文字列が存在しない時だけ、その文字列を追加する
tmp_hash[ row[ 0 ] ][ row[ 1 ] ] = true unless
tmp_hash[ row[ 0 ] ].has_key? row[ 1 ]
else
tmp_hash[ row[ 0 ] ] = { row[ 1 ] => true }
end
end

result_ary = tmp_hash.map do |num, hash|
ary = hash.map { |str, b_true| str }
[ num, *ary ] # 配列展開
end

# p result_ary # 2次元配列
# [["1", "A"], ["2", "B", "C"], ["3", "X"]]

csv_str = result_ary.map( &:to_csv ).join # 2次元配列を、CSV 文字列に変換する
print csv_str

出力
1,A
2,B,C
3,X
0013デフォルトの名無しさん (ワンミングク MM8a-ZbgT)
垢版 |
2021/05/26(水) 22:55:47.72ID:Ca/oJ0kCM
いつものあいつ=ruby馬鹿
0014デフォルトの名無しさん (ブーイモ MM26-AlZ6)
垢版 |
2021/05/26(水) 23:30:39.65ID:CbYT3Zs7M
>>5
Dictioraryを使わずにデータを1列目〜2列目、出力先を4列目以降であると仮定する

配列 = Range(Cells(出力先の1番上の行,4),Cells(出力先の1番下の行,4))

For i = LBound(配列,1) to UBound(配列,1)
For j = データの一番上の行 to データの一番下の行
If Cells(j,1).Value = 配列(i,LBound(配列,2) Then
If 配列(i,UBound(配列,2) <>″″ Then
ReDim Preserve 配列(LBound(配列,1) to UBound(配列,1),LBound(配列,2) to UBound(配列,2)+1)
End If
For k = LBound(配列,2) to UBound(配列,2)
If 配列(i,k) = Cells(j,1),Value Then
Exit For
Else If 配列(i,k) = ″″ Then
配列(i,k) = Cells(j,1),Value
End If
Next
Next
Next

ってやって出力するとか?
思いつきで適当にやったから動かなかったらゴメンね
0017デフォルトの名無しさん (ラクッペペ MMb6-9F53)
垢版 |
2021/05/27(木) 08:26:53.22ID:f+HvaIKyM
>>5
ピボットテーブルでいいやん
0019デフォルトの名無しさん (スプッッ Sdf3-FygT)
垢版 |
2021/05/28(金) 11:25:16.55ID:EVw9ke/Wd
>>11
頭が悪いの?
大丈夫?
日常生活は遅れてる?
0021デフォルトの名無しさん (ワッチョイ 49cc-f5pr)
垢版 |
2021/05/28(金) 14:13:31.59ID:wSpOVLhu0
A列がKey、B列がItemが入っていたとして、一括でDictionaryに代入する方法はありますか

今はForで処理していますが、
For r = 1 To 10000
dic.Add Cells(r, 1), Cells(r, 2)
Next r

だと読み込みに時間がかかり、配列のほうが早いくらいです
0022デフォルトの名無しさん (ラクッペペ MM4b-hX9V)
垢版 |
2021/05/28(金) 15:04:21.04ID:TV0Jrg4dM
どう頑張っても配列のほうが速いよ
0023デフォルトの名無しさん (JP 0H75-B6Af)
垢版 |
2021/05/28(金) 16:57:29.10ID:VcGAYAhXH
配列を経由してDicに入れると多少は速くなると思う
確認はしてない

Sub Macro1()
  Dim Dic As Object
  Set Dic = CreateObject("Scripting.Dictionary")
  Dim aa()
  aa = Range("A1:B10000")
  For r = 1 To 10000
    Dic.Add aa(r, 1), aa(r, 2)
  Next
End Sub
0027デフォルトの名無しさん (ワッチョイ f101-2Cmt)
垢版 |
2021/05/29(土) 00:17:36.64ID:EOgZ8Zck0
>>24
それだと重複時に例外が出るメリットが生かせないのでは
配列でいいって言ってるから保証出来てるのかも知れないが

(最終的な目的次第では不要な可能性もあるけど)Dictionaryが必須だとしたら、
使用しない行を予めオートフィルターで弾いて読み込む行自体を減らすのがいいと思う
0029デフォルトの名無しさん (JP 0H75-B6Af)
垢版 |
2021/05/29(土) 12:21:19.40ID:tq3mFxPFH
>>27
非表示になってるセルもRange型一括だと配列に代入されてしまう
1つずつチェックしながらForで回すしかなくなるから、どっちが速いかなあ
0033デフォルトの名無しさん (ワッチョイ 934f-urWM)
垢版 |
2021/05/29(土) 22:40:30.37ID:hG567TCp0
>>32
あー、あるあるだね
その辺はSQLの書きっぷりで例えば
数値として判断させるならケツに*1くっつけるとか
文字列としてならケツにブランクくっつけてやることで何とかなるけど確かにあまり綺麗な形とは言い難いかもね。
0034デフォルトの名無しさん (ワッチョイ 93ad-vEq5)
垢版 |
2021/05/29(土) 22:58:50.78ID:WsLgMeGM0
VBAのユーザーフォームについて、
プロパティウィンドウ上でフォントサイズを変更しようとした場合、
Fontの右側に出てくる[...]ボタンを押して、フォントウィンドウ上でサイズを選択するのが普通ですが、
ボタンを押すとなるとマウス操作が必要になります。

フォントサイズを変更する時に使えるキーボードのショートカットってないですか?
0036デフォルトの名無しさん (ワッチョイ 93ad-vEq5)
垢版 |
2021/05/30(日) 00:06:02.75ID:mvwOdKaH0
Alt+↓では開きませんでした。

ForeColor等のように、右側に出るボタンが ▼ の項目については、
Alt+↓で選択候補がプルダウンで表示されました。
これは知らなかったので、一つ知識が増えました。ありがとうございます。
0037デフォルトの名無しさん (ワッチョイ 518e-jepm)
垢版 |
2021/05/30(日) 00:29:48.27ID:WJGvMidO0
>>36
ただの馬鹿だろ
0038デフォルトの名無しさん (ドコグロ MM6b-0vVr)
垢版 |
2021/05/30(日) 00:38:38.89ID:MeqMpkJCM
数が多いときはforで回してフォントサイズを変えた方が楽
0039デフォルトの名無しさん (スフッ Sdb3-B6Af)
垢版 |
2021/05/30(日) 00:54:31.57ID:G4EUHehCd
>>36
フォントが大量にインストールされてると、ダイアログが開くのに時間がかかる
ほかにも、PictureプロパティとかIconプロパティなんかの[...]ボタンもAlt+↓で押せるはずだから試してみて
それも開かないとなると、何かがおかしい
0040デフォルトの名無しさん (ワッチョイ f101-950J)
垢版 |
2021/05/30(日) 03:54:35.99ID:wQMimd0a0
ところがLinuxなら一瞬で開きます。
0042デフォルトの名無しさん (ワッチョイ f101-950J)
垢版 |
2021/05/30(日) 04:22:57.14ID:wQMimd0a0
なんのために?
ベンダーロックインされてM$の奴隷になりたいの?
0043デフォルトの名無しさん (ワッチョイ 934f-urWM)
垢版 |
2021/05/30(日) 08:12:15.17ID:dB+xSga20
>>42
やっぱりあわしろ教信者の荒らしか
こいつらとRuby信者はわざわざ自分の巣から出張して来て無関係のスレ荒らすから分かり易い

EXCELが動かなきゃEXCEL VBA動かすことが出来ないだろ?
お前が来ているこのスレの名前を100回読み返してみようか。そうすれば多少頭に血の巡りが悪くても少しは理解出来るだろ
0044デフォルトの名無しさん (ササクッテロラ Sp8d-+u6m)
垢版 |
2021/05/30(日) 10:36:06.08ID:Qv4D53KHp
前スレでボロクソに言われた質問(↓)が解決しないので
再度投稿失礼します。

https://i.imgur.com/gYaoIlX.jpg


在庫管理でクロス集計表を使ってるんだけど
配列で取り込んだデータをデータがあったセル位置に戻す時って
どう指定してあげればいいの?
【用途】
納期毎に設定される納品数を在庫から引いて
いつ欠品になるか知りたい

伝わるか分からないけど↓
使ってるフォーマット形式
縦列
部品名
在庫

納期
納品数
0045デフォルトの名無しさん (ラクッペペ MM4b-hX9V)
垢版 |
2021/05/30(日) 13:00:04.14ID:dinHe+wGM
Cells(1,2)=123
0046デフォルトの名無しさん (ワッチョイ 2b8e-jepm)
垢版 |
2021/05/30(日) 18:38:27.00ID:Jcut2Kf60
>>44
命綱なしで62階建てのビルの屋上からぶら下がり懸垂をすると閃くかもしれんぞ







保証はしないけど
0050デフォルトの名無しさん (ワッチョイ 4101-+u6m)
垢版 |
2021/05/31(月) 01:50:09.05ID:BNAesGOH0
>>49
そのセルの範囲の指定の仕方がいまいちピンと来ません...
0051デフォルトの名無しさん (ワントンキン MM2b-cTQT)
垢版 |
2021/05/31(月) 02:41:09.27ID:dSNiA0NIM
>>50
2000ボルトの電気ショックでわかるようになるかもよ
0054デフォルトの名無しさん (アウアウウー Sac5-cpin)
垢版 |
2021/05/31(月) 11:04:15.17ID:siYzGVpEa
>>34
遅まきながら横からながら
マジありがとう! これ知らなかった! 心底欲しかった!
0055デフォルトの名無しさん (アウアウウー Sac5-cpin)
垢版 |
2021/05/31(月) 11:07:53.40ID:siYzGVpEa
>>54
△>34
◎>35
連投すまんアンカ間違った
0056デフォルトの名無しさん (ササクッテロラ Sp8d-+u6m)
垢版 |
2021/05/31(月) 20:55:53.72ID:WHx69Kzap
>>52
>>53
ありがとう!
ちょっと試してみます!
0057デフォルトの名無しさん (テテンテンテン MM4b-Q+hs)
垢版 |
2021/06/01(火) 10:59:42.70ID:FQ8UQ8zIM
Workbook_Openで表の処理とその上書き保存(ActiveWorkbook.Save)を同時にこなしてるのですが、直後になぜか.savedがTrueになりません。
しかしその後もう一度手動でWorkboon_Openの中身を実行すると、今度はTrueになります。

上書き保存の可否を聞かれずにファイルを閉じたいのにいちいち聞かれて困っております。どうしたらよいのでしょうか?
0058デフォルトの名無しさん (ブーイモ MM75-OJVb)
垢版 |
2021/06/01(火) 11:40:20.38ID:5+ZhhpdnM
ひとまずOpenイベントの頭にStop書いてブレイクポイント作ったら開き直してイミディエイトウィンドウにDebug.Print Workbook.Savedって書いたら
F8押して、イミディエイトのDebug.Printの行末をクリックしてEnter、F8押して、イミディエイトのDebug.Printの行末をクリックしてEnter
ってやってみてもWorkbook.Saveの行でTrueになってないか見てみ?
0059デフォルトの名無しさん (テテンテンテン MM4b-Q+hs)
垢版 |
2021/06/01(火) 13:01:26.91ID:FQ8UQ8zIM
>>58
Savedの行以降、確かにFalseからTrueになってるし、
Workbook_OpenのEnd Sub直前にStop入れてDebugで確認してもTrueでした。
なのに、End SubをまたぐとFalseになります。
0060デフォルトの名無しさん (テテンテンテン MM4b-Q+hs)
垢版 |
2021/06/01(火) 13:02:39.34ID:FQ8UQ8zIM
>>59
× Savedの行
○ ActiveWorkbook.Saveの行
0065デフォルトの名無しさん (テテンテンテン MM4b-Q+hs)
垢版 |
2021/06/01(火) 17:18:36.32ID:Oa7oH/5MM
ThisWorkbookにしたり、わざわざSavedにTrueを代入してやっても、End sub をまたぐとやはりFalseになってる……
皆さん指摘の通りなんかブックの指定にミスがあるかもしれないので、もう少し色々試してみます
0074デフォルトの名無しさん (ブーイモ MM75-zLiZ)
垢版 |
2021/06/01(火) 20:57:47.91ID:e0ELXQMnM
VBAでChromeを動かす方法はありますか?
0077デフォルトの名無しさん (スプッッ Sd2d-ejzC)
垢版 |
2021/06/02(水) 10:29:31.20ID:6cAiGaxYd
A列は途中で未記入の行は無し。B列以降は行によって列範囲は不明。途中の抜けは無し。この条件で一番右まで記入されている列は何列目なのかを知る方法をご教示願います。
この列の右に別の列を追加したいのです。
0080デフォルトの名無しさん (JP 0H75-6ypv)
垢版 |
2021/06/02(水) 11:27:04.16ID:Xo9eImhQH
そういうのは末端の社員が勝手に自動化して楽しようとしてるケースに限られる
そうでなければシステム部とか管理部がちゃんと対応してくれるはずだし
0085デフォルトの名無しさん (ワッチョイ 518f-w12y)
垢版 |
2021/06/02(水) 12:23:59.65ID:IWT/q5/E0
>84
そうだとありがたいんだよね。
ただ記事で「2022年6月16日になっても、iexplore.exeは削除されないものの、アクセスしようとするとIE11は起動せずEdgeにリダイレクトされる」って書いてあったから不安なんだ
0086デフォルトの名無しさん (ラクッペペ MM4b-hX9V)
垢版 |
2021/06/02(水) 13:20:52.87ID:JznBaFAoM
createObjectで呼び出すんじゃないの?
0088デフォルトの名無しさん (ワッチョイ b95f-jY/U)
垢版 |
2021/06/02(水) 16:34:22.01ID:5rGltuVI0
ieが来年サポート終了するからchromeとseleniumで動かして見ようと思ったら
webdriverが若干古いのしか公開されてなくて詰んだ
頻繁に更新するchromeをどうやって制御すりゃいいんだよ…
0089デフォルトの名無しさん (オッペケ Sr8d-Q+hs)
垢版 |
2021/06/02(水) 23:09:59.70ID:qivQYfz/r
すみません、教えてください
配列の一部の最大値を取得する方法ってないでしょうか?
例えば二次元配列で
a(1,1)=1
a(2,1)=2
a(3,1)=3

a(100,1)=100
という配列があったとして、a(10,1)〜a(20,1)の間の最大値を出す方法です
for文で調べたい配列すべて調べて最大値を出す方法しか思い付かないのですが、他に方法はないでしょうか?
0093デフォルトの名無しさん (ワッチョイ 2b8e-jepm)
垢版 |
2021/06/03(木) 00:15:46.47ID:bA/gzbc70
>>89
死ね
0094デフォルトの名無しさん (ワッチョイ 512c-0h5H)
垢版 |
2021/06/03(木) 02:19:06.04ID:Ers5yK+g0
>>88
Ruby には、Webdriver を自動的にダウンロードする、モジュール・gem がある。
タスクランナーみたいなもの

ブラウザの起動前に、ブラウザのバージョンを調べて、
Webdriver のバージョンが、それと一致しない場合、

それと一致するWebdriver をダウンロードしてから、処理を開始する
0096デフォルトの名無しさん (ワッチョイ d97c-D/jZ)
垢版 |
2021/06/03(木) 10:13:44.82ID:oKNqyVQK0
臀痛は5ch繋がらないω
0098デフォルトの名無しさん (ブーイモ MMab-OJVb)
垢版 |
2021/06/03(木) 11:51:09.60ID:B6Wkxzx6M
申請なしに何かをインストールする事も出来ないし、申請しても通らないから業務の効率化ってなるとソフトウェア開発の部署に発注するかVBAで作る以外の選択肢がない
009994 (ワッチョイ 512c-0h5H)
垢版 |
2021/06/03(木) 12:27:51.20ID:Ers5yK+g0
自動更新するのは、個人のサイトとか

ちゃんとした企業の本番環境では、毎週1回テストしてから、モジュール・gemを更新する。
そもそも、ブラウザも自動更新しない

gemの更新を貯めないように。
基本は、毎週1回テストしてから更新する

これをやっていない会社は、運用しているとは言えない。
ほったらかし
0101デフォルトの名無しさん (ワッチョイ 934f-urWM)
垢版 |
2021/06/03(木) 12:47:20.61ID:jnApLDzu0
>>99
はー、都度テストするとはご苦労なこった
つまり大きなシステムになるとその分、
Rubyの場合は毎週テストに労力と人員割いて
金掛けて実施しないとダメってことか
かなり大きな会社じゃないとそこまで融通効かないだろうな
010394 (ワッチョイ 512c-0h5H)
垢版 |
2021/06/03(木) 13:36:20.37ID:Ers5yK+g0
毎週、モジュールを更新するのは基本。
更新を貯めたら、保守・修正できなくなるので、ダメ。
こまめに・ちょくちょく更新

例えば、サイボウズ・Kintone は、
Kubernetes で毎日システムを作り直しているとか、
Netflix は毎日、わざとシステムを攻撃して、落としてテストしたりする

ちゃんと運用していない会社は、更新をほったらかしにしてる
010494 (ワッチョイ 512c-0h5H)
垢版 |
2021/06/03(木) 13:46:13.92ID:Ers5yK+g0
毎週1回、OS の更新も大変だから、
サーバーレス・自分でOSを管理しない、AWS Fargate を使えと言われる。
AWSが、OSの更新をやってくれるから

だから、YouTube で有名な、雑食系エンジニア・KENTA の、
Ruby on Rails 初心者用コースに、AWS Fargate も入っている

それで皆、くろかわこうへいのサロンで、AWSを勉強する

Railsも今まで1人で、Heroku で作っていたのが、
Fargate, Terraform に変わってきてる

今の1年の未経験者は、10年以上のプロよりも、技術力が上になってる
0105デフォルトの名無しさん (ワッチョイ 934f-urWM)
垢版 |
2021/06/03(木) 14:22:18.35ID:jnApLDzu0
>>104
大変だな
確かに新しいことを学ぶのは大事だけど
10年やって来た人が1年やってる人に負けるって
その人の10年は何だったのって話になるわな
俺、Rubyやらなくて正解だったわ
010694 (ワッチョイ 512c-0h5H)
垢版 |
2021/06/03(木) 14:37:37.44ID:Ers5yK+g0
KENTA・くろかわこうへい、Udemy の人気講師・山浦清透などが現れて、
Ruby on Rails の教育革命が起こった

ものすごい短期間で、効率的に学べる。
それで、1年ぐらい勉強した未経験者が、10年以上のプロよりも、技術力が上になった

東大合格マンガ「ドラゴン桜」みたいなもの

今の未経験者は、Docker Compose も必須
0112デフォルトの名無しさん (JP 0H39-IO17)
垢版 |
2021/06/04(金) 01:48:20.45ID:JjzCcUaXH
朗報
やっぱりオブジェクトは残る

> MSHTML(Trident)エンジンに関しても、互換性維持のため
> すぐに削除されることはない。OS内部に「IE 11」由来の
> 機能は残る。「WebBrowser」コントロールを利用するアプリも
> 引き続き利用できる。

https://i.imgur.com/BWnVYki.png
0115デフォルトの名無しさん (ワッチョイ 6ddb-9b/0)
垢版 |
2021/06/04(金) 12:36:18.19ID:tGFTJ4F20
最初は、動いていたのですが、
そのうち、毎回6行目でエラーが出るようになってしまいました。

例えば
D5セルに入力した3桁の数字をした時に

D7に百の位、E7に十の位、F7に一の位を表示させたいのです。
入力した結果を見て、再入力することもあるので
関数⇒値貼り付けはやりたくないのです。

できれば、どなたかご教授をお願いします。

ファイルのシートは1枚のみです。
【1 OSの種類   】 Windows10
【2 Excelのバージョン】 office365


Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Long
If (Target.Row >= 5 And Target.Row <= 161) And (Target.Row Mod 4 = 1) And (Target.Column = 4) Then
r = Target.Row
Cells(r + 2, 4) = Cells(r, 4) \ 100
Cells(r + 2, 5) = Cells(r, 4) \ 10 Mod 10 ← 実行時エラー1004
Cells(r + 2, 6) = Cells(r, 4) Mod 10
End If
End Sub
0116デフォルトの名無しさん (ワッチョイ 6ddb-9b/0)
垢版 |
2021/06/04(金) 12:48:38.27ID:tGFTJ4F20
>>115
補足
最初、エラーが出たやつ
Cells(r + 2, 4) = Left(Cells(r, 4).Text, 1)
Cells(r + 2, 5) = Mid(Cells(r, 4).Text, 2, 1)
Cells(r + 2, 6) = Right(Cells(r, 4).Text, 1)


修正しても
Cells(r + 2, 4) = Cells(r, 4) \ 100
Cells(r + 2, 5) = Cells(r, 4) \ 10 Mod 10 ← 実行時エラー1004
Cells(r + 2, 6) = Cells(r, 4) Mod 10
0117デフォルトの名無しさん (エムゾネ FFea-DLda)
垢版 |
2021/06/04(金) 12:49:56.32ID:UUHTR6cxF
>>115-116
そのうちまた動くようになるさ
0119デフォルトの名無しさん (ワッチョイ 6ddb-9b/0)
垢版 |
2021/06/04(金) 13:06:45.09ID:tGFTJ4F20
>>118

ありがとうございます。
どうやらそれらしいです。
頑張ってみます。
0120デフォルトの名無しさん (スップ Sdea-PlKh)
垢版 |
2021/06/04(金) 16:43:12.67ID:0sw3CVWxd
>>115

Private Sub Worksheet_Change(ByVal Target As Range)
Dim n, n1, n2, n3 As Integer
If Target.AddressLocal = "$D$4" Then
If IsNumeric(Target.Value) Then
n = Target.Value
n1 = n \ 100
n2 = n \ 10 Mod 10
n3 = n Mod 10
Me.Range("D7").Value = n1
Me.Range("E7").Value = n2
Me.Range("F7").Value = n3
End If
End If
End Sub
もう見てないかもしれないけど、どうぞ。
0126デフォルトの名無しさん (ワッチョイ 4abd-lji7)
垢版 |
2021/06/05(土) 11:01:57.88ID:w++2yo+P0
VBAで、QueryTableを使ってUTF-8のCSVを読み込ませてるんですが、
この読み込みのマクロを使った後に、そのxlsmファイルを開いたままの状態で、何か別のCSVファイルを手動で開くと
中の2バイト文字がグチャグチャに文字化けされてしまいます
xlsmを閉じてからだと何の問題もないんですが、作業してるとちょっと不便なんですが原因は何なのでしょうか?
0128デフォルトの名無しさん (ワッチョイ 86da-IO17)
垢版 |
2021/06/05(土) 13:18:33.33ID:+aLYn71C0
>>126
後段の「何か別のCSVファイルを手動で」は、
・別のbook(.xlsx)からPowerQueryでのcsv読込み?
・それともcsvファイルをダブルクリックで直接開き?

PowerQueryでのcsv読込みなら
エンコードを一度自動認識で読み込んでも
後からステップの「ソース」の設定(歯車または詳細エディター)で
固定することも出来るけど・・・
0130デフォルトの名無しさん (ワッチョイ 4abd-lji7)
垢版 |
2021/06/05(土) 14:28:09.00ID:w++2yo+P0
>>128
済みません、VBAでQueryTableを使ってUTF-8のCSVをシートに読み込んだ後、適当なShift-JISのCSVファイルをダブルクリックして直に開くと
開いたCSVの中の2バイト文字が文字化けしています
Excelで開いてるウィンドウを全部閉じてから、CSVを開き直すと文字化けしていません
0134デフォルトの名無しさん (ワッチョイ ca4f-q291)
垢版 |
2021/06/05(土) 22:09:51.31ID:fW5GrJR10
例えばVBAの基礎と言えば
・モジュールの先頭にはOption Explisit書いて全ての型は明示的に記述すること。
・行、列を扱うときは使用範囲の最大値を考慮してIntegerでなくLong型で定義すること。
・モジュール、関数、変数の名称は一見して何を意味しているのか分かるようにつけること。
・モジュール、メソッド、関数には複数の役割を持たせて作らないこと。
・基本、ひとつの変数に複数の型のインスタンスを代入する場合、Object型を使わずにインターフェースを作成して代入すること。
・グローバル変数は使用せず、プロパティを使用すること。
・VBA上では四捨五入を求めるROUNDは銀行丸めなので必要に応じてWorksheetFunctionのROUNDを使うこと
小数点以下の計算を行う場合、DoubleやSingle型は浮動小数点数扱いでIEEE754準拠のため誤差が発生
することがあることを念頭においておくこと。

まだまだ沢山あるけど
人や会社の厳しさや緩さによって多少は変わるけど
こういった最初の内から押さえていないとマズいことだと思う。
0138デフォルトの名無しさん (ワッチョイ 355f-pu9w)
垢版 |
2021/06/05(土) 22:58:04.78ID:OxA9wcds0
WindowsAPIのmciSendString関数を使おうとサンプルコードを見ているのですが、
Callで呼び出さずにrc=と記述されたものばかり見受けられます。
rc=の意味を調べてもなかなか回答が見つからず…これって何なのでしょうか。
0140デフォルトの名無しさん (ワッチョイ 86da-IO17)
垢版 |
2021/06/05(土) 23:05:55.78ID:+aLYn71C0
1つのbookにシート数44、1シートに1クエリーがあり、
「すべて更新」ボタンでやると部分的にクエリー更新に失敗することが多いため、
一覧表作ってシート名とクエリー名を変数にして
For To Next で順番にクエリーを更新していくマクロを組んだ。
それまではちゃんと機能していたものの、シートの改造・追加・並び替えをしたら、

 実行時エラー '-2147319767 (80028029)':
 オートメーション エラーです。
 無効な前方参照か、コンパイルされていない種類への参照です。

と、エラーが出て途中で止まったでござる。
検索すると「メモリーの使いすぎ?」みたいな話はヒットするも、よくわからず。

プロジェクトエクスプローラー眺めてて、
「シートの順番入れ替えたりしたので、シート名の順番がぐちゃぐちゃになってるな・・・」
と、各シートのプロパティで、
sheet01 (○○○)、sheet02 (□□□)、sheet03 (△△△)・・・
と直してみたら、今度はエラーも出ず、1発で44クエリーが最後までマクロが実行されてもうた。

Dim tblQ As ListObject ' 対象となるクエリーの変数宣言
Dim ws As String ' sheet名の文字列変数宣言
Dim q As String ' クエリー名の文字列変数宣言
(中略)
 Set tblQ = ThisWorkbook.Worksheets(ws).ListObjects(q) ←ここで止まった
 tblQ.QueryTable.Refresh BackgroundQuery:=False

としてたのだけど、sheet名がマクロの実行順に並んでいないと、
VBAはwsやqの検索に失敗することがある (特にシート数が多い場合)
という理解でいいのかな?
0141デフォルトの名無しさん (ワッチョイ 2d8e-Wt59)
垢版 |
2021/06/05(土) 23:06:05.26ID:HEfJq5i50
>>138
その程度の馬鹿頭でWindows APIなんか使うなよ
0142デフォルトの名無しさん (ワッチョイ 355f-pu9w)
垢版 |
2021/06/05(土) 23:09:38.86ID:OxA9wcds0
>>139
ご回答ありがとうございます!
rcという変数に関数を格納する、というのがいまいち理解できません。
Callで関数を呼び出しても問題ないはずですよね?
0143デフォルトの名無しさん (ワッチョイ ca4f-q291)
垢版 |
2021/06/05(土) 23:22:29.75ID:fW5GrJR10
>>135
問題が起きにくくするようにのための決めごとだよ
もっとも、やってる仕事場のプログラマーが歩んできた経験則に大きく左右されたりもするから
そこは仕事場ごとのコーディング規約に基づいて組めばいいんじゃないかな。
それはプログラマーのお仕事としての基本になるかな。

>>136
面倒くさいよ。でも他の言語とは比較にならないくらい楽な方だよ。

>>137
またいつシートの行や列が増えないとも限らないじゃん。とある銀行系のところは行や列が増える以前からそんな想定をしてて最初からLong型を使うことがコーディング規約に記載されてたよ。
それにどうせInteger型はLong型を半分マスクしたものだからLong使って処理が遅くなったり容量余計食ったりすることないしね。
0145デフォルトの名無しさん (ワントンキン MM5a-Srd6)
垢版 |
2021/06/06(日) 00:10:56.51ID:AEt8vzaWM
いつものruby馬鹿の自演
0146デフォルトの名無しさん (ワッチョイ 355f-pu9w)
垢版 |
2021/06/06(日) 01:19:16.01ID:X88mu3QB0
>>144
ありがとうございます!
0155デフォルトの名無しさん (ワッチョイ 4abd-lji7)
垢版 |
2021/06/06(日) 15:13:22.89ID:WJZoQhbE0
その変数の問題だと思うんですが、subの中からFunctionをコールして、String型変数を引数で渡しても
Functionの中でその変数が空っぽになります。どうして文字列が渡せないんでしょうか
Function aaa(ByVal hoge As String) As Long を Call aaa(hoge) と書くとaaa内でhogeが空っぽです
Public hoge とかしてみても駄目でした
0160デフォルトの名無しさん (ワッチョイ 1abd-t/gr)
垢版 |
2021/06/06(日) 18:21:18.04ID:pNkKMnVc0
VBAだけではないと思うんだけど、コードって使い回すじゃん?切った貼ったの繰り返しで完成後汚えなぁと思うことない?
あと、コードを保管方法ってなんかないかな?使ったエクセル開いてコピーとかメモ帳とかいろいろやったけど不便でならない。
0161デフォルトの名無しさん (ワッチョイ 4abd-lji7)
垢版 |
2021/06/06(日) 18:26:33.85ID:WJZoQhbE0
FunctionとSubの違いもよく分かってなかったんですが、Functionの返り値を変数で受けようとした所
そもそも渡したい文字列がFunctionに渡せなくて困ってました
単に、自作の関数を呼び出す時に引数を渡してやればいいだろと思ってたんですが、それが出来ないので
VBAはその辺が厳密なんですかね……?
0162デフォルトの名無しさん (ブーイモ MM2e-E4sj)
垢版 |
2021/06/06(日) 18:32:25.23ID:efAmahNiM
例えばFunctionで返り値をString型が欲しい場合求める場合
Public Function aaa(ByVal hoge)As String
ってString型を指定してやってFunction内でaaa = 【返したい文字列】ってやる必要があるのは分かる?
0163デフォルトの名無しさん (ブーイモ MM2e-E4sj)
垢版 |
2021/06/06(日) 18:35:37.03ID:efAmahNiM
Functionを呼ぶ側は
bbb = aaa((hoge))
ってやるんよ
参照渡し(ByRef)の場合は変数をダイレクトに書いて良いけど、値渡し(ByVal)の場合は変数を括弧でくくってやらんと上手く渡せない場合がある。
0164デフォルトの名無しさん (ワッチョイ ca4f-q291)
垢版 |
2021/06/06(日) 19:11:37.69ID:s0YManYn0
>>160
コピーして切った貼ったして使うことを使い回しとは言わない
どっちにしろ使い回したい部分をモジュールや関数単位に纏めてそれを呼び出せ。
それが使い回しというものだ。
0166デフォルトの名無しさん (ブーイモ MM2e-E4sj)
垢版 |
2021/06/06(日) 19:56:36.98ID:efAmahNiM
>>165
参照渡しと値渡しを同時に行う際、値渡しの変数に括弧をつけておらず、尚且つ変数のみである場合、参照渡しとして認識されるが呼び先では値渡し指定なので不一致であるとエラーを吐いて停止する(但し変数に対して演算を行っていた場合は値渡しとして認識される)から値渡しする時は括弧つける癖をつけろ。その方が可読性もあがる。
って言えば満足か?
0168デフォルトの名無しさん (ワッチョイ ca4f-q291)
垢版 |
2021/06/06(日) 20:28:43.00ID:s0YManYn0
>>166
うん?
それ何か違う気がする
演算した後値渡しでエラーになると言うことは、そもそも渡す引数の呼び出す側の値が呼び出される関数の引数の型で許容されるものでは無かったってことじゃないの?

例えば呼ぶ側でVariant型を定義した変数に“1”という文字列を入れていて、それを受ける呼び出される側の引数が
Integer型に宣言されていた場合は型違いでエラーになるけど、呼び出し前にその変数に対して+1したものを代入すればその時点で暗黙の変化によりVariantの
内部型はIntegerになるから型が合ってエラーにはならない。という状況で、
括弧の話とはあまり関係ない気がするんだけど認識違う?
0170デフォルトの名無しさん (ワッチョイ 09fd-E4sj)
垢版 |
2021/06/06(日) 20:42:48.07ID:aS7dMAuf0
Public Sub aaa()

Dim aa As String, bb As String, cc As Long

bb = ″b″
cc = 2
aa = bbb(bb, cc)

End Sub

Public Function bbb(ByRef b As String, ByVal c As Long)As String

(中略)

End Sub

ってやるとFunction入る前にエラーで弾かれて
aa = bbb(bb, (cc))ってやったりaa = bbb(bb, cc + 1)ってやったりすると通るんだがおま環だった?
0172デフォルトの名無しさん (ワッチョイ 86da-IO17)
垢版 |
2021/06/06(日) 21:00:41.59ID:qWOh0TID0
>>148
やってみた。
やっぱエラーで止まった。

sheet番号がぐちゃぐちゃでもちゃんと動作するような、
クエリーを変数にした記述の仕方があるかもしれないけど、
少なくとも >>140 のやり方では、どうもオートメーションエラーになるみたい。
0173デフォルトの名無しさん (ワッチョイ ca4f-q291)
垢版 |
2021/06/06(日) 21:34:20.79ID:s0YManYn0
>>170
コピーして実行してみたけど
まず“b”のダブルクォーテーションが全角なのと、Functionを閉じているところがEnd Subになっている。
コンパイルした時点でエラーで弾かれたよ。

そこを修正したらエラーが出なくなった。
0175デフォルトの名無しさん (ワッチョイ ca4f-q291)
垢版 |
2021/06/06(日) 22:13:12.19ID:s0YManYn0
関数やメソッドに括弧が必要なのは確か
・Functionで戻り値を受ける場合
・Subで頭にCallを付けない場合
じゃなかったっけ?
後、括弧で括らないと順序関係なく
個別に引数を設定することが
出来るんじゃなかったっけか?

まぁ自分としては何であれ括弧を付けて
Subの場合は頭にCall付けて関数やメソッドが
呼ばれていることを明示する
必要があると思うけど。

あまり引数が多い関数は引数そのものを
抱えるエンティティクラスを作って
そのインスタンスを引数で渡してやれば
いい気がするしその方が可読性高いよね。
0182デフォルトの名無しさん (エムゾネ FFea-ywzN)
垢版 |
2021/06/07(月) 11:02:15.80ID:BLDePS2QF
>>160
VBAを使わない
pythonで外からexcelを操作する
pythonのコードはgithubで管理
0188デフォルトの名無しさん (ラクッペペ MMde-+uhU)
垢版 |
2021/06/07(月) 12:46:48.42ID:8ILcpsz2M
VBAって宣言せずに使ったらローカルになるんだっけ?
プロと違って適当にかくから強制ひっすだわ
こういうところに書くのは省略しまくるけどな
0191デフォルトの名無しさん (JP 0H39-IO17)
垢版 |
2021/06/08(火) 01:11:20.22ID:gtN4dmk3H
>>186
存在を知ってるのと正しい使い方を知ってるのは別
入力ミスが見つけやすくなるという大きなメリットがあるんだから、使わないのは無知と言われても仕方がない
0192デフォルトの名無しさん (ワッチョイ 4ada-wkOw)
垢版 |
2021/06/08(火) 02:25:46.24ID:1f6b7zm30
普通さ、最初に覚えるだろoption explicitは?
それらを参考書とかで勉強してこなかった人とかいるのかなと?
まあ、どう運用しようがその人の勝手だろうけどさ。
0197デフォルトの名無しさん (ワッチョイ ca4f-q291)
垢版 |
2021/06/08(火) 09:07:28.17ID:3w2dwJfs0
>>194
自動構文チェックONにしているんだ。
別にどっちがいいって訳じゃないけど俺はOFF派。
コード書いてる最中にどこかのコードコピーして持って来たいときカーソル当てると
エラーのメッセージボックスが上がって元の位置に戻されるのが鬱陶しいのと
他の開発で使ってるVisual Studioが元々そんな感じだからそっちに合わせてる。

ただそうするとエラー部分が赤くなるだけでどんなエラーかは表示しないから一長一短。
OFFはパッと見でどんなエラーか分かる人向けでそれ以外の人にはお勧め出来ない。
0204デフォルトの名無しさん (ワッチョイ ca4f-q291)
垢版 |
2021/06/08(火) 10:32:12.38ID:3w2dwJfs0
>>203
Option Explicitとは関係ない話?
だったら本題と内容がズレるな。

>違う違う、そうじゃなくて、初心者がコード書く時にエラー吐かれる度にその場で直した結果として変なところで宣言してるやつってこと

これは初心者というか.Net系やJavaとかやってる人に書かせてもそう書くときがある
関数内で定義したVBAのDimとかのスコープが関数単位で効くものでなくて
If とか For とかのブロック単位で効くものと勘違いしているらしい。
0206デフォルトの名無しさん (ワッチョイ ca4f-q291)
垢版 |
2021/06/08(火) 10:47:13.49ID:3w2dwJfs0
>>205
それは可読性の問題
あくまで俺だったらだけど同一スコープの先頭に書くな。後で変数定義して既に使われてる変数書いてエラーになって「あ」ってなるの嫌だし
一々コードから何の型で宣言しているのか探しにいくのも面倒くさい。
0207デフォルトの名無しさん (アウアウウー Sa11-Wnv+)
垢版 |
2021/06/08(火) 10:51:37.03ID:zTVPbGTxa
>>204
いやいやズレてないよ、>>195がそういう話をしてるんじゃないかって話だったでしょ
ありがとう勉強になる…そうか俺老害側か…
0208デフォルトの名無しさん (ワッチョイ ca4f-q291)
垢版 |
2021/06/08(火) 11:03:04.11ID:3w2dwJfs0
>>207
よく嫁
>俺も宣言は他言語同様やるがOptionは気にしないな
>下手するとそれがあるせいで変な場所で宣言してる例をよく見る

Optionがあるせいで変な場所に宣言してる例をよく見るって書いてあるだろ?
そっちの話はOptionの話と関係ある?

後、宣言する場所に関しては老害とかないから安心していいぞ。何故ならもっと新しい言語のVB.NetやC#でも効くスコープの先頭に書くのが一般的だから。
0209デフォルトの名無しさん (アウアウウー Sa11-Wnv+)
垢版 |
2021/06/08(火) 11:06:06.39ID:zTVPbGTxa
>>208 >>203
option付けたら変数宣言しないとエラー出すじゃないですか
0212デフォルトの名無しさん (テテンテンテン MMde-7vXX)
垢版 |
2021/06/08(火) 11:10:37.61ID:bCI8JHzDM
>>206
別にお前さんに強要するつもりはないから自分の好きな様に書いてくれ
ただIDEの使い方位は覚えておいた方がいいんじゃないかな
> 一々コードから何の型で宣言しているのか探しにいくのも面倒くさい。
0213デフォルトの名無しさん (アウアウウー Sa11-Wnv+)
垢版 |
2021/06/08(火) 11:15:14.30ID:zTVPbGTxa
>>210
俺とお前と>>195がしてても、それが基本でも、>>195が良く見るというコードを書く人たちが基本が身についているとは限らないじゃない
だから>>203でわざわざ初心者って言及したんですってば
0214デフォルトの名無しさん (ワッチョイ ca4f-q291)
垢版 |
2021/06/08(火) 11:16:08.53ID:3w2dwJfs0
>>212
Visual Studio辺りであればカーソル合わせると
定義した型が表示されるから分かるが
VBAの場合は一々「型の定義」でそこまで
飛ばないといけないし、何度か最寄りの型まで
調べると元の位置に戻ってくるのも
面倒だと思ってるんだけど認識違う?
違うんならそのIDEの使い方とやらを
提示して頂けると有り難いんだけどな
0216デフォルトの名無しさん (ワッチョイ ca4f-q291)
垢版 |
2021/06/08(火) 11:24:56.38ID:3w2dwJfs0
>>213
よく分からないな
初心者だから変数定義をしていないといいつつ
変数定義しているところがポッと出てくるという。
変数定義してたりしてなかったりというのであれば
もうそういう次元の話ではなくなってくる。
0218デフォルトの名無しさん (ワッチョイ ca4f-q291)
垢版 |
2021/06/08(火) 11:32:15.16ID:3w2dwJfs0
>>215
状況がよく分からないけど
「使う場所で宣言する」というのは
スコープ毎に纏めていないと言うことだろうか

少なくとも俺が今までやった言語では
そんな流行りは見たことないなぁ
というか見辛いもの
0220デフォルトの名無しさん (アウアウウー Sa11-Wnv+)
垢版 |
2021/06/08(火) 12:12:36.32ID:zTVPbGTxa
>>211
ごめん

>>216
してないとは言ってないよ。option付けたら必ずさせられるじゃん。してたりしてなかったりにはなり得ない
初心者だから変数定義を最初に必ずするクセがついていないんじゃないかって話です

vba不慣れな人が宣言してない変数を使おうとして、実行時にoptionどおりエラーを言い渡され、慌ててエラー箇所の直前に変数宣言をぶち込む。その結果コードの真ん中に変数宣言がポッと出てくるやつになるんじゃないかってこと
0221デフォルトの名無しさん (ワッチョイ ca4f-q291)
垢版 |
2021/06/08(火) 12:44:31.31ID:3w2dwJfs0
>>220
言いたいことはやっと伝わった

では話を戻そう。そのコードを見てどう思った?
変数宣言強制設定して変数宣言書き込まないとエラーが出るようにするのが悪いと思った?
そんな奴がポッとそんなところに変数宣言を書き込んだ奴が悪いと思った?

前者というのであればここで話はもう終わり。
恐らくこれ以上話してもお互い得られるものは何もないと思う。

後者と言うのであれば、変数宣言強制した際に少なくとも変数が宣言されていないことは発覚する。これだけで恩恵があることは理解出来るかな?
その辺にポッと書いてしまったことはそれ自体が問題であり、その人に促せばいいんじゃないかと思うけど?
0223デフォルトの名無しさん (ラクッペペ MMde-+uhU)
垢版 |
2021/06/08(火) 12:59:24.76ID:iJBocUpIM
くだらないタイプミスで時間を無駄にしたことはありませんか?
0225デフォルトの名無しさん (ワッチョイ ca4f-q291)
垢版 |
2021/06/08(火) 13:09:06.95ID:3w2dwJfs0
>>223
ない・・・と言いたいところだけどどうやっても0にはならんわなw

いつも思うのがOption ExplicitがあるんだからOption Strictも用意しといてくれればいいのにと。
変換に際して暗黙の変換をさせずにどれも明示的な変換を漏らさずさせられるようになれば
テストする際も安心して走らせられるのにって思う。
もっとも、人によっては面倒くさいと思う人が出るんだろうなぁ・・・
0226デフォルトの名無しさん (ラクッペペ MMde-+uhU)
垢版 |
2021/06/08(火) 13:09:33.83ID:iJBocUpIM
>>218
C#でvar使うなら型の確定する現地じゃないとだめじゃね?
0227デフォルトの名無しさん (アウアウウー Sa11-Wnv+)
垢版 |
2021/06/08(火) 13:14:50.72ID:zTVPbGTxa
>>221
確認だけど、俺はそのコード見てないし、見てない以上何とも思ってないぞ。俺は>195氏じゃない
>>201>>203は>195の言うコードを予想したものだということを踏まえて、それでも話を続ける?
0228デフォルトの名無しさん (ワッチョイ ca4f-q291)
垢版 |
2021/06/08(火) 13:17:48.89ID:3w2dwJfs0
>>226
そもそも型定義出来る言語であまりvarは使わない。まぁ厳密な書き方しない人は使うんだろうけど。
それにそれもスコープが効いてる頭でやる。
むしろC#のvarはVBAのVariantと違う。
別の内部型を使うことによって違う扱いをするようなことは出来ない。
最初に設定された値により使用する型が確定されるため、一度設定したらその型として定義される。
例外があるとすれば無名型とかレイトバインディングにより型が確定するもの。
0230デフォルトの名無しさん (ラクッペペ MMde-+uhU)
垢版 |
2021/06/08(火) 13:22:00.36ID:iJBocUpIM
>>228
だからC#では途中で宣言するvarが流行ってますよと
0231デフォルトの名無しさん (JP 0H39-IO17)
垢版 |
2021/06/08(火) 13:23:01.01ID:gtN4dmk3H
VBAの場合、変数は先頭で宣言するのが望ましいとされるけど強制ではない
そして、スコープ内ならどこに書いても効力は同じ

だから使用直前に書くコーディングルールでも動作に支障はない
別人が保守する可能性がある時に、ルールをどう伝えるかが問題になるだけ
コードの先頭にコメントで書いてもいい

参考、「通常、Dim ステートメントをプロシージャの最初に配置します。」
https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/dim-statement
0232デフォルトの名無しさん (JP 0H39-IO17)
垢版 |
2021/06/08(火) 13:26:59.27ID:gtN4dmk3H
いちいち先頭に戻って確認するのが面倒と言ってる人がいるけど、ウィンドウが分割できることを知らないのか
あるいはよっぽど狭いモニターでやってるのか
そもそも設計がきちんとできてれば、型も自然と決まってくるんだから確認する必要なんかないだろう
どっちにしろ自己責任で片付く問題でしかない
0233デフォルトの名無しさん (ワッチョイ ca4f-q291)
垢版 |
2021/06/08(火) 13:32:59.72ID:3w2dwJfs0
>>230
流行ってない。
C#やVB.Netの場合はそもそも変数の定義と一緒に値を設定出来るからスコープの頭で定義してvarの場合一緒に型を決める頭を設定する。
そしてスコープも関数単位ではなくIfやCase、For文等の細かいブロックに分かれるからそれが最小単位だ。
もしC#で他の誰かが組んだコードが確認出来るならしてみればいい。
0236デフォルトの名無しさん (アウアウウー Sa11-Wnv+)
垢版 |
2021/06/08(火) 13:38:33.25ID:zTVPbGTxa
>>229
おーけー、じゃあ戻るというか新しい会話だね。

別にどっちも悪くないんじゃない? 少なくともoption付けて悪いってことはないでしょ
可読性の問題については頭にまとめて書くのが当然だとは思ってたし、途中にあったら変だと感じるけど、悪いかは分からん。今日は勉強させて貰った
0237デフォルトの名無しさん (ワッチョイ ca4f-q291)
垢版 |
2021/06/08(火) 13:40:15.13ID:3w2dwJfs0
>>232
ウィンドウ分割なんて一つしか出来ない。
ソースを確認するのは有効かも知れないが、そんなんで一々散り散りになった変数の型確認などしていたら大変な手間だ。まだ定義の確認で飛ばした方がマシ

設計どうのと言っているが、そんなコードや型までこと細かく書くことはまずない。
それは設計書ではなくコードそのものをただ日本語の資料におとしたというだけ。コードを見ればいいのだから無駄な作業だ。
0238デフォルトの名無しさん (ワッチョイ ca4f-q291)
垢版 |
2021/06/08(火) 13:48:16.57ID:3w2dwJfs0
>>234
何か沢山の人とやり取りしてると話がごっちゃになって・・・すまんな。
俺は使うスコープの先頭に書く派だけど、そっちは何の先頭と言ってるのだろうか。
話はそれによりけりかな。
0239デフォルトの名無しさん (ワッチョイ ca4f-q291)
垢版 |
2021/06/08(火) 13:55:51.97ID:3w2dwJfs0
>>231
最初に言った
これは可読性の問題だと。
動作に支障がないからと言って関数単位のスコープであればそこだけ確認すれば良いものを
わざわざ大風呂敷広げてそのモジュール単位にする理由が分からない。
0243デフォルトの名無しさん (アウアウウー Sa11-Wnv+)
垢版 |
2021/06/08(火) 14:14:48.37ID:zTVPbGTxa
>>240
なんかほんと、ごめん。色々ありがとう
0246デフォルトの名無しさん (ワッチョイ ca4f-q291)
垢版 |
2021/06/08(火) 14:52:20.28ID:3w2dwJfs0
後、varで思い出したけど、これは余談になるんだけど、以前ExcelでPythonが使えるようになるかも知れないって話があって、結局のところ塩漬けになってしまったから残念ではあるけれど
つい五月の終わり辺りにExcel webが解放されたね。
使用言語はJavascript、Webのものだから今後HTML、CSS、クライアントやWebサーバー、IISや場合によってはJqueryやDBサーバーの知識が必要になる可能性がある。
いや、お客さんやエンドユーザーさんが「Webで確認したいなぁ」とか言い出しそうな人がいたら要注意だ。
まだどのような影響があるかは分からないけど、場合によってはおじいちゃんでその辺の理解がないと淘汰される可能性があるかも、とだけ言っておこう。

https://www.google.co.jp/amp/s/forest.watch.impress.co.jp/docs/news/1328/019/amp.index.html
0249デフォルトの名無しさん (ワッチョイ ca4f-q291)
垢版 |
2021/06/08(火) 16:59:48.28ID:3w2dwJfs0
>>248
まさにそんな感じだろうとは思ってる。
ただ、IEには対応していないと書いてあるので
Edgeでは動くだろうけどchromeだとどうか・・・
すまん、ウチに入れてるOfficeは365だけど企業用ではないから確認出来んのよ。
0250デフォルトの名無しさん (ワッチョイ ca4f-q291)
垢版 |
2021/06/08(火) 17:49:08.47ID:3w2dwJfs0
まぁVBAは今までの資産があるし、今こんな話をするのは早すぎかも知れないけど、この機能を使おうとした場合、大きなお金持ちの会社になると
「じゃーボタン押したらDBの内容表示させようかー」とか軽くお客さんが言い出す可能性もある。
SQLはそのまま使えるけど、ビジネスロジックの部分はどうしようか、とか
「じゃー他のシステムと統合しようかー」とかになったら、上手くそのシステム作成の話に乗れればいいけど、そうでなければお払い箱になる可能性もある。
WebのビジネスロジックにVBAは使えないから他の言語も勉強しなければならない。

これは他のWebの言語やってるところも他人事じゃなくて「じゃー画面はEDGEでEXCELで表示してねー、ダウンロードはいやよー、編集して反映させたいからー」
なんて言われた日にゃUIをこれにしなくてはいけない。

今すぐと言うわけではないし、そうならないことも考えられるけど、ひょっとするとこれからEXCELというものは今までのものと
そういう方向性のものを含めてEXCELと呼ばれることになるかも知れないということ。

まぁ今は聞き流して貰って大丈夫だよ。
ただ、そう言う話があるということだけ心の片隅に置いといて貰えれば。
0251デフォルトの名無しさん (ラクッペペ MMde-+uhU)
垢版 |
2021/06/08(火) 18:03:14.64ID:NOm8RE2hM
5分でかけるスクリプトに仕様書やらテストやら乗っけて
おいくら万円で売りつけるサービス業者のピンチですか?
0253デフォルトの名無しさん (ブーイモ MM2e-V3Ia)
垢版 |
2021/06/08(火) 18:14:42.27ID:Yg8CMFGOM
VBAやってる人は、不安なら他の本格的なプログラミング言語に手を出す前に今時のWebベースのノーコード開発を習得したほうがいいと思うよ
VBAできる程度の頭があるなら難しくはないだろうし、ヘタにスクラッチで作るより遥かにまともなものができる
0254デフォルトの名無しさん (ワッチョイ ca4f-q291)
垢版 |
2021/06/08(火) 18:20:22.16ID:3w2dwJfs0
恐らくこれに対応しろと言われて一番困るのはMicrosoftのOS使ってないところ。
lMicrosoftであれば.Net freamWorkでそのようなライブラリをすぐ揃えてくれるだろうけど
そうでなければオープンソースのものは誰かが作ってくれるのを待つか自分でライブラリを作るしかない。

そしてMicrosoftはそれが内部でどう作られているのか教えてくれる気は更々ない。誰かの解析待ち。
0255デフォルトの名無しさん (ワッチョイ 0ae6-+uhU)
垢版 |
2021/06/08(火) 18:23:16.36ID:/pGHNa0l0
DBはアズールレーンだろ
windowsはどうでもいいよ
0256デフォルトの名無しさん (ワッチョイ ca4f-q291)
垢版 |
2021/06/08(火) 18:34:39.97ID:3w2dwJfs0
>>255
アズールレーンがどんなDBか分からなかったから
wikiで調べたらゲームしか出てこないな
何だこれ
https://ja.m.wikipedia.org/wiki/アズールレーン

DBはOracleでもSQLSERVERでも構わないけど
問題はUI部分をどう使って行くかよ。
これを使うライブラリがないとキツいかも知れない。
まぁOSがWindowsでなければgoogle spreadsheetで代用すればいいんじゃないか?
要件を満たすことが出来ればだけど。
0262デフォルトの名無しさん (ワッチョイ 0ae6-+uhU)
垢版 |
2021/06/09(水) 00:46:27.31ID:nFlUbaHj0
>>261
ブラウザ版は出来損ないだ
食べられないよ
0263デフォルトの名無しさん (アウアウウー Sa11-PpBj)
垢版 |
2021/06/09(水) 07:59:16.59ID:N2Rw0+vQa
ieの操作なんだけど複数タブ開いてて、操作するタブ指定するにはどうすればいい?1つしかWindow開いてない状態だと問題ないものが、2つタブを開いたら、elementが見つかりませんてなる。
0264デフォルトの名無しさん (ワッチョイ 5de5-+uhU)
垢版 |
2021/06/09(水) 08:29:04.46ID:n2JobU4y0
>>263
なぜこのスレで聞くの?
タブは別のwindowだよ
0265デフォルトの名無しさん (ワッチョイ ca4f-q291)
垢版 |
2021/06/09(水) 08:30:46.71ID:ddohEedh0
>>263
んー、適当で申し訳ないけど
VBAではあんまりそういうことやらないんだけど、Javascriptで同じ名前の項目を拾おうとするとそれは項目のリストとか配列とかそんな感じのもので拾えるから
多分、その拾ったエレメントはそんな感じになってる気がする。(0)とか(1)とかつけてあげれば何か拾える気がするよ。違うかもしんないけど。
適当でごめんね。
0266デフォルトの名無しさん (ワッチョイ 152c-3tT5)
垢版 |
2021/06/09(水) 10:21:52.46ID:w6w52mg40
【Ruby】window_handles・・・複数のウインドウハンドルを取得する
https://www.seleniumqref.com/api/ruby/window_get/Ruby_window_handles.html

Ruby, Selenium Webdriver では、

配列のdriver.window_handles を使う

# 全てのウィンドウ(タブ)ハンドルを取得
allHandles = driver.window_handles

driver.switch_to.window( allHandles[0] ) # そのタブへ移る
driver.get( ここにURL ) # そのURLを開く
0267デフォルトの名無しさん (ワッチョイ 152c-3tT5)
垢版 |
2021/06/09(水) 10:22:07.34ID:w6w52mg40
【Ruby】window_handles・・・複数のウインドウハンドルを取得する
https://www.seleniumqref.com/api/ruby/window_get/Ruby_window_handles.html

Ruby, Selenium Webdriver では、

配列のdriver.window_handles を使う

# 全てのウィンドウ(タブ)ハンドルを取得
allHandles = driver.window_handles

driver.switch_to.window( allHandles[0] ) # そのタブへ移る
driver.get( ここにURL ) # そのURLを開く
0274デフォルトの名無しさん (スフッ Sdea-GN2t)
垢版 |
2021/06/09(水) 22:06:36.55ID:pEB4fflid
option explicit付けない選択肢もアリだと思うけどな。必要あれば宣言するだけだし
forとかで宣言するゴミ変数の宣言が軒並み排除されるのは割りと可読性良くなる
それに型の自動判断がそこそこ優秀な部類なのはVBAの特権
0278デフォルトの名無しさん (テテンテンテン MMde-mYyM)
垢版 |
2021/06/10(木) 17:40:32.42ID:O+Eef3D+M
>>65ですが、社内ネットワーク上の共有フォルダに入れているのが関係してそうです。
ファイルを開くたびに「編集を有効にする〜」が出るので、それがThisWorkbook.saveと相性悪いような気がします。
0279デフォルトの名無しさん (ワッチョイ 8610-bdC3)
垢版 |
2021/06/10(木) 18:55:35.54ID:hpxMOKds0
vba初心者すぎて躓いています。以下についてどなたか作成お願いできないでしょうか。

任意のフォルダを指定

その中でファイル名に特定の文字列(ex.請求書)を含むExcelのシート全てを一括保護(パスワードあり)

保存して閉じる

ネットで調べながら作っているのですが、上手く動かず諦めかけています。
よろしくお願いいたします。
0280デフォルトの名無しさん (ワッチョイ ca4f-q291)
垢版 |
2021/06/10(木) 19:09:40.41ID:nj0j+02p0
>>279
質問スレだから聞くのはいいけど丸投げで作ってくれと言うのはこのスレに限らずマナー違反。
大体「死ね」と言われるか「いくらで?」と高額吹っかけられることになる。

板自体の初心者だろうからいきなり言われて自殺されても困るし先に一応言っとくね。
0281デフォルトの名無しさん (ワッチョイ 158e-Wt59)
垢版 |
2021/06/10(木) 19:26:01.53ID:jvMqVwBQ0
>>279
死ね
0283デフォルトの名無しさん (ワッチョイ 2501-kwJE)
垢版 |
2021/06/10(木) 19:58:07.22ID:hPVjNtLg0
解説サイトを見ると、たまにグローバルのApplicationから呼び出すのはなく
New Applicationでインスタンス化して使用しているコードがあります。
これらの違いは何なのでしょうか。
0284デフォルトの名無しさん (ワッチョイ ca4f-q291)
垢版 |
2021/06/10(木) 20:25:42.93ID:nj0j+02p0
>>283
ふーん、出来るんだ。
試してないけどそのままの意味じゃないかな?
今のじゃなくて新しいEXCELのアプリケーションを開いてそっちを操作するってことだと思うけど。

試してみた?
0287デフォルトの名無しさん (ワッチョイ 5d33-VNmt)
垢版 |
2021/06/10(木) 21:22:22.51ID:o9cpCdec0
>>279
丁寧に教える。
初心者なら一気に作ろうとしない。

シートを保護するスクリプトをつくる。
フォルダ内のファイル名をログとかに出すスクリプトを作る
文字列から特定の文字列があったら、メッセージボックス出すスクリプトをつくる
保存するスクリプトを作る

ここまで作れば、どの様にがっちゃんこすればいいかわかるはず
0288デフォルトの名無しさん (ワッチョイ 152c-3tT5)
垢版 |
2021/06/10(木) 22:09:01.83ID:oO6awXFS0
Ruby では、wild card を使って、
例えば「*メモ*」で、「メモ」を含むファイル名

# . で始まる、隠し directory, file を除く
glob_pattern = "C:/Users/Owner/Documents/Ruby/*メモ*"

results = Dir.glob( glob_pattern )
.select { |full_path| File.file?( full_path ) } # ファイルのみ

puts results

出力
C:/Users/Owner/Documents/Ruby/Rails インストールメモ.txt
C:/Users/Owner/Documents/Ruby/コマンドのメモ.txt
0289デフォルトの名無しさん (ワンミングク MM5a-Srd6)
垢版 |
2021/06/10(木) 22:54:22.53ID:3kBij+1mM
いつもあいつ=ruby馬鹿
0290デフォルトの名無しさん (ワッチョイ 2501-kwJE)
垢版 |
2021/06/10(木) 23:32:18.35ID:hPVjNtLg0
>>284
試してみても普通に新しいエクセルが起動するだけですね
ただしウインドウはありません

ブックを作ってVisibleプロパティをTrueにしても表示されませんが、
一度FalseにしてからTrueにするとウインドウが表示されるというバグみたいな挙動があります

話を戻します
最近見たnew application使用例は、コントロールのイベントを無効化するのに
新しいApplicationインスタンスのEnableEventsをFalseにしていました
確かにそうしないとリッスンされるのですが何故何でしょうか
0291デフォルトの名無しさん (ラクッペペ MM7f-B2nj)
垢版 |
2021/06/11(金) 08:20:17.83ID:GsORq//4M
二ノ国では日本の法律は通用しないニダ
0293デフォルトの名無しさん (ワッチョイ ff4f-mPR2)
垢版 |
2021/06/11(金) 10:02:48.17ID:2HJAl0RV0
>>288
何かそれだとシート全てに保護を掛けるに至れてないな。
・Excelでどうやって使うのか
・細やかなセルやシートの操作はRubyからどうやって指定する?

この辺が満たせないと役に立たないからただのオナニーだね。
0299デフォルトの名無しさん (テテンテンテン MM7f-3Q9U)
垢版 |
2021/06/12(土) 09:59:25.51ID:ejCJQwg0M
パスワード付きのファイル(複数)を一つのファイルをまとめようとして
@まとめ.cells(i.3) = パス付き.cells(i.2)
Adicitionaryを使いまとめファイルに統合
両方のやり方を試して@は出来てAが出来なかったんだけど、
パスを無視してAのやり方でやる方法ってないかな
一応、AでUserInterfaceOnly は使ってみたけどエラーが出ちゃって出来なかった
0303デフォルトの名無しさん (JP 0H27-khlo)
垢版 |
2021/06/12(土) 16:57:46.63ID:AGhhEt85H
全員が完璧に暗記してたら偏差値や学歴で格差がつくはずないんだし、学校で習ったことの一部しか覚えてない方が普通ってこと
0304デフォルトの名無しさん (ワッチョイ 0340-7Qdt)
垢版 |
2021/06/12(土) 17:55:13.26ID:WuxRFpnv0
普通の公立だけど小中学校でPCの授業あったよ
学校内サイトとか社会科新聞とか書かされた

高校は大学進学だったから受験に意味のないPCなんて扱わなかったが、
大学はあらゆる申請からレポート提出まで全部PC(持ってない人は購入必須)だった
授業申請はスマホで出来なくはないだろうが、普通に使いづらい
0309デフォルトの名無しさん (スプッッ Sddf-khlo)
垢版 |
2021/06/12(土) 23:45:38.78ID:LKMGpvJ3d
数学が理解できる人と苦手な人では、生まれつき脳の構造が違ってることが判明してる
つまり才能やセンスがないやつは、どんなにがんばっても無理なんだよ
もうちょっと脳科学が進めば、無駄な勉強はやらずに得意分野を思い切り伸ばす方針に変わるかもしれない
0316デフォルトの名無しさん (ワッチョイ 032c-JlJp)
垢版 |
2021/06/13(日) 15:51:03.87ID:d/vYrCOI0
アインシュタインの脳には、
自分の研究分野用の房が出来て、そこが発達していた

暗記脳は肉料理の量で決まるから、肉を買えない貧乏人は不利

ドラゴン桜の英語教師・竹岡広信は、京大英語を役に立たないトリビアを問う問題と批判していた。
漢字で言えば、寿司屋の難しい魚偏の漢字を読めたら、合格するみたいな話w

日本の英語の教授などは、英語できない香具師ばかり。
赤本の英語で勉強するなって言ってる。無茶苦茶だから

逆に英検とかは、何百人のネイティブで監修してるから、筋が良い

>>302
Ruby, Selenium Webdriver とか、AWS Lambda とか
0317デフォルトの名無しさん (JP 0H27-khlo)
垢版 |
2021/06/13(日) 16:33:51.82ID:t6PeERLmH
>>315
素質があるかないか、ゼロかイチじゃなくて能力にも幅がある
高い才能がある人は短時間で結果を出せる
才能がなくても努力すればある程度のところまでは行けるけど、能率悪くて時間がもったいないよねって話
0318316 (ワッチョイ 032c-JlJp)
垢版 |
2021/06/13(日) 17:10:31.75ID:d/vYrCOI0
努力・経験で、脳の構造も変わる。
それどころか遺伝子も変わるので、努力・経験したことが子孫に遺伝する

例えば韓国人は、何千年も中国から攻め続けられた事で、
苦痛が焼き付いたような顔付きになった。

性格も火病で、すぐ発狂するようになった

いつ攻め込まれるか分からないので、
身を守るために、即座に発狂して闘うようになってる
0319デフォルトの名無しさん (ワッチョイ cf8e-t2t1)
垢版 |
2021/06/13(日) 17:17:16.99ID:dB4MpgMT0
ID:d/vYrCOI0

脳に異常がある人
0326デフォルトの名無しさん (ワッチョイ cf8e-t2t1)
垢版 |
2021/06/13(日) 21:09:54.40ID:dB4MpgMT0
VLOOKUPで汎用データベースだって
このスレらしい馬鹿だな
0328デフォルトの名無しさん (ワッチョイ cf8e-t2t1)
垢版 |
2021/06/13(日) 21:15:08.44ID:dB4MpgMT0
検索することだけできれば「汎用」データベースなのか?
恥の上塗り来たな
0334デフォルトの名無しさん (ワッチョイ 2301-GHq8)
垢版 |
2021/06/13(日) 22:16:06.00ID:pdhxOMMg0
いやでもここVBAスレなんだからもうちょっとVBA持ち上げてくれよ
控えめに言って神だろVBA
他のプログラムよりダンチで簡単らしいし大抵のパソコンに入ってるから
オンライン使用禁止、外部ソフト禁止のパソコンでも使えるし
0336デフォルトの名無しさん (ワッチョイ cf63-t88l)
垢版 |
2021/06/13(日) 22:21:37.67ID:YAOd2FY00
開発環境が貧弱すぎます

変数のスコープ狭いモード作ってください。コピペがしづらいです
Option Explicit つけてるときぐらい宣言してない変数書いた時点で警告してください
インテリセンスもひどいです。いくら実際の型がわかんないとはいえ、時代が経ってるんだからEdit時にもっと推論するとかできないんですか!?
0341デフォルトの名無しさん (ワッチョイ 835f-tjD1)
垢版 |
2021/06/13(日) 22:36:39.63ID:22VRqKKa0
>>332
それはデータベースの機能じゃないでしょ

おれも10年前だったら>>334みたいなこと言ってたかもしれんが、
今なら同じ環境でもVBAより先に
Excel上の処理ならPowerQuery、無関係な処理ならPowerShellを勧めるかな
0347デフォルトの名無しさん (ワッチョイ ff4f-mPR2)
垢版 |
2021/06/14(月) 04:35:10.63ID:PmD+aL6w0
>>338
EXCEL操作するとき外部からいじってんの?
それやったことあるならJavaやC#ではインテリセンスとか比較にならないくらい面倒な問題にカチ当たると思うけどそのことは黙ってんの?
0354デフォルトの名無しさん (ブーイモ MMff-rmNT)
垢版 |
2021/06/14(月) 10:36:40.68ID:gAUkTw+2M
終端の入出力にExcelを使わざるを得ないことはあるけど、途中のプロセスに必要もないのにExcelを介在させないようには気をつけてるわ
Excelで入ってきた可能な限りExcelからすぐに引き剥がす
0357デフォルトの名無しさん (ワッチョイ c301-ds2K)
垢版 |
2021/06/14(月) 12:40:50.20ID:r+7e8oUy0
動画編集ソフトとかならともかく、Excel自体が趣味で使うような類のソフトじゃないんだから過去スレ全部ひっくるめてもそんな話題1割あるかないかだろ
そもそも今どき趣味のプログラミング言語にVBA選ぶとかマゾかよ
0360デフォルトの名無しさん (ワッチョイ ff4f-mPR2)
垢版 |
2021/06/14(月) 19:11:40.02ID:PmD+aL6w0
>>349
つまりやったことないと・・・
EXCELはCOMだからjavaやC#で外部から弄るとObject開放の壁があってかなり面倒になることはやったことある人なら一発でそれが出てくるもんなんだけどな。

NPoi辺り入れれば開放考えないで済むけどわざわざそのために新しい構文覚えるのも面倒だし
何といっても仕事場に入れていいかどうか確認するのも大変だし入れられないとなったらこの手段も使えない。

そんなもんが入れられるならむしろこういう物をブチ込んだ方がまだ楽
https://qiita.com/mochimo/items/e9be36619a76e15bc898
0361デフォルトの名無しさん (ワッチョイ ff4f-mPR2)
垢版 |
2021/06/14(月) 19:16:33.90ID:PmD+aL6w0
>>349
それと何か勘違いしているみたいだから言っとくとC#で組んだら楽というのであればC#で組めばいい。

EXCEL VBAはそれがEXCEL単体で動くから楽なのであって、別にプログラムをC#で組むことは出来る。
0364デフォルトの名無しさん (ワッチョイ 43da-o3Yi)
垢版 |
2021/06/14(月) 20:16:40.74ID:BoWIoVnH0
厳しい事書くけど、「Excelやマクロの基礎ってなんですか?」と聞いている時点であなたには無理です

と、昔に俺も言われた事ある泣
このスレだったかExcelスレだったか忘れたけど。。。
キツいレスだったけど、今思えば回答者は間違った事は言っていたなかったなと。
0372デフォルトの名無しさん (ワッチョイ ff4f-mPR2)
垢版 |
2021/06/14(月) 21:58:08.80ID:PmD+aL6w0
お仕事で使ってる人は仕事場にコーディング規約があるから基本それが基礎と考えていいと思う。

基礎として存在しているものがなぜ基礎と定義付けられているのか?それを考えるのが一番大事なこと。

例えば基礎なんて意識しないでGoto文とか乱用したりするとどうなるか、とか考えれば必然的に何故基礎というものが大事か、と言うことが分かってくると思う。
0376デフォルトの名無しさん (ワッチョイ 93ad-istX)
垢版 |
2021/06/15(火) 07:25:28.47ID:1AUUybOL0
option explicitでさえ議論分かれるもん
変数宣言はするべきって所は共通みたい? ただしforループのカウンタ変数はいちいち宣言しないって人も見た
0381デフォルトの名無しさん (ワッチョイ ff4f-mPR2)
垢版 |
2021/06/15(火) 09:38:25.55ID:DoCanqXw0
例えばだけど
仕事場でコーディング規約に「モジュールの頭にはOption Explicitをつける」と書いてある場合、付ければ問題ないし、付けなければ怒られる。
コーディング規約に書いて無ければ付けても怒られないし、付けていなければ怒られないケースと、「そのくらい書いていなくても常識だろう」と怒られた挙句、「コーディング規約に書いていなかった」と反論しても、「じゃ、書いといて」と言われるケースも考えられる。
コーディング規約に「付けるな」と書いているのであれば付ければ怒られるし、付けなければ問題ない。

この内、書かれていなかったケースで融通を利かせて付けるか、一応上の人の判断を仰ぐか、付けないかを選択するかはその人次第。
ちなみに付けず、書いてないからと言い張った場合、面倒くさい奴とみなされて仕事場から叩き出される可能性もあることを考慮すること。
0382デフォルトの名無しさん (ワッチョイ ff4f-mPR2)
垢版 |
2021/06/15(火) 09:50:00.14ID:DoCanqXw0
客先とかユーザー先とかに提出する成果物や後々他の誰かが見るようなものでなければ正直どうでもいい。
個人で作って試す程度のものであればどう組もうがその人の勝手。
そういうときにやっておけばそうでないものを作成したときに癖になっていて忘れない程度のメリットはあるがその程度。
0386デフォルトの名無しさん (ワッチョイ ff3d-nisE)
垢版 |
2021/06/15(火) 14:20:04.52ID:rIl2Ylxc0
VBA初心者ですが、任意のセルへ他のシートへジャンプする以下のような関数を埋め込みたいのですが、
エスケープ方法がわからずエラーが出てしまいますがどう書けばいいのでしょうか?

=HYPERLINK("#シート5!A1","詳細")

「シート5」の「5」の箇所を変数「シート番号」にして異なるシートへ飛ばすように書こうとしていますが、これがまた全然うまくいきません。。

"=HYPERLINK("""#シート" & シート番号 & "!A1""","""詳細""")"

説明サイトで見た感じでは↑このように書けばいいとなってましたがエラーになります。「!」もエスケープが必要なのでしょうか?
0392デフォルトの名無しさん (テテンテンテン MM7f-Nnf8)
垢版 |
2021/06/15(火) 22:03:38.82ID:sum4vr6IM
>>376
> ただしforループのカウンタ変数はいちいち宣言しない
っていうのがよく分からん
Option Explicit 使うとエラーになるからそう言う人は Option Explicit 使ってないってこと?
まさかと思うがグローバル変数じゃないよね…
0397デフォルトの名無しさん (ワッチョイ ff3d-nisE)
垢版 |
2021/06/16(水) 04:49:12.21ID:F49Mhpb10
VBAは消えるかと思ってたけど消えなかったな、PowerオートメイトでExcelはVBAでやってちょうだいって仕様になってる。
てかVBAの言語をいい加減強化してほしいよな、メモリー不足やら宣言やらガチガチすぎ
0402デフォルトの名無しさん (アウアウウー Sa67-istX)
垢版 |
2021/06/16(水) 13:04:22.62ID:ZupwFArpa
>>392
それ。このスレだから上の方さがしてこい
0406デフォルトの名無しさん (ワッチョイ ff4f-mPR2)
垢版 |
2021/06/16(水) 21:54:32.97ID:HI6xt2b+0
訳「じじいなんでコロナワクチンの順番が回って来たので行ってきます。その3週間後にも休むつもりです。でもその前にアナフィラキシーショックや脳卒中や心筋梗塞で死ぬかも知れません」
0407デフォルトの名無しさん (オイコラミネオ MMc7-vM8G)
垢版 |
2021/06/16(水) 22:13:53.78ID:XTWzMe0bM
ゲーム会社とかなら一人プログラマーが欠けた所で代わりはいくらでもいるだろうけど

VBAを使ってる現場は
周りは誰も使えなくて
そいつが抜けた引き継ぎ不能、効率ガタ落ちの地獄になりそう
とかいうイメージ
0410デフォルトの名無しさん (ワッチョイ ff4f-mPR2)
垢版 |
2021/06/16(水) 22:36:29.63ID:HI6xt2b+0
>>407
いんや
ゲーム会社ってデザイナーとか多いけど
普通プログラマーって実はそんなにいないんだよ。

チーフ、こっちの業界ではリーダーだね。
そのレベルの人が辞めたらそのゲームはぽしゃるぐらいのこともあり得るし実際あるんだよ。
0412デフォルトの名無しさん (ワッチョイ ff01-EoJ9)
垢版 |
2021/06/17(木) 00:28:58.54ID:C+ioPhwN0
うちの会社だとそうなることは目に見えてるから
俺がいなくなることを見越して、可能な限りをシート上で設定できるようにしてる
こういう事をしても、設定の仕方を理解しようとする人がいなければ終わるんだけど
まぁそうなりつつあるが、俺はヤレルだけやった
0413デフォルトの名無しさん (ワッチョイ ff3d-nisE)
垢版 |
2021/06/17(木) 03:39:58.22ID:Jx4acFkQ0
動けば何でもいいんだよ 


おれは毎日残業して仕事してるぞ、
ただしその仕事内容は数時間かけて右の表から左の表へ1セルずつコピペを手でひたすら繰り返しやってるだけて奴よりはね。
0415デフォルトの名無しさん (ワッチョイ ff4f-mPR2)
垢版 |
2021/06/17(木) 07:19:32.62ID:gUx1qJ1N0
引き継ぐ側からすると
大体の詳細設計残しておいて貰えればどういう動きすんのか分かるしまぁ大丈夫だよ。
プログラムもキチンと書いてあるならヘッダ部分のモジュールコメントと関数コメントしか基本要らない。
何か深い意味合いが有って特殊なことをやってるところだけ何のためにやっているか書いといてくれれば。

けど残念ながら大概仕事場から去るような人は意味もなく1関数に何十行にも渡るコード書いてたり、コメントに何のためにやってるかではなく、何をやってるかを書いている人の方が多い

何をやってるかなんてコード見りゃ分かるしそんなコメント要らない。
そしてよく分からないことやってる部分は概ね何らかしらの経緯をへてそうなっているからそう言うのをコメントに残して置いて欲しい。
0418デフォルトの名無しさん (ブーイモ MM67-k6j9)
垢版 |
2021/06/17(木) 08:40:50.83ID:QM3R/BMJM
人材
0422デフォルトの名無しさん (ワッチョイ ff4f-mPR2)
垢版 |
2021/06/17(木) 09:33:13.76ID:gUx1qJ1N0
>>420
何やよう分からんけど
普通ツールやシステム組むときって
要件定義、基本設計、詳細設計、コーディング、UT、IT、ST、UAT及びレビューや戻り等の何か有ったときの余裕部分を持たせたものの工数を算出して
そこから金額的な見積もりを算出して予算を決めるもんじゃないの?
そう考えると「コーディング部分は派遣にやらせてはいけない」となるとVBAを出来る人材として派遣を雇った場合、どこを任せるのかな?
関数部分って言うからEXCELのガワでも作らせるのかな?
そんなのコーディングの中で一々分けて工数立ててんの?
大変だねぇ。
0424デフォルトの名無しさん (ワッチョイ f37c-epd2)
垢版 |
2021/06/17(木) 12:03:07.26ID:EQR7Wr8E0
マ板でやれ
0429デフォルトの名無しさん (ワッチョイ 5a05-lvy7)
垢版 |
2021/06/18(金) 13:14:05.55ID:N4/uG+Sb0
最近365のインスコデフォが64Bitなのか知らんが
やたら64Bit入れてるとこ多くてAPIの宣言で苦労するわw
0430デフォルトの名無しさん (ワッチョイ 177c-A2ah)
垢版 |
2021/06/18(金) 14:31:11.45ID:ru+U9KL50
官公庁や地方の役所は excel 禁止にするべきだと思う
マイナンバーと一緒にコピペしたゴミファイル対象に存在してそう
0431デフォルトの名無しさん (ラクッペペ MMb6-xYBz)
垢版 |
2021/06/18(金) 16:16:04.51ID:iFS3jLeNM
>>429
822 名無し~3.EXE sage 2021/06/16(水) 09:36:00.33 ID:mfWEfGUc
https://support.microsoft.com/ja-jp/office/2dee7807-8f95-4d0c-b5fe-6c6f49b8d261?ui=ja-jp&;rs=ja-jp&ad=jp

>インストール プロセスを始める前に、明示的に 32 ビット版を選択しなければ、64 ビット版の Office が自動的にインストールされます。

826 名無し~3.EXE sage 2021/06/16(水) 10:36:08.09 ID:mfWEfGUc
64ビット版Office
https://i.imgur.com/f4XX4AR.png
0432デフォルトの名無しさん (スップ Sd5a-6NMB)
垢版 |
2021/06/19(土) 21:17:20.75ID:2AjDQN3xd
Wordファイルをフォルダから選択して開く方法がわからないので教えてください
Documents.open filename:=.selectedItems(1) でエラーになってしまいます

Dim myFD As FileDialog
 Dim myFolderPath As String
My folderPath ="C:\Users\ユーザ名\Desktop\test"
 Set myFD = Application.FileDialog(msoFileDialogFilePicker)
 With myFD
 .Title = "Wordファイルを選択してください"
AllowMultiSelect = False
 With .Filters
.Clear
.Add "すべてのWordファイル", "*.doc; *.docx"
End With
.initialFileName = myFolderPath
If .Show = -1 Then
Documents.Open FileName:=.SelectedItems(1)
End If
.Filters.Clear
 End With
 Set myFD = Nothing
End Sub
0434デフォルトの名無しさん (スプッッ Sd92-19dE)
垢版 |
2021/06/19(土) 22:48:12.33ID:Q3ddnmGHd
>>432
とりあえず見つけた間違いが2箇所だけど、これで動くかどうかまでは未検証

正 MyfolderPath = "C:\Users\ユーザ名\Desktop\test"
誤 My folderPath = "C:\Users\ユーザ名\Desktop\test"

正 .AllowMultiSelect = False
誤 AllowMultiSelect = False
0435デフォルトの名無しさん (ワッチョイ 0eda-19dE)
垢版 |
2021/06/20(日) 04:10:19.34ID:zX/52ur00
>>432
>Documents.open filename:=.selectedItems(1) でエラーになってしまいます
..selectedItems(1) の部分をpath付きでファイル名直接指定してみ

あとエラーの内容書かないで動かないとか言ってんじゃねーよ
0436デフォルトの名無しさん (ワッチョイ 9a4f-cxJY)
垢版 |
2021/06/20(日) 04:48:09.25ID:dRH6lezR0
>>433
>何をやってるかはコード見りゃわかるだろって、それが
>わからないからコメントって概念があるんだろ。

別に書いてあっても「親切な人だなぁ」とは思うけどきちんと単一責任原則に沿って書かれていればひとつひとつの関数やメソッドは基本そんなに長くなるもんじゃなし、ヘッダコメントに「こんなことやってます」的なことが書かれていれば必要ないよ

コードに対する読解力がないのか
コード書いてる奴が可読性低いコード書いてるのか知らないけど
自分とこの仕事場の能力の低さを棚に上げて俺に言われても困る
0438デフォルトの名無しさん (スップ Sd5a-6NMB)
垢版 |
2021/06/20(日) 07:31:37.47ID:ILuttY4Ad
>>434>>435
レスありがとうございます
エラーは実行時エラー429
ActiveXコンポーネントはオブジェクトを作成 できません です。
>>437
外にいるので後で確認します

Wordをファイル指定なら開けるのですがダイアログボックスのフォルダからファイルを選択して開くのは難しいんでしょうか
0448デフォルトの名無しさん (ワッチョイ 0eda-19dE)
垢版 |
2021/06/20(日) 15:44:58.90ID:zX/52ur00
>>432
>>432
参考にしていると思われるサイト
 https://ameblo.jp/gidgeerock/entry-12059401800.html

上記に書かれているのは Word用のマクロが書かれているので
そのままでは Excelのマクロとしては実行できません

参照設定とかオブジェクトとか指定する必要があるのでExcelで動かすならExcel用のマクロを
見つけて参考にしてください
0449デフォルトの名無しさん (アウアウカー Sa43-o4UQ)
垢版 |
2021/06/20(日) 16:44:41.50ID:kxyV2e+fa
エクセルで何故か散布図の最大値が35になってしまうんだけどどうすればいいのかな?
0450デフォルトの名無しさん (アウアウカー Sa43-o4UQ)
垢版 |
2021/06/20(日) 16:54:50.18ID:kxyV2e+fa
横軸の最大値が三十五になってしまう
0451デフォルトの名無しさん (アウアウカー Sa43-o4UQ)
垢版 |
2021/06/20(日) 16:54:54.50ID:kxyV2e+fa
エクセルで何故か散布図の最大値が35になってしまうんだけどどうすればいいのかな?
0453デフォルトの名無しさん (アウアウカー Sa43-o4UQ)
垢版 |
2021/06/20(日) 17:01:39.70ID:kxyV2e+fa
>>452
そう
横軸だけ何故か35になる
0454デフォルトの名無しさん (ワッチョイ 0eba-hhAf)
垢版 |
2021/06/20(日) 17:12:29.90ID:4uytDepH0
選択したフォルダの絶対パスを取得したいと考えているのですが、下記のフォルダ選択を実行すると
Dim shell As Object
Dim p As Object
Set shell = CreateObject("Shell.Application")
p = shell.BrowseForFolder(&O0, "フォルダを選択してください", &H1 + &H10, "C:\")
オブジェクト変数がセットされていないか、Withブロックがセットさせてないとエラーが出ます。
型がオブジェクトにするといけないのでしょうか?
0455デフォルトの名無しさん (ワッチョイ 0eba-hhAf)
垢版 |
2021/06/20(日) 18:36:22.06ID:4uytDepH0
自決しました
0464デフォルトの名無しさん (ワッチョイ 7a3d-wUFk)
垢版 |
2021/06/22(火) 11:40:45.71ID:Ug3/ZHCp0
オフィス365でデーターを保存したときにウインドウの上のバーの箇所のタイトルに
「ファイル名+保存しました・・」って表示になるけど、
これ出さないように出来ないのかな?

ウインドウのタイトルが変わるとRPAが誤作動をおこすので
いらない機能をつけるなよといつも思います。
0465デフォルトの名無しさん (ワッチョイ 4e8e-uQG8)
垢版 |
2021/06/22(火) 11:53:10.81ID:Q3t5SOXg0
「データー」と伸ばすのはだいたい馬鹿
0478デフォルトの名無しさん (ラクッペペ MMb6-tFUR)
垢版 |
2021/06/22(火) 18:38:41.16ID:nJBLTJzVM
猫杓子ビールス
0480デフォルトの名無しさん (ワッチョイ 9a4f-cxJY)
垢版 |
2021/06/22(火) 19:21:16.66ID:7j121Wmb0
これって何だったっけ?
確か昔は変数に持たせられる文字列数に制限があって末尾の棒線を取って記載するのが流行って今に至ってるって話の奴だっけ?
まぁ何かデータとかメモリとか書くのが当たり前になっちゃってるし俺もそう書くけど
別にどっちでもいいんじゃないの?
むしろ今はそんな制限殆どないんだし、最近の人の方が末尾に棒線付けて書いてるかもね。
0481デフォルトの名無しさん (ワッチョイ 4e8e-uQG8)
垢版 |
2021/06/22(火) 19:43:01.98ID:Q3t5SOXg0
>>480
こういう英語のわからない馬鹿は黙ってろよ
0488デフォルトの名無しさん (ワッチョイ 4e8e-uQG8)
垢版 |
2021/06/22(火) 21:46:11.98ID:Q3t5SOXg0
マイクロソフトが周辺機器メーカーも巻き込んで表記ルールを作っている
0501デフォルトの名無しさん (ワッチョイ 4eda-19dE)
垢版 |
2021/06/23(水) 16:49:46.55ID:s45KB9Qr0
JIS Z 8301:2011 規格票の様式及び作成方法
https://kikakurui.com/z8/Z8301-2011-01.html
p.61
G.6.2.2 英語の語尾に対応する長音符号の扱い
英語の語尾に対応する長音符号の扱いは,通常,次による。
なお,英語の語末の -er,-or,-ar などは,ア列の長音とし,長音符号を用いて表すものに当たるとみなす。

a)専門分野の用語の表記による。
 注記 学術用語においては,原語(特に英語)のつづりの終わりの -er,-or,-ar などを仮名書きにする場合に,
 長音符号を付けるか,付けないかについて厳格に一定にすることは困難であると認め,
 各用語集の表記をそれぞれの専門分野の標準とするが,
 長音符号は,用いても略しても誤りでないことにしている。
b)規格の用語及び学術用語にない用語の語尾に付ける長音符号は,表 G.3 による。

表 G.3?外来語の表記に語尾の長音符号を省く場合の原則

a) その言葉が 3 音以上の場合には,語尾に長音符号を付けない。
 エレベータ(elevator)
b) その言葉が 2 音以下の場合には,語尾に長音符号を付ける。
 カー(car),カバー(cover)
c) 複合の語は,それぞれの成分語について,上記 a)又は b)を適用する。
 モータカー(motor car)
d) 上記 a)?c)による場合で,
 長音符号を書き表す音(例 1),
 はねる音(例 2),
 及びつまる音(例 3)は,それぞれ 1 音と認め,
 よう(拗)音(例 4)は1音と認めない。
 1 テーパ(taper)
 2 ダンパ(damper)
 3 ニッパ(nipper)
 4 シャワー(shower)
0510デフォルトの名無しさん (テテンテンテン MMb6-jALJ)
垢版 |
2021/06/24(木) 06:37:37.59ID:QJfsonoMM
共有フォルダのmdbファイルにADOでアクセスしてます

一人だとconnectionのcloseは、すんなり行きます
だけど、誰かが同じようにadoでconnectionをopenしてるときに、connectionのcloseをかけると30秒くらい止まります

どしたら解決できますん?
0517デフォルトの名無しさん (ワッチョイ b32f-C2Ex)
垢版 |
2021/06/24(木) 16:40:18.82ID:pMYowNTL0
普通に考えて、何もなければクローズに30秒もかかるわけないし
なんらかのエラーが出てるかファイル共有サーバに問題があるかだろ

ちょっと試したけど実際そんなことにはならん
詳しい環境もわからんしこれ以上は何とも言えんわな

詰将棋のルールわからん人もいるだろうからおとなしく待てとしか
0518デフォルトの名無しさん (ワッチョイ 9a4f-cxJY)
垢版 |
2021/06/24(木) 18:52:32.85ID:fvpW6/m50
「誰かが入ってるとき」ってのが引っかかるけどACCESSでしょ?
排他やら何やらもあるかも知れんけど、こういうときはまず最初に疑うのはそのACCESSファイルが最適化されているかでしょ?
とりあえず閉じるときに最適化ロジックが入っているかと、一回最適化して同じように確認してみたら?
0532デフォルトの名無しさん (ワッチョイ cfcc-kMi9)
垢版 |
2021/06/25(金) 13:20:23.81ID:KvLfiLSb0
Publicで多次元Variant型の配列「ar」を宣言して、1つ目のプロシージャでRangeを代入します。
そして、2つ目のプロシージャで中身を全て入れ替えたいので、

ReDim ar(**,**)で改めて再定義した場合、arはPublicのままなのでしょうか?
0535デフォルトの名無しさん (ワッチョイ 3fbd-ufrb)
垢版 |
2021/06/25(金) 17:31:40.68ID:gAzExUS50
VBAとはちょっとズレるんですが、数万行のデータのシートが複数はいっているExcelで
他の列から複数、Vlookupで参照されているA列の値を書き換えたりすると、8コアのCPUが10秒以上100%に貼り付いてフリーズしたみたいになります
一箇所のセルが変わると他の全部も再計算するんでしょうか
0554◆QZaw55cn4c (ワッチョイ 0fe6-99zR)
垢版 |
2021/06/26(土) 10:25:11.17ID:G/mKJlN/0
>>526
詰め将棋しかしたことがなく将棋を指したことがないから教えてください、打ち歩詰めは指し将棋でもルール違反なんでしょうか?
0556デフォルトの名無しさん (ワッチョイ 3f8f-Ibo0)
垢版 |
2021/06/26(土) 13:11:52.43ID:E99miMeF0
>>554

反則。渡辺明が羽生善治相手に「打ち歩詰めでしか詰まない」、
つまりどうしても一手緩むという状態に誘導して大逆転した将棋がある。

ちなみにその将棋は竜王戦という超賞金の高いタイトル戦7番勝負の
第4戦でそこまで羽生3連勝。勝てば初代永世竜王という称号が手に入る
特大の大一番。

そこから渡辺が4連勝して、その後も勝ちに勝ちまくって初代永世竜王を得た。
0567デフォルトの名無しさん (スプッッ Sd5f-eDha)
垢版 |
2021/06/27(日) 21:35:38.31ID:QMPxOv6Kd
前も書いたが、その世代のジジババだれもがパソコンはあろかVBAを書けると思っているのか?
理数系ジジババならまだしも、VBA自体できる方が珍しいんだよ。
まあ確かにMS-DOS世代にはなるのかな。
0579デフォルトの名無しさん (ワッチョイ 8f01-zwXB)
垢版 |
2021/06/28(月) 04:35:24.99ID:rxnegQx20
右から、例えば右から4番目の位置に文字を挿入したい場合はどのようにしたら良いのでしょうか?
1.256とか.526のように右から4番目の位置に「.」を入れたいもので
どなたか教えて頂けないでしょうか?
0582デフォルトの名無しさん (ワッチョイ 8f01-zwXB)
垢版 |
2021/06/28(月) 05:26:15.69ID:rxnegQx20
>>580
そのように検索したら左から数えるパターンは出てくるんですけど右からのは見つからなかったんです
0583デフォルトの名無しさん (ワッチョイ 8f01-zwXB)
垢版 |
2021/06/28(月) 05:28:00.69ID:rxnegQx20
>>581
そうすると.526で表したいものが0.526となってしまうんです
注文が細かくて申し訳ありません
0584デフォルトの名無しさん (ワッチョイ 3f01-EKdG)
垢版 |
2021/06/28(月) 05:47:04.54ID:Zc0gwfde0
まぁいろいろやり方はあるんだろうけど
ドットの左側に何があっても依存しないようにするなら
例えばこんな感じとか

Sub tessssssssssss()
Dim source As String
Dim result As String

source = "12345"

result = Left(source, Len(source) - 3) & "." & Right(source, 3)

MsgBox result
End Sub



result = Replace(source, Right(source, 3), "") & "." & Right(source, 3)
でもいいし
0588デフォルトの名無しさん (ワッチョイ 4ffd-QdZe)
垢版 |
2021/06/28(月) 07:20:57.91ID:PSeEXwsm0
あ、文字列の右から四番目ね
ちゃんと読んでなかったわ
1000で割ったあと
If x < 1 Then
y = Right(x, Len(CStr(x)) - 1)
Else
y = CStr(x)
End If
って感じとかどうだい?
xはDouble型かCurrency型、yはString型
0593デフォルトの名無しさん (ワッチョイ 8f01-zwXB)
垢版 |
2021/06/28(月) 10:37:20.50ID:GqTPQcXz0
>>586

579です

Replace 関数を使って何とか出来そうです
皆様ご親切に教えて頂いて有難うございました
0596デフォルトの名無しさん (ワッチョイ 7fda-wfqF)
垢版 |
2021/06/28(月) 10:56:41.39ID:PIban7sd0
>>589
お前は社長か?そういう会社で利益が出ているならお前がやればいいだけのこと
会社が傾くならできない奴を移動させるか、自分が別の会社に行くのとどっちがいいか上司と相談しろ
0600デフォルトの名無しさん (ワッチョイ 8f01-zwXB)
垢版 |
2021/06/28(月) 12:06:04.43ID:XELgj8uL0
結局、if関数とsubstitute 関数を併用してやりました
0602デフォルトの名無しさん (ワッチョイ 3f8f-Ibo0)
垢版 |
2021/06/28(月) 12:07:16.09ID:pcopG4hy0
>>576

動作102で言語137あるんだが、関数型プログラミングが
なかなか頭に入ってこない。オブジェクト指向までならすっと入る。

なので、プログラム全般に対する適性だと、他にもうひとつ
ふたつファクターがあるような気がする。
0609デフォルトの名無しさん (ワッチョイ 3f8f-Ibo0)
垢版 |
2021/06/28(月) 15:03:26.72ID:pcopG4hy0
>>608

実際に職場のシフト表作るのに使ったよ。ナースシフトプロブレムってやつに
なるらしい。

遺伝的アルゴリズムとかルーレットアルゴリズムとかフィッシャー・イェーツの
配列並び替えアルゴリズムとか面白かった。今ってググればなんでも出るから
すごいね。プログラマを引退して長いので驚いた。

その手の用途にはうってつけの道具だと思う。エクセルVBA。
0611デフォルトの名無しさん (JP 0Hb3-wfqF)
垢版 |
2021/06/28(月) 15:51:47.32ID:iolAc3eIH
>>610
別に理由は書かなくていいんだよ?
「同時に働けない」って条件だけ機械的に設定すればいいんだから
共働きの夫婦なんかでもよくあることだし
0616デフォルトの名無しさん (ブーイモ MM5f-Sr02)
垢版 |
2021/06/28(月) 20:05:07.66ID:qFu4iqR6M
>>615
プロジェクトのタスクというのは担当者や委託先業者がいつ作業しようがいつ寝ようが期間内に終わればいいだけだから厳密なシフトなんか必要ないし、
作業の属人性や依存性も考慮しなければならないのでナーススケジューリング問題ではない
0617デフォルトの名無しさん (テテンテンテン MM4f-Sr02)
垢版 |
2021/06/28(月) 20:12:31.08ID:pXD9ld7mM
>>606
VBAに?頼るようなとこは、明らかに無意味な業務を排除できずに小手先の自動化で誤魔化している低レベルな職場が多いよ
自動化する前に、そもそもその成果物が本当に必要かを考えたほうがいい
0619デフォルトの名無しさん (ワッチョイ 3f4f-7tPV)
垢版 |
2021/06/28(月) 20:40:35.84ID:immco5jO0
>>617
VBAに頼ること自体は別に程度が低いことにはならないよ

むしろ中身は以前ならそれで普通にシステム作ってた旧VB6とほぼ一緒な訳だから表計算とかをDBから読んで加工してEXCELに出す程度のものであればVBAだけで十分事足りる

統合システムとかWEBとか
VBAでするべきではないものは確かに存在するけどその辺はケースバイケースで決めるべきで、VBAだから程度が低いことにはならない
0622デフォルトの名無しさん (ワッチョイ 3f4f-7tPV)
垢版 |
2021/06/28(月) 21:03:04.41ID:immco5jO0
>>621
単純にVBAの動作速度が遅いというのであれば
ネィティブコードにコンパイルしないJavaも遅いし、ILすら実行時に変換して行くJavascriptやPythonやVBSなんかも遅いことになるけどな
0625デフォルトの名無しさん (ワッチョイ 3f8f-Ibo0)
垢版 |
2021/06/28(月) 21:55:47.58ID:pcopG4hy0
>>621

うん。システム屋的にはありえないくらい遅いw

自分で耐えられなくなってオンメモリに動作するように
リファクタリングした。

でも、シフト表作成みたいな月に1回動けばオッケー
的システムだとそれはあまり問題じゃないんだなってのも
学んだよ。

1回の処理で1万パターンくらいの表作って戦い合わせて
最終的な勝者を出すんだけど、1回に10分掛かったって
1時間もあれば上に6パターンの表を出せる。

あとは手動で微調整すれば今までの数倍の効率で組め
ちゃう。

「終わってる言語」のVBAは、現場では終わってない。
個人的にはJavaScriptに早く置き換わってくれなんだけど。
0626デフォルトの名無しさん (ワッチョイ 0f01-TKpH)
垢版 |
2021/06/28(月) 21:57:31.79ID:sS5e2Tlr0
別に内容がわからないシステムは残らんでいいけど
じゃあ代わりになにか作れるかって言ったら作れないわけで単純に作業量が死ぬほど増えるんだよ
ましてやエクセルの関数すらまともに扱えないんじゃそりゃ地獄になるに決まってる
0631デフォルトの名無しさん (ワッチョイ 3f4f-7tPV)
垢版 |
2021/06/28(月) 22:57:49.31ID:immco5jO0
>>625
ならないよ
そもそもJavascriptはWeb用の言語だ
だから既にWeb版EXCELはJavascriptを
使うようになっているし最近では
マクロの自動生成も公開されている

ただ、Javascriptを使うだけでは
先程言ったようにScript言語なので
Javascript → 中間言語 → ネイティブコードと
変換されるため然程の高速化は
見込めないどころか遅くなる可能性すらある

集約や関数の持ち回りに強いjQueryを
上手くに使いこなしてどうか、といった
レベルになるだろう
0633デフォルトの名無しさん (ワッチョイ 0f2f-m5uv)
垢版 |
2021/06/29(火) 06:27:10.28ID:ZccqS9LI0
同じことをしても言語によって速度差はあるけどな
開発効率は開発環境の問題だが、開発環境は言語によってだいたいきまるけどな

まあつまり、適材適所なんだが
趣味のVBAにどんだけのものを求めるんだ?
いまどきのマシンスペックでVBAが遅くて使いものにならんとしたら、よっぽど向いてない処理をさせたか
どんな言語でも使いものにならん速度しか出ないコードしか書けないかだろ
0637デフォルトの名無しさん (ワッチョイ 8fda-4Zym)
垢版 |
2021/06/29(火) 11:45:54.97ID:vrKJ4YHX0
ひろゆきの動画でVBAに触れていたからさ
信者のコメントが知ったかばっかでドン引きしたんだよ
「VBAはプログラミングの中で1番簡単で誰でもできる」とか書き込みしてるヤツいたから。
0638デフォルトの名無しさん (ワッチョイ 4f2f-0Ek0)
垢版 |
2021/06/29(火) 11:58:35.93ID:SnFn9ujO0
VBAはプログラミングの中で1番簡単で誰でもできると思うよ
0640デフォルトの名無しさん (JP 0Hb3-wfqF)
垢版 |
2021/06/29(火) 12:01:34.39ID:NaeElEpxH
現役で広く使われてる言語の中では、VBAはかなり簡単な方だと俺も思うよ
この場合の簡単というのは、敷居が低いって意味もある

ネットでも書店でも初心者向けの情報があふれてる
最低限の開発環境が用意されてて、書いたらすぐ実行して結果が確認できる
変数の型も自由だからつまづきにくい
0641デフォルトの名無しさん (ラクッペペ MM4f-wXzc)
垢版 |
2021/06/29(火) 12:05:38.73ID:s/tCdoZmM
HelloWorld出すまでの敷居はExcel買うだけ
0643デフォルトの名無しさん (ワッチョイ 3f4f-7tPV)
垢版 |
2021/06/29(火) 12:47:01.58ID:FQiEOJle0
>>642
言語という枠に括られるのであれば恐らく無い。
JavascriptはwebだからどうしてもHTMLやCSS等の知識が必要になるし
Pythonもwebで使うなら同様、そうでなければWPFの知識が必要になる

C#やVB.NetはObject指向言語でそもそもが難しい。
javaも色々なところで使われているもののObject指向言語な上に自分でフレームワークを構築したりしなければいけないとなったらもう論外。

C、C++はポインタの概念で向いてない人はすぐはねられる。Rubyは年収が安いのでこれも論外。
0651デフォルトの名無しさん (ワッチョイ 3f4f-7tPV)
垢版 |
2021/06/30(水) 15:30:59.23ID:OxVbJjtU0
>>649
VBA自体は学歴は関係有りません
勉強すればその辺にいる小学生でも扱うことは出来るでしょう。

ただその性質上、企業等で扱う場合は業務的な知識を必要とする場合が多々ありますので、その知識は必要です。
0656デフォルトの名無しさん (スフッ Sd5f-hdpQ)
垢版 |
2021/06/30(水) 20:31:26.49ID:S6O23UPed
大卒がエリートだったのは昭和40年代まで
学生運動が広まったあたりで、学生の本文は学問であることを忘れたやつが増えて、大学は遊びに行く場所になってしまった
0657デフォルトの名無しさん (ワッチョイ 8fda-qE8O)
垢版 |
2021/06/30(水) 21:00:55.74ID:UO8hRHbx0
ああ、そうでした
学生みんながみんなじゃないけど、今はあまりパソコン自体使わないでスマホでレポート書いてるとも聞きました。
WordやExcelに触れない学生が多いとか
0672デフォルトの名無しさん (ワッチョイ 5301-v7i8)
垢版 |
2021/07/02(金) 03:59:24.30ID:iwESPQ410
最近ソルバーっていうの覚えたんだが、これ凄いな
ゴミみたいなマクロ作ってないで、最初からこれ使ってればよかったわ

最近のエクセルはデータの読み込みとかピボットとか格段に使いやすくなってるし、
言語機能的な問題じゃなくて役割的な意味でVBA使う必要がドンドンなくなってきてると感じる
0674デフォルトの名無しさん (ワッチョイ a38e-p275)
垢版 |
2021/07/02(金) 04:19:07.42ID:zQG51z+B0
>>672
で?馬鹿な頭自慢か?
0676デフォルトの名無しさん (ワッチョイ 8a4f-RjI8)
垢版 |
2021/07/02(金) 05:30:54.67ID:rz2f8HXN0
>>672
最近のエクセルって・・・
ピボットとかデータ読み込みとか何年前から付いてた機能だと思ってるの?
この人スピルとかxLookupとかifsとか全く知らなそう

ここにいる人達はみんなそういうのとっくに知ってる上でVBAやってると思うよ
0681デフォルトの名無しさん (エムゾネ FFaa-gCsC)
垢版 |
2021/07/02(金) 10:51:45.20ID:xu7tv1xSF
どっちがマウント取るとかどうでも良い
本質的に関係の無い話題で無駄レスしまくって
スレを流したり話題をはぐらかしたりする体質は遺憾
0688デフォルトの名無しさん (ワッチョイ 1f2f-tMGp)
垢版 |
2021/07/02(金) 16:50:53.93ID:mPacUdo00
ロータスひふみ
0692デフォルトの名無しさん (JP 0Haa-5wx8)
垢版 |
2021/07/02(金) 22:47:54.90ID:A64becLwH
テーブル辺りまで使えていれば、Excelに関しては一応okって感じでよくない? 世間一般の中級者も大体それくらいでしょ。
0694デフォルトの名無しさん (ワッチョイ 5301-v7i8)
垢版 |
2021/07/03(土) 04:53:38.76ID:jaDL/A8Y0
>>676
使いやすくなってるって「データの読み込みとかピボットとか」に係ってるんだが

ソルバーの存在を知らなかったのは素直に無知だったと思うし、
挙げられた機能や関数は偶然知ってたが知らなくてもおかしくないと思う。
これからもエクセルに限らず発見はあると思うし見つけていきたいね。

>>680
圏論は初心者向け解説も少ないし、解説動画も豊富な群論から先に勉強してる感じ
Haskellの数学的意味の理解が取りあえずの目的だから、
群論→圏って進むのがいいのかなと思った
0698デフォルトの名無しさん (ワッチョイ 1eda-hjfD)
垢版 |
2021/07/03(土) 09:12:06.97ID:GW9wjLqI0
Lotus 1-2-3は、MS-DOS時代のIBM PC/AT互換機の販売促進にもつながった。
あのマクロは変数宣言不要で、とっつきやすかった (より本格的なLotus Scriptもあった)。
16bitでもそれなりに計算速かった。

が、MSがそこで奮起したから今日のExcelがあるわけで。
1-2-3がWindows対応に遅れたこともあったが。

で、Excelに負けたLotusは2000年代に入って、
主力商品をグループウェアのLotus Notesにシフト。

そのNotesも、サイポウズだとか後発グループウェアに駆逐されて
今は見る影もない。
0700デフォルトの名無しさん (ワッチョイ 1f2f-tMGp)
垢版 |
2021/07/03(土) 10:09:14.68ID:4NfoyZ7k0
一太郎はどうだ?

当時、一太郎とLotas123を選んだオレは負け組か?
いや日本ではWordやExcelより人気だったはず。
0701デフォルトの名無しさん (ワッチョイ 1f2f-tMGp)
垢版 |
2021/07/03(土) 10:10:49.38ID:4NfoyZ7k0
当時はOSもWindowsとMacではWindowsのほうが優勢だったけど今よりははるかにMacのシェアは大きかったな。
0703デフォルトの名無しさん (ワッチョイ 1eda-hjfD)
垢版 |
2021/07/03(土) 10:49:33.08ID:GW9wjLqI0
>>699
wikiながら歴史を紐解くと、
1-2-3が出たのが1983年。
Excelは当初、MS-DOSベースで開発してたが、
LotusがMac向けにJazzってのを開発していることがわかって、
対抗してMac版Excelを出したのが1985年。
Windows版を出したのが1987年だった模様。

棲み分けにはならず、1-2-3もMac版を出すには出した。
GUI対応がアレで売れんかったけど。

あの頃はハード普及期がようやく立ち上がるか?の頃だったので、
それに引きずられたけど、
今はソフト/アプリはハード(OS)依存ではなく、
Mac/Win両方対応するのが当たり前になっちゃった。

蛇足:
1人1台になるのは大企業でもWindows95になってから。
Win3.1の頃はまだ「端末室」という名のブースで共用。
富士通のEPOCALCなんてのも、5インチフロッピー運用でまだ残ってた。
1人1台にするときは現場の総務課だったので、
事務室の床全面をフリーアクセスでかさ上げ・二重床にして、
電源とLANケーブル汗だくで這わせてコネクタ付けて、
ようやくHUBに接続したら、
「ヤバっ。ループさせちゃった・・・」とかバカやってた。

スレチすまそ
0704デフォルトの名無しさん (エムゾネ FFaa-gCsC)
垢版 |
2021/07/03(土) 10:50:01.71ID:gq7PWL9BF
松と桐だろ常考
0706デフォルトの名無しさん (ワッチョイ 73da-Is9n)
垢版 |
2021/07/03(土) 13:08:13.90ID:nIUx6pa80
Excelは他人と技術を競い合うアプリでしょ今は。
だってExcel競技会みたいのがあったじゃん昔は。
上位入賞者はみんなの度肝を抜くテクニシャンばかり
どうしたらあんな発想ができるのか不思議だ
0707デフォルトの名無しさん (オイコラミネオ MM0b-LBvV)
垢版 |
2021/07/03(土) 18:18:57.87ID:vY5wizBaM
VBAの大会だと言うならただのプログラミング大会でエクセルとか半分関係なくなるし
そうじゃなくて関数限定というなら
VBAスレ民があんな非効率的な方法に興味があるのが疑問
関数足しただけ無駄に重くなるし
使う利点あるの?
0717デフォルトの名無しさん (ワッチョイ 8a4f-RjI8)
垢版 |
2021/07/04(日) 21:49:40.40ID:or57QSFH0
基本、VBAより数式の方が処理が速いので数式を多用するのは悪いことではない。
が、今回のように散布図に絵を仕込んだり循環参を使うような持って回った方式であればVBAの方がシンプルに書けるし恐らく処理も速いだろうな。
EXCELもVBAもまだまだ奥が深いということだな。
0722デフォルトの名無しさん (ササクッテロラ Sp23-CCI/)
垢版 |
2021/07/05(月) 07:15:42.76ID:zJPeJqp8p
VBAで関数文字列作ってセルに入れて計算結果を得るとかあるあるだな
VBAでセルをループ処理するより速い時に使う
関数のままだとアレルギー起こす人もいるから
計算結果で上書きして関数を隠蔽したりもする
0726デフォルトの名無しさん (ラクッペペ MMc6-Q0eP)
垢版 |
2021/07/05(月) 18:42:37.12ID:RJLz/FDpM
VBEは背景画像設定できないからはかどる
0727デフォルトの名無しさん (ワッチョイ 6a28-U8JP)
垢版 |
2021/07/05(月) 18:44:04.54ID:McNFcEhi0
1つのプロシージャーのend sub まで実行した後に
次のプローシージャーを実行させる方法は無いのでしょうか?
エンドサブ前に名前を書いて連続実行させると動かなくなりますが
バラで実行すると動くので困っています。
0729デフォルトの名無しさん (ワッチョイ 4ae6-Q0eP)
垢版 |
2021/07/05(月) 19:19:52.21ID:qID1xccv0
なんで動かなくなるのかを解決すればいいよ
0737デフォルトの名無しさん (ワッチョイ 1e8e-p275)
垢版 |
2021/07/05(月) 23:17:00.62ID:6G6vX7bI0
>>727
お前が馬鹿なのが原因
0739デフォルトの名無しさん (ワッチョイ 6a28-U8JP)
垢版 |
2021/07/06(火) 03:36:01.92ID:e+qqBa+z0
>728
>729
>730
>731
>732
>733
>734
>735
>736
>737
>738
なるほど>728のような書き方の方がよいのですね
色々とありがとうございます、オブジェクトの解放あたりが問題なのでしょうが
考えてみればプロシージャをコールするのではなく末尾に全コードべた書きすると問題の切り分けが出来そうな気しました
0743デフォルトの名無しさん (オイコラミネオ MM96-KsMx)
垢版 |
2021/07/06(火) 16:58:11.44ID:yjz4z56cM
そう言えば昔適当なプロシージャをexit subで中断させると、何故か呼び出し元のモードレスフォームが解放されて処理が止まる事あったな
原因は結局分からなかったが、デフォルトインスタンス(load関数でいきなり読み込める方)じゃなくてnew演算子でインスタンス化したら発生しなくなったよ
0750デフォルトの名無しさん (スップ Sd4a-kf3V)
垢版 |
2021/07/07(水) 13:04:02.71ID:op0P/4Eid
そんな原始的な運用しなくても、Excelのマクロはグループポリシーで禁止できる
システム部の配布した業務用マクロは許可して自作マクロだけ禁止も可能
0753デフォルトの名無しさん (テテンテンテン MMc6-pO/B)
垢版 |
2021/07/07(水) 13:41:58.29ID:iAEvhndTM
saveasで保存したブックを指定する方法はありますか?

元ブックをsaveasで保存して、保存したブックの不要箇所を削除して閉じるの動作を元ファイルが終了するまで繰り返すマクロを作れないか試してます。
saveasで作ったブックを指定する術がわからず、つんでおります。
0755デフォルトの名無しさん (ササクッテロラ Sp23-JC2j)
垢版 |
2021/07/07(水) 16:21:53.05ID:qi2N7sEUp
初めて質問させていただきます。

画像(.jpg)と数値のデータ(.csv)を別々に保存しているのですが、ひとつのExcelファイルにまとめたいです。

csvファイルの右隣に対応するjpgファイルを貼り付けることが出来るコードを教えて頂きたいです。

出来れば繰り返しできるようにしたいのでよろしくお願いします。
0756デフォルトの名無しさん (ワッチョイ 035f-yPUF)
垢版 |
2021/07/07(水) 17:18:23.23ID:OWcilrjN0
>>755
要件が不明確

細かく質問してもいいけど
最終的にExcel上でどういう表示になってほしいのか、サンプルデータで作成して
ここにスクリーンショット貼ってもらったほうが多分早い
0758デフォルトの名無しさん (ワッチョイ 1e8e-p275)
垢版 |
2021/07/07(水) 17:56:43.90ID:2yFOFfGi0
いつものあいつ
0761デフォルトの名無しさん (JP 0Haa-5wx8)
垢版 |
2021/07/07(水) 19:01:59.33ID:i3XGJ0gkH
このスレでいうのも何だけど、VBAってそんなにありがたいかな? 個人的には、できる限りVBAを使わないというのは、特に企業では合理的な選択肢だと思うけど。
どうしても必要でVBAを使うことはあるけれど、VBAを使った時点でそのExcelファイルは二等市民的というか、もはやまとも扱いは受けられないものだと思っている。社外的にマクロ付きファイルの受け渡しをするなんてまともな会社ならありえないし、ちょっと大きめの会社なら部署間でもでもそうでしょ。
MicrosoftがExcel本体の機能を強化して、できるだけVBAを使う機会を減らそうとしているのは基本的に正当な方向性だと思うけどなぁ……。
0769デフォルトの名無しさん (ワッチョイ 1eb0-dQ0P)
垢版 |
2021/07/07(水) 20:39:17.25ID:qv0y4MQe0
>>761
マクロの入ったファイル自体を受け渡すのではなくて、マクロを使って動的生成されたxlsxファイルを受け渡すような用途にも使ってるよ。

Officeのマクロだからといって文書ファイルの生成に限らず、自分が普段パソコンを使って行っている繰り返し作業等もExcelマクロでツール化できるのがいいところ。
C#等でツール作成してもいいけど、Excelのほうが手軽なことが多い。
0772デフォルトの名無しさん (ワッチョイ 9ffd-gsoK)
垢版 |
2021/07/07(水) 20:50:38.88ID:zI2mRysE0
>>770
どうすんだろね?引継ぎ先もないからメンテナンスされないまま使い続けて使い物にならなくなってから大慌てするんかね?いなくなってから呼び出されんのだけは勘弁して欲しいんだがなぁ
0774デフォルトの名無しさん (ワッチョイ 035f-yPUF)
垢版 |
2021/07/07(水) 21:32:42.95ID:OWcilrjN0
事務員のオレオレマクロはともかく情シスがVBAでツール作ってるとか信じられん
テストとか保守とかどうしてるのさ
0776デフォルトの名無しさん (ワッチョイ 1e10-ouym)
垢版 |
2021/07/07(水) 21:59:27.47ID:szgx/h0V0
ウチの一部上場企業のソレだわ
データをプリント、その数値を各フォーマットへ手入力とかザラにあるわ
VBAで入力&自動化ツールをいつくか作って感謝されたが、元データや出力の仕様変更があれば手直ししなければいけない

IT途上国だと心底思うわ
0779デフォルトの名無しさん (ワッチョイ ab2c-Ijop)
垢版 |
2021/07/07(水) 22:49:08.74ID:bUHYGk470
>>755
Ruby では、CSV で、配列同士を連結すると、

require 'csv'

input_1 = <<"EOT"
1,1.1
2,2.2
EOT

input_2 = <<"EOT"
a.jpg
b.jpg
EOT

# 2次元配列
ary_1 = CSV.parse( input_1 )
ary_2 = CSV.parse( input_2 )

# 最初の配列に、後ろの配列を連結する
ary_1.zip( ary_2 ).each do |one, two|
one.push two[ 0 ]
end

# 2次元配列を、CSV 文字列に変換する
csv_str = ary_1.map( &:to_csv ).join
print csv_str

出力
1,1.1,a.jpg
2,2.2,b.jpg
0780デフォルトの名無しさん (ワッチョイ 1e8e-p275)
垢版 |
2021/07/07(水) 23:24:13.32ID:2yFOFfGi0
>>779
いつものあいつ=Ruby馬鹿
0782デフォルトの名無しさん (テテンテンテン MMc6-Gp+e)
垢版 |
2021/07/07(水) 23:40:11.63ID:gLv/ZatbM
うちは逆に、明らかにVBA程度で十分な業務も何でもかんでもITベンダーに投げてシステム化された結果身動き取れなくなってるわ
ちょっと業務を変えようと思えばすぐSIer案件だ
それなりに金持ちな会社なのと商売の特性上IT投資が通りやすいのとで、ジャブジャブ金が出る
0785デフォルトの名無しさん (アウアウクー MM63-B5dC)
垢版 |
2021/07/08(木) 00:17:04.27ID:GKH05+tfM
あるシステムをVBAで作ることを提案したら却下されて外部に投げる事になった

他部署で似たシステムをVBAで運用してたらエクセルファイルがクラッシュして惨事になったかららしい
VBAでもプロが作ってたらこんな事にはならなかったんじゃないかな多分
0786デフォルトの名無しさん (ワッチョイ 73da-Is9n)
垢版 |
2021/07/08(木) 00:17:34.22ID:/77nN11b0
ウチの職場の課長はとにかくExcelの高い技術もっているヤツの評価を上げてくる
複雑な表作れるヤツは査定上がりまくり
なぜか社員同士で技術を競わせる。。。
これ変わった職場なんかな?
0794デフォルトの名無しさん (JP 0Hc7-kf3V)
垢版 |
2021/07/08(木) 07:47:16.89ID:1vTjU6YoH
ならんよ
コーディングの仕事がコンスタントに発生するわけないし、コーディングルールや担当者が変わった時の引き継ぎの方法など、ルール作りには莫大なコストがかかる
プログラムが書ける人だけいてもしょうがないんだよ
0797デフォルトの名無しさん (オイコラミネオ MM0b-LBvV)
垢版 |
2021/07/08(木) 08:18:34.75ID:1RdbXluhM
別にVBAだけやらせる訳でもないし
規模にもよるんだろうけど
外部に頼んで操作性最悪のゴミプログラム作られるよりはマシだと思うけどな
ゴミプログラムでずっと非効率的な入力してるやつがいてゾッとした
0799デフォルトの名無しさん (ラクッペペ MMc6-Q0eP)
垢版 |
2021/07/08(木) 09:42:40.08ID:dQrLp+p1M
で、いつもの人みたいなのが入社してくる
0803デフォルトの名無しさん (ラクッペペ MMc6-Q0eP)
垢版 |
2021/07/08(木) 14:11:06.03ID:dQrLp+p1M
毎日要求する仕様が変わっていくからそれに対応するには た く さ ん いるよ
0805デフォルトの名無しさん (ワッチョイ 6a28-U8JP)
垢版 |
2021/07/08(木) 14:43:27.68ID:n1pxwHJS0
特定のセルへのリンクは番地指定ですが、この場合にリンク先の情報をソートしてしまうと全部ずれてしまい、
出鱈目なリンクになってしまいますが
ソートしてもリンクが保たれるように番地以外で指定できる方法は無いのでしょうか?
0812デフォルトの名無しさん (ワッチョイ 035f-sguK)
垢版 |
2021/07/08(木) 20:58:45.45ID:RI/EjZKO0
教えて下さい。
名前の定義を設定したセルの値を、他のブックからセル指定ではなく定義名で参照して変数に格納したいのですが、どのような構文になりますか?
0815デフォルトの名無しさん (ワッチョイ 234f-mpRV)
垢版 |
2021/07/09(金) 00:24:58.21ID:7Ablxh2G0
>>814
もちろん上下のバラつきはあるだろうけどそんなもん。
もし驚くほど自分の貰ってる給料が安いならVBAの中でもそれだけ簡単な作業なのか
あるいはそれだけ中抜きが発生していると言うことだと思うよ。
0820デフォルトの名無しさん (ワッチョイ 234f-mpRV)
垢版 |
2021/07/09(金) 02:04:09.67ID:7Ablxh2G0
そうかな?
Javascriptも出来てASP.NetのVB.Net、C#、
普通にCやC++、Pythonやアセンブラが経歴書に載ってたとしても俺ならVBAも書いとくよ。
EXCELやそのVBAはUTやITとかでデータの整合性を確認するのに必要不可欠だから書いてあるとそういうのも効率よく手っ取り早くやれると判断されるからね。
0822デフォルトの名無しさん (ワッチョイ d501-5Sm/)
垢版 |
2021/07/09(金) 03:38:16.92ID:X/VBsNsh0
なんだろうな
お前にとってテスト結果をエクセルにまとめるのは技術力の一つだと思ってるのかもしれないけど、
エクセルに関数打ち込んだり簡単なマクロ操作したりなんて
その場で適当にググって作れるものという判断です。

仮にそれをVBAとかを駆使して美しく作っても
「おえかきのセンスがあるひとだ」「こんなのに凝ってヒマなんだな」って扱いです。
0824デフォルトの名無しさん (ワッチョイ 234f-mpRV)
垢版 |
2021/07/09(金) 05:10:19.31ID:7Ablxh2G0
>>822
大丈夫です。
適当にその場凌ぎにググって書いて動きゃ後はどうでもいいと思ってる人のソースはVBAに限らず一時が万事そんな感じです。

そして適当な仕事しか出来ないので給料も安く同じ現場で長続きしません。3ヶ月から半年で退場させられてしまいます。
プロパーであった場合は周りから使えない人というレッテルを貼られて辞めたり左遷されたりします。

どうでしょう。あなたもそういった考えを捨ててもう一歩先に進んでみては?

いつものRubyの人か他のどの言語やってる人か分かりませんが、わざわざ他の言語のスレに来てその言語を見下したような発言をしてマウントをとったような気になる惨めな心境ではなく、本来の自分の言語のスレでマウントが取れるようになるかも知れませんよ。

もっとも、そこまで行けば精神的に余裕が生まれるのでマウントを取ろうとも思わなくなるかも知れません。
0825デフォルトの名無しさん (テテンテンテン MMcb-u7yY)
垢版 |
2021/07/09(金) 09:05:08.09ID:lamjRmUpM
俺は>>822に同意するわ
俺の経験としても、少なくとも今の会社と前職ではVBAスキルについてはだいたい>>822のような認識だったよ
>>824の言いたいこともわからないでもないが、傍から見りゃそれこそ突然一方的な人格攻撃を仕掛けてマウント取ろうとしてるようにしか見えるから気を付けたほうがいいぞ
0829デフォルトの名無しさん (ブーイモ MMc9-u7yY)
垢版 |
2021/07/09(金) 16:40:49.31ID:lAEJntQuM
そうかなあ
Webから適当にコピペして使うのって、ある程度ちゃんとしたプログラミングのバックグラウンドがないと結構難しいと思うよ
本当に能力の低い人はググってもそれを使いこなすことができず、サンプルを渡してやらないと自分で何も作れない
0833デフォルトの名無しさん (ワッチョイ d501-5Sm/)
垢版 |
2021/07/09(金) 23:25:55.24ID:X/VBsNsh0
>>832
どういたしまして

ただ、この手の質問が出るって事は普段は
Set MyRange = Range("名前")
みたいに省略してたりする?

上記は勝手に ActiveSheet.Range("名前") だと解釈されるので、
出来るだけオブジェクト修飾子を省略せずに書いた方が思わぬトラブルが減るよ。
毎回書くのが億劫な場合は次のようにすると楽。

' 事前に変数に参照先を割り当てる
Dim MainSheet1 As WorkSheet
Set MainSheet1 = WorkBooks("ブック名").WorkSheets("シート名")

' プロパティで定義する
Private Property Get MainSheet2() As MySheet
Set MainSheet2 = WorkBooks("ブック名").WorkSheets("シート名")
End Property

滅多にないけど、複数のエクセルを参照してる場合は
どのエクセルかを示すApplicationオブジェクトからの参照も必要になる

Set MainSheet1 = MainApplication.WorkBooks("ブック名").WorkSheets("シート名")
0834デフォルトの名無しさん (ワッチョイ a52f-xNKK)
垢版 |
2021/07/10(土) 02:33:21.25ID:1/iYafxq0
>>833
>上記は勝手に ActiveSheet.Range("名前") だと解釈されるので
これもよくある勘違いだが間違ってるぞ
シートモジュールのコードだと未修飾のRangeはそのシートだ
なのでActiveSheetを期待して省略してもそうならないというバグのもとになる

まあ、シート指定省略するなってことだが
0848デフォルトの名無しさん (スップ Sd43-eqQv)
垢版 |
2021/07/13(火) 19:50:44.83ID:V9rD1NRmd
質問スレなのは承知で愚痴りつつ質問
長文すまん

無意味な事務作業をなくしたく、
Excel初心者から必死で勉強し、中級くらいまでVBAを使えるようになった
おかげで100時間級の作業を5時間以内に終わらせることができるようになったよ
ついでにピボットテーブルも使えない同僚のために自動化したりもした

組織のためになったと思っていたんだよ

ところが上司と同僚が変わり全くExcel知識がなく、マクロは愚かvlookupやピボットテーブルも属人化という始末
マクロが動くときは便利に使うくせに、データを壊して動かなくなったら急に切れる

俺が悪という風向きになってきた

ちなみに今期の部のミッションにはDX化がある

もうこれまで作ってきたマクロは共有せずに自分だけで使った方がいいかな?
0850デフォルトの名無しさん (ワッチョイ 0501-yCT/)
垢版 |
2021/07/13(火) 20:00:22.01ID:t+hTMRm+0
よくvbaなんて誰でもできるって言う風潮あるけど幻想だよね
楽になる道があるのにそこに行かないで賽の河原で石を積む作業を延々してるやつなんて腐るほど居る
0851デフォルトの名無しさん (スップ Sd43-eqQv)
垢版 |
2021/07/13(火) 20:06:08.68ID:V9rD1NRmd
>>849-850

回答ありがとう
ピボットテーブルとvlookupなんてググって10分もすりゃ覚えられるのに
なんでやらないんだろう
ちなみにそれらのマニュアルも置いてあるが誰も読まない
苦手意識の強い人はもうヒステリーになっちゃうよね

ブラックボックス化させたくないので撤収させよう

恐らくあいつらは電卓まで退化する
0853デフォルトの名無しさん (アウアウエー Sa13-BY8P)
垢版 |
2021/07/13(火) 20:11:27.84ID:DIJuY5g3a
苦手な人は、ワンクリックに魂込めて仕事してる気になってるタイプが多いんだよ。
自動化で楽するなんてもってのほかだってねw
なので、できなくてもやってもらいたいと頼んでくる人に限ってます。
0855848 (スップ Sd43-eqQv)
垢版 |
2021/07/13(火) 20:19:45.88ID:V9rD1NRmd
依頼ベースで処理していけばいいのかな?
とりあえず撤収して様子見かな?
0856デフォルトの名無しさん (アウアウエー Sa13-BY8P)
垢版 |
2021/07/13(火) 20:27:54.15ID:DIJuY5g3a
>>855
あなたの職場での役割が自動化でなくて、できる力があるが故のことならそれでいいのでは?
こっちからわざわざ「やってあげようか?」なんて言う必要もないし、烏滸がましい気もしますし。
あなたが社内改善とかのそういったチームに所属するなら話は別ですが。
0857848 (スップ Sd43-eqQv)
垢版 |
2021/07/13(火) 20:46:27.58ID:V9rD1NRmd
>>856
総務なので社内改善の要素はあります
特にDX推進を求められています

職場での役割は、自動化というかPC全般、データを与えておけばやたら早く処理をするという扱いの作業者です
また、管理表等のマスタの作成・管理もしています
結構な大切な仕事が多く、自惚れではなくルーチンワークを裏で牛耳っている扱いとなります
ただそれが課長が気に食わないようです

できればリモート環境を維持したいので牛耳りポジションでいたいのですが、なかなか調整が難しいです
0859デフォルトの名無しさん (ワッチョイ 15da-6KIo)
垢版 |
2021/07/13(火) 20:55:02.58ID:GMVrqor30
ホントそう、VBAなんて楽勝なはずと言っているヤツは多分VBAやった事ないか余程の天才かのどちらかだね。
ひろゆき信者とかウザイは本気で楽勝と思い込んでるし
0862デフォルトの名無しさん (ワッチョイ cb8e-Fz9b)
垢版 |
2021/07/13(火) 22:41:25.14ID:RRIvtpXL0
VBA程度でイキってるアホがいるな
0865848 (スップ Sd43-eqQv)
垢版 |
2021/07/13(火) 23:12:18.82ID:V9rD1NRmd
総務だと他の言語の開発環境を入れてもらえないし、
いれたところでさらなる属人化が待っているのでVBAがちょうどいいですね

中小だと特にキントーン等のツールも導入してもらえないため
Excelが主戦場になります
RPAやローコードツールが使えるなら、部署をかえてそちらの管理に回りたいです

自分もイキってるように見えたら申し訳ありませんが
実力がないのは自負しています

ただvlookupとピボットテーブルが属人化といわれ全部嫌になっちゃった感じです
0866デフォルトの名無しさん (ワッチョイ d501-5Sm/)
垢版 |
2021/07/13(火) 23:16:28.28ID:Cuc65Kjp0
>>859
マジで一度VBAから離れて別言語習得した方がいいよ
VBAに感じてた「難しい」が実は単に機能が貧弱過ぎて面倒くさかっただけって気づくから

同じスクリプト言語のJavaScript(TypeScript)かPythonがお勧め
0867デフォルトの名無しさん (ワッチョイ 355f-KTQJ)
垢版 |
2021/07/13(火) 23:25:31.12ID:+nKEQrBd0
> また、管理表等のマスタの作成・管理もしています
> 結構な大切な仕事が多く、自惚れではなくルーチンワークを裏で牛耳っている扱いとなります

自分も似たような境遇になったけど、知識が増えるにつれVBAで運用し続けることに危機感を覚えてC#に移行した
リファクタリングしたくてもロクにツールがないモノの面倒を見続けるのは怖かったから
(Rubberduckがあるけど、無理やりVBEを拡張しているので挙動が怪しく断念)

懸念材料の開発環境についてはVSCodeとGitさえ許可してもらえればかなり楽かつ安全に運用できる
どっちも無料だしw
0870デフォルトの名無しさん (ワッチョイ 0501-yCT/)
垢版 |
2021/07/13(火) 23:45:02.39ID:t+hTMRm+0
プログラマーなら周りは同レベル以上に囲まれてるだろうけど
vba使うような環境だとスキル差凄いだろうね
関数すら使えないやつとvbaで作業時間20分の1にするようなやつが同じ場所で働いたりするし
そりゃ見下すなと言う方が無理だろ
というかまじで周りは少しはエクセル勉強してほしい
0871デフォルトの名無しさん (ワッチョイ d501-5Sm/)
垢版 |
2021/07/13(火) 23:51:23.29ID:Cuc65Kjp0
>>865
自分がそれまでの習慣と違うことをやる場合、
多かれ少なかれ「必ずウザがられる」という認識を持った方がいい。

なので機能性よりも「安心してもらう、喜んでもらう」事を最優先にした方がいいよ。これはマジで重要。
例えば処理が遅くなっても進捗を細かく出すとか、
選択肢や設定項目は事前に打ち合わせして極力減らす(固定値にする)とか、
背景のイラストを自由に変えられるとか。

後、自分の会社が良かっただけかもしれないが
上司の仕事が自動化できるマクロを渡してバグにイライラされた事はあっても激怒されたことはない。

勤務外で作ったとしても会社で使う以上、
提案して承認してもらうって過程を踏む(筋を通す)ことは必要なのにソレを忘れてるか、
「無知な上司に作ってやった」目線が態度に出てる部分もあるんじゃないかな。
0873デフォルトの名無しさん (ワッチョイ d501-5Sm/)
垢版 |
2021/07/14(水) 00:10:20.05ID:aX4ktu7K0
>>870
だからって本当に見下しちゃったら関係は開く一方だろ
自分がエクセルを勉強したのは偶然興味を持っただけって思わないと

「勉強しろバカ!」って態度じゃ自分のストレスは発散出来ても相手は動かんよ
「マクロって役に立つだけじゃなくて作ってて楽しい」って事を伝える方法を考えた方が未来があると思う。

例えば最近任天堂からゲーム作るゲーム(?)が出たけど、
あれでちょっとプログラミングに興味持った人が周りにいたよ。
それ以前にもマリメのオートマリオで自動化やってみたい人もいたし。
0874デフォルトの名無しさん (ワッチョイ 0501-yCT/)
垢版 |
2021/07/14(水) 00:17:44.70ID:/wh1bbv50
俺は質問主じゃないし態度にはだしてないつもりだけどね
まあ今更勉強するよう働きかけても無駄な努力で終わりそうだから俺は何も言ってないよ
どうせやらんでしょうし出来ないよあいつらには
0875デフォルトの名無しさん (ワッチョイ cb8e-Fz9b)
垢版 |
2021/07/14(水) 00:39:42.41ID:AI5xLs1a0
>>865
井の中の蛙の典型例だな
0878デフォルトの名無しさん (ワッチョイ 852c-KGMb)
垢版 |
2021/07/14(水) 06:57:06.21ID:w6MqWojc0
会社・社会などは基本、変えたい人・変えたくない人の戦い。
だから、ウェブ系では必ず、適材適所と言う

ウェブ系・ファイル操作・文字列処理なら、Ruby。
AI・機械学習なら、Python・Julia。
マイクロサービスなら、Go。
関数型なら、Elixir

適材適所ではない場合は、保守できなくなる

勉強できない人に勉強させて、体力がない人に力仕事をさせるとか、
マッチング不一致

ツール・手段を先に決めたら、ダメ。
Excel で何でもしない事

ファイル操作・文字列処理は、Rubyを使うべき。
Excelでセル操作をしないで、ファイル操作・文字列処理をする香具師が多い

目的が重要。
手段を正当化してはならない
0879デフォルトの名無しさん (ワッチョイ 234f-mpRV)
垢版 |
2021/07/14(水) 07:26:55.46ID:NeBOx1NO0
まぁ上司はプログラムを組むためにいるんじゃなくて旗降って仕事の進め方を決めてみんなを引っ張って行く立場だからある程度仕方ない。

今後取って行く方法はいくつかあるように思えるけど、パッと思いつく方法をいくつか。

・余計なことはせずに上司の言われたままの作業を行う。ある意味、頭使わないから楽。ツールは徹頭徹尾自分の作業の効率化のためのみに作成する。

・ツールはシートやオブジェクトで触って良いところを除きガッチガチにロックして、入力チェックもガッチガチに行う。もちろんVBEもパスワードを掛けて自分以外は触れないようにする。代わりに操作マニュアルはキチンと作る。
いくら上司が出来ない人と言っても使う方法が分からなければ聞いてくるだろうし、使い辛ければ指摘もしてくる筈。それに対応すればVBAで作ったツールも認められるようになると思われる。

・他の人が便利に使っている実績を更に上の上司にアピールし、この上司が使えない人だというレッテルをそこはかとなく周りの人達にはらせてしまう。
明らかに上に立つのに知識が不足していて会社の発展に妨げになると感じた場合、かつ、業務的な知識が自分の方が遥か上を行ってると見てとれた場合、その上司はあなたにとって不必要どころか害悪にしかならない。よって、常にイニシアチブを自分が握り、その上司には何もさせない方向に持って行き、最終的には部署から消えて頂く方向に持っていく。
ただしこの方法は業務、プログラムの知識が自分の方が遥かに上と見てとれる場合で、かつ自分の立場が危うくならない場合に限られる。
0884848 (スップ Sd43-eqQv)
垢版 |
2021/07/14(水) 11:18:10.86ID:2JymGIHrd
皆さんレスありがとう
長文ですがすいません
>>867
現職では無双しているけど、仕事を専門職に変えたら恐らく底辺だとおもうので他言語も学びたいですね。
C#はUNityで勉強しておりあとpythonで簡単な機械学習ができますがもっと学んで便利にしたいです
Gitは便利そうだよね

>>871
ウザがられるというのは今回のではじめて認識した怖いものだ。気を付けるよ
総務は自分以外新しく入ってきた人たちなのでそれまでの習慣は自分が知っている
これまでの上司には確認を取って作っていたし、皆切れずに使ってくれていた。残業が減ったと喜んでくれた

だが今の環境になりウザあられたあげくExcelデータの焼き畑農業が始まった
特にこだわりはないので合わせるし修正もしているが石器時代に戻りつつある

使いやすい工夫はしておらずへっぽこプログラマーとして学んだ方がいい内容だと思うので参考にさせてもらう

>>872
当時総務は自分以外悪夢のように残業していたので(電卓、手書き、手入力当たり前)を見かねてVBAの勉強を始めた
>>873
見下しているわけではないが、ピボットテーブルとvlookupは知っててほしい
おっしゃるとおり、自分は結構Excelが好きで学んでても苦にならない運のよい人でしかない

>>879
改善案ありがとう
@は上司に指示された内容を自分だけのマクロで行おうと思っている
Aの言う通り属人化してしまうので嫌がられるかもしれません
B業務知識はほぼほぼ自分にしかないので、上司をExcel以外でもフォローすることは多いのですが気に食わないようです
自動化作業撤収を上司の上司に相談してみようかと思っています
0885デフォルトの名無しさん (ワッチョイ edfd-0Aiv)
垢版 |
2021/07/14(水) 11:18:28.21ID:8Jubokuq0
詳しくないおじさん達はマニュアルを読まずに適当に使って思い通りにならないと生成されるファイルが提出必須のものであっても使わないって選択肢を選ぶからどんなに理解力のないアホでも分かるUIって感じにしないといけない
0887848 (スップ Sd43-eqQv)
垢版 |
2021/07/14(水) 11:57:16.76ID:2JymGIHrd
>>875
井の中の蛙は間違ってはいないとは思う
正直自分にはプログラマーの才能はなく
エンジニア界隈に行くことは難しいと思う
恐らくVBA特化の部署等ができたら足元にも及ばんだろうし
0888878 (ワッチョイ 852c-KGMb)
垢版 |
2021/07/14(水) 12:01:15.84ID:w6MqWojc0
会社・社会などは基本、変えたい人・変えたくない人の戦い。
結局、自分の人生の選択

ウェブ系では必ず、適材適所。
Linux, Dokcker, AWS と、Ruby とか適材適所の各言語。
システムと言語のプロ。SE・プログラマー

一方、Excel はSE・プログラマーじゃなくて、一般職。
一般職なのに、Excelでシステム構築運用をしようとする

Linux, Dokcker, AWS, Rubyを勉強しろって、いくら言ってもしない。
むしろ、Excelできる人を雇って、関数を社内で共有して、システム構築運用しようとする

結局、考え方の相違。その会社の選択。
いくら注意しても、Excelから離れないw

手段が目的化してる。
目的から、ツール・手段を決めていない

システム構築運用のプロじゃないから。
一般職が、システムを決めているから

ウェブ系では適材適所で、言語がコロコロ変わる。
プロが決めているから
0889デフォルトの名無しさん (ブーイモ MMeb-u7yY)
垢版 |
2021/07/14(水) 12:17:40.60ID:gix7WKJqM
Web系の奴は業務設計できないよ
まあちゃんと教育したら自称VBAマスターよりは使えるかもしれないけど、大抵その前に辞めちゃうんだよね
このRu○y基地外は仕事したことないから知らないんだろうけど、Web系ってほとんどは受託で作るだけを担当してて「手段の目的化」の極致だぞ
0896デフォルトの名無しさん (スププ Sd43-xv5B)
垢版 |
2021/07/14(水) 19:17:25.11ID:Yxb7t7CDd
上司の理解があればいいが、そうでない場合自分の仕事のみVBAで効率化するのがいい
他の人が数時間かけるところ数分で終わらせてあとは仕事しているフリしときゃいいんだ
0897848 (スップ Sd43-eqQv)
垢版 |
2021/07/14(水) 19:46:57.12ID:2JymGIHrd
皆さん真摯に話を聞いてくれてありがとう
>>896
なんか自分が思い上がっていただけな気がしてきたよ
承認欲求も少なからずあったと思う
自動化は自分で完結させるとする
0898878 (ワッチョイ 852c-KGMb)
垢版 |
2021/07/15(木) 01:05:38.33ID:gFOIdhYR0
YouTube で有名な、雑食系エンジニア・KENTA のサロンでは、

基本情報処理資格、Rails, Linux, Docker Compose, Node.js(Webpack, Babel), Bootstrap
VSCode(Remote Container, WSL2 ならRemote WSL), Heroku, CircleCI、データベース

今までは、Docker Compose までが初心者用コースだったが、
最近は誰でも、Docker出来るから、
AWS Fargate, Terraform, React, Vue.js, TypeScript もやる

だから、AWSのくろかわこうへいのサロンにも、入る必要がある。
今では、1年の未経験者が、10年以上のプロよりも技術力が上になってる!

Railsプログラマーは、これが最低ライン

一方、一般職なんて、20年ぐらい資格に受からない爺ばっかり。
それで、プログラマー気取りw

爺らは、Linux, AWSのシステムを知らねえだろ。
新技術とか、社会で何が起こっているかすら、知らない・興味ないw
0902デフォルトの名無しさん (ワッチョイ 355f-KTQJ)
垢版 |
2021/07/15(木) 07:20:55.55ID:wLiP6aYi0
たった1年でそんだけ色んなモンに手を出すってどういうカリキュラムなんですかね
それぞれ初級レベルの説明して、
理解できなくてもチュートリアル通りに組めば完成する何か(Web系ならTwitterクローンとか)作らされて終わりかな
0908デフォルトの名無しさん (ワッチョイ cb61-s5Xk)
垢版 |
2021/07/15(木) 10:50:31.44ID:Ctzs+rjN0
みんな、組織の能力引き下げで、
悩んでんのね・・・

昔、普及学の本読んだが、
あらたな商品の市場普及での、
アーリーアダプターだとか、
口コミの火付け役なエージェントとかの話で、
一時的な苦痛と努力を必要とする能力引き下げには
あまり参考にならなかった。

啓蒙活動なのだろうか?
業務命令でないと動かない?
0912デフォルトの名無しさん (ワッチョイ d501-5Sm/)
垢版 |
2021/07/15(木) 12:58:40.13ID:LPvttfAn0
何事もそうだけど慣れた直後が一番イキっちゃう時期なんだよ
入り口に過ぎないのに分かった気になっちゃう奴

VBAを使いこなせるようになった時なんて丁度プログラマのそれだから、
VBAツカイガーっていうよりも誰しもが通る思春期に合致してるだけよ
0914デフォルトの名無しさん (ブーイモ MMeb-0sKs)
垢版 |
2021/07/15(木) 13:36:52.09ID:g4jz48AHM
どんな企業でも優秀な人材だけを採用するのは不可能だから、一番能力の低い社員にレベルを合わせてあげないと業務が回っていかなくなる
これがレベルの引き下げの第一段階

一般の消費者はもっとバカだから、どんなバカにも理解できる商品を開発してやらないと物が売れなくて利益が上がらなくなる
これがレベルの引き下げの第二段階
0915デフォルトの名無しさん (オイコラミネオ MM51-yCT/)
垢版 |
2021/07/15(木) 14:56:26.01ID:SeNpGJ6QM
業務が回らんことはないだろ

できる人間がvbaなり関数なり使ってひな形作ってやって、関数もできない人間はそのセルにデータ入力する仕事だけするのが最適解だろ
できない人間に合わせて全員そろばんしろなんてのは一番非効率
0916デフォルトの名無しさん (ブーイモ MM99-u7yY)
垢版 |
2021/07/15(木) 15:17:06.99ID:53A1iuauM
>>915
ぶっちゃけそういう思考は最終的にはできない人間はソリティアやってろという結論にしかならんよ
VBAで劇的に効率改善できるような程度の職場の事務作業なんて、真面目にシステム化していけばほとんどは無意味になる
0918デフォルトの名無しさん (オイコラミネオ MM51-yCT/)
垢版 |
2021/07/15(木) 16:08:27.21ID:SeNpGJ6QM
>>916
あんたのところはそうなのかも知れんが
こっちは元がアナログデータだしデジタルに直す際に必ず人間が打つ必要があるから
ソリティアやってろにはならんよ
どれだけ効率化しても
データうつ人間は絶対必要
0919デフォルトの名無しさん (ワッチョイ 234f-mpRV)
垢版 |
2021/07/15(木) 17:59:40.35ID:Z5an78j40
宜しいんじゃないでしょうか?
イキったりムカついた奴がそれを論理的に叩き潰そうとしたり
更にそれにムカツいた奴が否定してバトルになって
負けず嫌いで勉強して強くなってく。

ここってそんなスレだったじゃない。
0921848 (スップ Sd43-eqQv)
垢版 |
2021/07/15(木) 19:54:10.93ID:3M/0J/o1d
報告です

本日淡々と自動化廃止作業をはじめ、これまでのデータをvlookup以下の知識で扱えるものに変えました
廃止メールをおくりましたが返信がないため仕事を終えました
結構どうでもいいことなのかもしれませんね
悪い方向へ進んだらそれまでだと考えます
0929848 (スップ Sd43-eqQv)
垢版 |
2021/07/15(木) 21:07:40.33ID:3M/0J/o1d
固定残業なので残業代は残業をいっぱいしないとでません
残業は一切したくない派です

>>926
さわりの相談メールを送ったのですが、メールをなかなかみない上司なので
イラついて実行してしまいました
会社員としてはまずいですよね
ちょっと後悔しています
0937デフォルトの名無しさん (ワッチョイ 858e-Fz9b)
垢版 |
2021/07/15(木) 23:11:19.87ID:nKlSAfaq0
>>921
こういう馬鹿がメンテ不可能な代物を作って混乱を招く
だからVBAやマクロ禁止の会社が出てくる
0938デフォルトの名無しさん (JP 0H99-0sKs)
垢版 |
2021/07/15(木) 23:22:13.16ID:RoqoC5ybH
うちが悲惨なのは言われなくてもわかってるが、気付いてなさそうなやつを見かけたから指摘したった
それに、今がプライベートな時間だとは一言も言ってない
0945デフォルトの名無しさん (ワッチョイ 558e-6DSo)
垢版 |
2021/07/16(金) 00:15:53.05ID:Q3QWpR9c0
俺様スゲーだろーという独りよがりのクズプログラムを作って、混乱を引き起こすだけの代物でしかないという現実に気付かず得意気に自慢する馬鹿
0948デフォルトの名無しさん (ワッチョイ 558e-6DSo)
垢版 |
2021/07/16(金) 00:59:23.32ID:Q3QWpR9c0
井の中の蛙が作った馬鹿なプログラムのせいで業務が止まることもある
0955デフォルトの名無しさん (ワッチョイ b6da-kbnc)
垢版 |
2021/07/16(金) 10:22:32.95ID:QSZRM/el0
問題があるなら上司にまず相談だろ
修正するにしても変更箇所の差分とって関連する部分の洗い出し
動作確認して問題がないことの説明、いつから運用するかを関係者に連絡
他にもいろいろやることあんだろ
0958デフォルトの名無しさん (ワッチョイ 8963-Lyc+)
垢版 |
2021/07/16(金) 14:46:58.32ID:fn0ZIWtp0
作ったものがひとつ残らず生かされてるなら
もう会社は運営まで自動化されててもおかしくないが
積み木崩しのように
なんども同じことをしている
そうしないと人をやとえず社会不満がたまる
0959デフォルトの名無しさん (ワッチョイ 8963-Lyc+)
垢版 |
2021/07/16(金) 14:47:19.54ID:fn0ZIWtp0
最終的に従業員を遺伝的に淘汰するのが目的なので
そこをわかってて従業員をいじめる上司だけがいい目を見れる

だから下っ端が思わぬ成果なんか上げたら逆に袋叩きにされる
愚民支配と淘汰という本来の目的が達成しづらくなる
0961デフォルトの名無しさん (オイコラミネオ MMad-gOEr)
垢版 |
2021/07/16(金) 14:53:56.70ID:SNjhBQmHM
運営まで自動化とか流石にアホか
どこぞのAIニュースに洗脳されすぎ
グーグルアシスタントは相変わらずアホ丸出しの返答しかしないし
グーグルのスーパーパワーを持ってしても自動翻訳はズタボロ
自動字幕も少し雑音が混じったり発音がおかしいととたんに崩れる
0962デフォルトの名無しさん (ブーイモ MMa1-kbnc)
垢版 |
2021/07/16(金) 15:05:00.33ID:ckRo9fUcM
そもそも出世に必要なのは仕事の能力ではなく根回しだと気付いたやつからどんどん辞めていく
能力のあるやつは出世を待つよりさっさと転職した方が早く給料が上がる
0964デフォルトの名無しさん (エムゾネ FFfa-E0YB)
垢版 |
2021/07/16(金) 16:27:09.62ID:6/LQ7FleF
最近誰かのブログで同じ話を読んだ
0967デフォルトの名無しさん (ワッチョイ 768e-6DSo)
垢版 |
2021/07/16(金) 19:17:08.24ID:sHyUu+Bu0
>>965
そんな頭の悪い人にはそもそも無理なんだよ
0972デフォルトの名無しさん (ワッチョイ aabd-fAEb)
垢版 |
2021/07/16(金) 22:41:40.38ID:yp9eglBe0
シートを方眼紙風にして、シート上に線用ボタン、丸用ボタンを配置して、クリックしたら枠線に合わせるモードでクリックの度に描画したいんですけどコードの触りだけでも教えて下さい。
0973デフォルトの名無しさん (ワッチョイ 552c-0PSu)
垢版 |
2021/07/16(金) 23:03:12.00ID:8kNVknxd0
上層部が、仕事の質を見極めない・技術選定をしないから、
Excel に適していない業務でも、
何となく、そこにいる人が出来る技術・Excel などでやってしまおうと考える

目的から技術を決めていない。
先に人材リソースがあって、それを使って何か出来ないか、みたいな考え方

だから適材適所じゃない

Ruby on Rails などのWeb 系は適材適所で、
目的に応じて、コロコロ言語も変わる

例えば、若い女の子がRails で一人で始めた、食べチョクでは、
2週間で、副業プログラマーを2人雇えた

すごく明快。
現場のレベルよりも低いと雇わないだけ。
現場のレベル以上だと雇う

現場も雇われる方もプロ同士だから、話が早い
0975デフォルトの名無しさん (ササクッテロラ Sp75-kRLG)
垢版 |
2021/07/17(土) 01:00:34.88ID:ECLdBgfxp
>>973
そもそもここはVBAのスレだし
あえて言うならWeb版EXCELを使うので有れば一番適した言語はクライアント側がJavascript、Web Server側がVB.NetかC#、DB Server側がSqlServerだろう。

以前からたまにRuby信者が貼っているコードはまともにEXCELも使いこなせていないものばかりで意味をなしていない。質問スレでの要件も満たせないようなのが何を言っても説得力が全くない。

統計や自動学習のような比較的それらの言語が苦手としているものであればPythonが有効、ゲームのように細やかな設定が必要であればC++が有効になる場合もあるが、Rubyの出る幕は全くない。消えろ。
0978デフォルトの名無しさん (ワッチョイ 6dda-zcwp)
垢版 |
2021/07/17(土) 11:16:06.75ID:V7Jr5Ard0
「どーよ?www俺様のマクロコードすげーだろ?wwwこんなにムズいコード書けるんだぜぇwww」と自慢してくる同僚がいるけど、どう対処すれば良い?
称賛してやるべきなのか?
0981デフォルトの名無しさん (ワッチョイ 9501-gOEr)
垢版 |
2021/07/17(土) 11:31:14.14ID:jC6I6HqP0
どの程度自動化出来てるのか知らんがこっちに来てほしいけど
10数万の安月給事務じゃそんなやつ無理だよなぁ
関数すらまともに使えない奴ばっかりだしな…
0988デフォルトの名無しさん (ワッチョイ 768e-6DSo)
垢版 |
2021/07/17(土) 23:58:58.71ID:mM4h+6hi0
>>987
馬鹿なら馬鹿らしく拡張子をrenameしろよ
0990デフォルトの名無しさん (ワッチョイ 768e-6DSo)
垢版 |
2021/07/18(日) 00:07:09.55ID:fa3IC+mL0
>>989
自分の書き込みをよく読めよ
0991デフォルトの名無しさん (ワッチョイ da4f-kRLG)
垢版 |
2021/07/18(日) 00:13:35.23ID:+Oz6ry900
>>986
今まで勉強して来た言語を捨てるという方が信じられんな
別の言語やりたければ別の言語もやるだけの話
何故捨てるという考えに繋がるのか分からん
複数の言語覚えられない人?
0994デフォルトの名無しさん (ワッチョイ da4f-kRLG)
垢版 |
2021/07/18(日) 02:27:32.69ID:+Oz6ry900
>>987
ないわな
csvファイルにした時点で中のマクロは死んでしまい、元には戻せなくなる。
そもそも別途ファイルを出力するんじゃなくてマクロの入ったファイルをそのままcsvファイルにする用途なんかあるのか?

まぁ大体csvファイルは〜で始まるやつは
基地外Ruby信者のRubyでコード書いて荒らすときの前振りが殆どだから余りまともに相手する必要もないか。
0995デフォルトの名無しさん (ワッチョイ da01-+scu)
垢版 |
2021/07/18(日) 05:30:54.93ID:SQx5QkWC0
>>991
複数の言語を知ってるからこそ捨てたくなるんだろ
もっと言うと捨てたいけど捨てられないっていう状況になりがちなのがVBA
とっととVBAに加えてC#使えるようにしろや ⇒ MS
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 53日 19時間 53分 5秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

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