Excel VBA 質問スレ Part49©2ch.net

レス数が1000を超えています。これ以上書き込みはできません。
!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

0952デフォルトの名無しさん (ワッチョイ ed6f-2x4P)2017/08/24(木) 01:43:32.58ID:gFPKAoW/0
>>935
ちなみに<> を半角にして、"A1" を "$A$1" にしたら変わったぞ

0953952 (ワッチョイ ed6f-2x4P)2017/08/24(木) 02:23:07.38ID:gFPKAoW/0
>>935
もしA1に=SUM(B1:B2) ってなっているなら

If Cells(1, 1) = "1" Then ActiveSheet.Tab.ColorIndex = 9
If Cells(1, 1) = "2" Then ActiveSheet.Tab.ColorIndex = 3

これだけでいけた Target は変更(入力)した場所が入っているから

0954デフォルトの名無しさん (ワッチョイ 86a2-vgeI)2017/08/24(木) 05:57:45.02ID:H9WPuZGK0
SUMとしか言ってないので後だしっぽいが
=SUM(Sheet2!B1:B2)は考えなくていいかな

0955デフォルトの名無しさん (ワッチョイ c66f-2x4P)2017/08/24(木) 21:45:58.84ID:fiG1XOAx0
>>925
じゃあ関数ならわかるだろうと思って、
IFだらけのクソ長い関数作ってやったわ。

それもわからんて言われたけど。
当たり前か。

0956デフォルトの名無しさん (ワッチョイ 86a2-vgeI)2017/08/24(木) 22:13:24.34ID:H9WPuZGK0
そのツールでやってるのは上司も知ってる?
それでも使わない?
何かあれば責任の所在は明らかなのに

0957デフォルトの名無しさん (ワッチョイ 29aa-vgeI)2017/08/24(木) 23:00:01.92ID:q91vBAgZ0
ADOでエクセル上にあるテーブルに接続していますが、
テキストデータを追加したり、更新したりすると先頭にシングルクォテーションが付いてしまいます。
これは仕様だと思いますが、付かないようにする方法ないでしょうか?
後から消すって方法は無しでお願いします。

0958デフォルトの名無しさん (オッペケ Sr6d-d2qD)2017/08/25(金) 01:43:07.95ID:KTLmtMM0r
>>914
> エクセルアップロードして終わりとかにして欲しいんだけど。

システムへの大量レコードのアップロードって、ミスした時が大変なのよ。
アップロードするファイルを間違えたりするやつが必ずいるから。

場合によっては、システムを停めて修正しなければならなくなる。

なので、コピペによる数百件の手入力は言わば安全策。
派遣スタッフが多い職場でありがちだよね。

というわけで、手入力作業をIE制御で自動で行うツールはどうしても必要になるんだけど、エラートラップ(例外処理)をきちんと作り込まないと逆に使いづらくなるので要注意。

0959デフォルトの名無しさん (ワッチョイ ed6f-2x4P)2017/08/25(金) 02:02:02.49ID:jgB7N/LP0
>>957
コードは?

0960デフォルトの名無しさん (ワッチョイ ad23-FM7+)2017/08/25(金) 06:46:28.19ID:eH4j8CdN0
>>957
元データに入ってる、というオチではない?

0961デフォルトの名無しさん (ドコグロ MM72-+ULf)2017/08/25(金) 07:59:18.90ID:s9vD7wq8M
>>958
> アップロードするファイルを間違えたりするやつが必ずいるから。
そんな奴はコピペでも間違えたファイルからコピペするだろ w

0962デフォルトの名無しさん (アウアウカー Sa85-1rYb)2017/08/25(金) 08:16:24.76ID:fNT5yRt6a
大量のデータをエクセルでやるのに無理がある

0963デフォルトの名無しさん (ワッチョイ 5973-wCej)2017/08/25(金) 08:39:54.31ID:ZY8b+JLd0
>>962
エクセルだと無理ってことはアクセス使えってこと?
余計に問題が増えそうだが

0964デフォルトの名無しさん (スップ Sdea-U5o/)2017/08/25(金) 11:34:23.91ID:9EHfqskZd
>>958
なるほど
レコード数に関係なく一定の手間でできるとなると、一瞬で大量のエラーを発生させるやつが出てくるな

0965デフォルトの名無しさん (アウアウカー Sa85-HXRX)2017/08/25(金) 12:46:59.96ID:4kzNGnM2a
>>956
そういう責任問題はマクロや関数使わなくても同じ話。
というか、コンピューター使ってる時点で駄目だろ。

最後は何やってもお前のコンピューターの使い方が悪いという話になる。

0966デフォルトの名無しさん (アウアウカー Sa85-HXRX)2017/08/25(金) 12:55:04.81ID:4kzNGnM2a
>>958
それはそういうシステム作った奴が悪い。
いくらでも規定のフォーマットじゃなければ受け付けないシステムは作れるだろ。

CSVなんかでもカンマ区切りじゃなくて普通ならどうやってもキーボード入力出来ない文字で区切るなんてやるし。
それで区切ってなければ1行のデータ数不正で受け取らないなんて簡単。
それ以外にもチェック項目入れてEXCEL上で出力編集できるプログラム組めば良いし。

0967デフォルトの名無しさん (ワッチョイ caaa-vgeI)2017/08/25(金) 13:18:40.53ID:11RxMW0L0
>>966
データの中身が間違っているものをアップロードしてしまうことを言ってるんじゃないだろうか

0968デフォルトの名無しさん (ワッチョイ ed6f-2x4P)2017/08/25(金) 14:22:18.70ID:jgB7N/LP0
正しいデータを入れなおして直るならいいんだけど
取り返しのつかないミスで業務に支障がでたら知らん

0969デフォルトの名無しさん (JP 0H0e-2x4P)2017/08/25(金) 15:30:41.90ID:7eimf3NdH
>>958
データのバリデーションが足りてないだけでしょ

0970デフォルトの名無しさん (ササクッテロ Sp6d-Hgyh)2017/08/25(金) 16:19:40.23ID:YOvDFOChp
バックアップを取ってリカバリしないの?

>>958
ウチの会社にもいましたわ、こんな事やらかす人達。
所詮、人間がやる事ですけど。

0972デフォルトの名無しさん (オッペケ Sr6d-d2qD)2017/08/25(金) 18:24:10.85ID:KTLmtMM0r
>>966
フォーマットの問題じゃないんだよね。

アップ済みのファイルを再度アップしてしまったり、修正前のファイルをアップしたりとか、フォーマットに問題はないのでシステムは受け付けてしまう。

その辺をリカバリできるシステムにしようとするとまた莫大な金がかかるので、上はなかなか動かない。

それによってどのくらいのコスト削減あるいは利益が見込めるのか、まずは数字出さないと話も聞いてもらえないよ。

0973デフォルトの名無しさん (アウアウカー Sa85-HXRX)2017/08/25(金) 22:45:26.71ID:jbJbRr/0a
>>972
???
後からでも受け付けるようにするだけだろ。
別に難しくないだろ。
後からアップしたのでデータ上書きすれば良い。
もちろん戻れるように履歴取る必要は有るけど。

0974デフォルトの名無しさん (ワッチョイ caaa-vgeI)2017/08/25(金) 23:17:31.65ID:11RxMW0L0
>>973
たぶんキーが無いんじゃない?

0975デフォルトの名無しさん (オッペケ Sr6d-d2qD)2017/08/26(土) 07:13:30.51ID:vvYv5Hier
>>973
働いたことないの?

0976デフォルトの名無しさん (オッペケ Sr6d-d2qD)2017/08/26(土) 07:22:16.86ID:vvYv5Hier
>>974
一応、ファイルのフォーマットにはユニークなカラムはあるんだけどね。
システム側では、そのカラムはキーになってない。。。と思われ。

さすがにシステムの仕様まではわからない。

0977デフォルトの名無しさん (ワッチョイ 1d4b-rG16)2017/08/26(土) 09:32:33.78ID:5dccF0/k0
>>931
ありがとうございます。
あれから色々試しましたがいくつか問題点があります。

問題1
Dim el As IHTMLElement を削除するとTDが取得出来ず、table丸ごとの取得となります。
問題2
Dim htmlDoc As HTMLDocument を削除するとエラーが出ます。
問題3
7番目のサンプルを実行するとこの部分がエラーをおこします。
objDOM.body.innerHTML = objXML.responseText

問題1についてtableデータ丸ごとでも取得後必要箇所を抜き出せばいいので用は足せます。
変わらなければそのままいこうと思っていますが相手サーバーへの負担は増えるのでしょうか?

問題2について削除しなければ問題ありませんがxml化時に下記3箇所をどのように記載を変更すればいいでしょうか?
Dim htmlDoc As HTMLDocument
Set htmlDoc = objIE.document
Set colTable = htmlDoc.getElementsByName("oppai")

問題3について下記の("htmlfile")が原因かと思ったのですがこのままでいいでしょうか?
それとも何かのシート名を入れるのでしょうか?
Set objDOM = CreateObject("htmlfile")

毎度すいませんがよろしくお願い致します。

0978デフォルトの名無しさん (ワッチョイ 86aa-oTLP)2017/08/26(土) 13:59:12.95ID:1Xp/S2sl0
>>958
>システムへの大量レコードのアップロードって、ミスした時が大変なのよ。
>アップロードするファイルを間違えたりするやつが必ずいるから

人間は、必ず間違うから、絶対に回復機能が必要。
普通は、バックアップ・スナップショット機能で、前の状態へ戻れる

銀行では、アルバイト3人が、同じデータを入力する。
3人とも同じ金額の時だけ、合格

バリデ、validation

0979デフォルトの名無しさん (ワッチョイ 86aa-oTLP)2017/08/26(土) 14:10:14.30ID:1Xp/S2sl0
>>977
JavaScript の、jQuery でやれば?
Groovy, Ruby でも良いし

何で、VBA でやる?
VBAには、クロージャがあるのか?

最初から、ライブラリが揃っている言語を、使えば良いだけ

0980デフォルトの名無しさん (ワッチョイ fe6d-brQu)2017/08/26(土) 14:14:47.08ID:svByvDEZ0
>>978
>銀行では、アルバイト3人が、同じデータを入力する。
どこの銀行だよwww聞いたことないわwww

0981デフォルトの名無しさん (ワッチョイ ca11-+ULf)2017/08/26(土) 15:49:08.64ID:O53zOlu10
データを2人で入力してチェックするのは割りと普通
https://www.noc-net.co.jp/blog/2015/06/column_050/
重要な奴なら3重チェックもあるんじゃね

0982デフォルトの名無しさん (ワッチョイ 0a11-xpGE)2017/08/26(土) 16:55:31.30ID:azDqTcfP0
>>972
>アップ済みのファイルを再度アップしてしまったり、修正前のファイルをアップしたりとか、

間違ったと気づいた時点でオペレータ自身が元に戻せるような仕組みを作るのはそれほど難しくないよ
手動でExcelを修正するステップやその前のステップを含めてシステム化するのが理想ではあるだろうけどね

ただ100~300万くらいのお金を莫大な金と言ってるんであれば自力で頑張るしかない
担当が変われば元の木阿弥だし、本来機械にやらせるべき仕事を人間がやってることによる逸失利益を加味したら安い買い物

0983デフォルトの名無しさん (ワッチョイ ca11-+ULf)2017/08/26(土) 17:26:45.76ID:O53zOlu10
>>982
要件も確認しないうちから
> 間違ったと気づいた時点でオペレータ自身が元に戻せるような仕組みを作るのはそれほど難しくないよ
とか言うアホ営業 w

0984デフォルトの名無しさん (ワッチョイ 293d-oKtA)2017/08/26(土) 17:45:46.64ID:6HYM9FnY0
在庫と直結するようなシステムだと現物が関わるからタイミングによっては取り戻すの大変だしね。

0985デフォルトの名無しさん (ワッチョイ 0a11-xpGE)2017/08/26(土) 17:49:54.05ID:azDqTcfP0
>>983
ははは、言いたいことはわかるけどそれは客が要件をすべて決めると思ってるやつの発想
費用に応じて提供出来る内容を変えてあげればいいだけ
そういう調整が出来ない人ばっかりだと苦労するよね

まあそこは論点じゃなく莫大な費用がかかると思ってるのは解決方法の選択肢が見えてないだけで
思ってるほどの費用がかからない方法も有るよってことよ
VBAのかわりにスクリプト書くだけなら100万もいらんし

0986デフォルトの名無しさん (ワッチョイ 0a11-xpGE)2017/08/26(土) 17:55:27.18ID:azDqTcfP0
>>984
それは今でも発生しうる業務フローの問題でしょ?
誰かが確認するっていうステップが必要なだけで1件1件コピペ入力しなきゃいけないのとは別問題
確認が必要ならそのフローをシステムに取り込んであげればいい

機械で自動確認できるほうが楽だけどそれは必須じゃないじゃん

0987デフォルトの名無しさん (ワッチョイ 0a11-xpGE)2017/08/26(土) 17:56:27.22ID:azDqTcfP0
Excel関係ない気がするからこの辺にしとくわ

0988デフォルトの名無しさん (ワッチョイ ca11-+ULf)2017/08/26(土) 18:39:24.64ID:O53zOlu10
>>985
> まあそこは論点じゃなく莫大な費用がかかると思ってるのは解決方法の選択肢が見えてないだけで
だから要件も見えてないのに選択肢が見えるわけないだろ w
>>984の件も数件なら後追いで修正できるけど1万件とかになると破綻するとかあるだろうし

0989デフォルトの名無しさん (アウアウカー Sa85-1rYb)2017/08/26(土) 19:30:25.78ID:qX5fc/S5a
株かなにかで金額間違えてニュースになったな

0990デフォルトの名無しさん (ワッチョイ caaa-vgeI)2017/08/26(土) 19:42:35.36ID:eHXsO5oX0
あれはトレーダーによる入力だからそれ自体が一次情報
複数人による入力対象ではない

0991デフォルトの名無しさん (ワッチョイ 29e4-fJzc)2017/08/26(土) 21:03:15.65ID:F72uLJPi0
いつから問題の対象が
複数人による入力
に限定されるようになったんだ

0992デフォルトの名無しさん (ワッチョイ caaa-vgeI)2017/08/26(土) 22:10:58.71ID:eHXsO5oX0
さあ

0993デフォルトの名無しさん (ワッチョイ 3e1e-CSD/)2017/08/27(日) 02:42:06.83ID:L7AzHdYH0
>>914
> こんなのはスクリプトでも手作業でもなく、エクセルアップロードして終わりとかにして欲しいんだけど。
と書いた時から、サーバ側も巻き込んだシステム全体の話になってしまって
このスレの範疇を越えるものになったんだろうな
それは多分「単純作業をVBAでなんとかしたい」と思ってただけの>>914にとって
「そんなことを議論されても俺にはどうしようもない・・・」と思ってると思う

0994デフォルトの名無しさん (ワッチョイ c66f-2x4P)2017/08/27(日) 09:42:07.86ID:M71tiO6/0

0995デフォルトの名無しさん (アウアウカー Sa85-HXRX)2017/08/27(日) 10:41:40.78ID:hneRKt3Sa
>>993
そもそもは>>958が手入力を安全策とか言い出したことからだろ。

手入力なんて全く安全策じゃないし、コンピューターを使う以上、安全性を追求しすぎると本末転倒になるという話。

0996デフォルトの名無しさん (アウアウカー Sa85-1rYb)2017/08/27(日) 12:36:10.64ID:9rRkVsmFa
銀行でバイトに入力させるとかないだろ

0997デフォルトの名無しさん (ワッチョイ fe6d-YxLc)2017/08/27(日) 12:40:26.06ID:LjjEWylk0
>>996
あるよ。金融業だけど、新規口座の個人情報入力は子会社の派遣君がやってた。
チェックは正社員がやる。

振込処理なんかはもちろん、絶対にないw

0998デフォルトの名無しさん (ワッチョイ fe6d-YxLc)2017/08/27(日) 12:40:42.78ID:LjjEWylk0


Excel VBA 質問スレ Part50 [無断転載禁止]?2ch.net
https://mevius.2ch.net/test/read.cgi/tech/1503805217/l50

0999デフォルトの名無しさん (ワッチョイ 293d-oKtA)2017/08/27(日) 13:14:20.45ID:EGaKBA6h0
>>998

1000デフォルトの名無しさん (ワッチョイ 0a0f-cmDg)2017/08/27(日) 13:34:20.02ID:rBvqwKY30
ぬるぽ

10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 62日 11時間 19分 6秒

10021002Over 1000Thread
2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


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

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

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

▼ 浪人ログインはこちら ▼
https://login.2ch.net/login.php

レス数が1000を超えています。これ以上書き込みはできません。