Excel VBA 質問スレ Part62
■ このスレッドは過去ログ倉庫に格納されています
!extend:checked:vvvvv:1000:512 ExcelのVBAに関する質問スレです コード書き込みや作成依頼もOK ※前スレ Excel VBA 質問スレ Part61 http://mevius.5ch.net/test/read.cgi/tech/1556203263/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured エクセルに古臭いVBAしかない理由って知ってる? アップデートもなけりゃ最新言語に対応もしない本当の理由知ってるか? >>665 Excel自体にそこまで需要がないから。最新言語を対応させても得られる利益は変わらない VBAに需要がないのは間違いない 誰にも必要とされてない お前らの独りよがり じゃなきゃコミュニティも盛り上がるはずだけど全く超低空飛行 Excelマクロなんて事務員くらいしか使わない。マクロを使わなくてもいいようなシステムを開発したらいいだけ。企業はマクロよりRPAを使うようになってきてる。 末端の人がパーフェクトに便利さを感じられるシステムを 会社が構築してくれたらいいんだけど 実際はそういうわけには行かないわけで 隙間をうめるためのお手軽自動化ツールとしてVBA使う事になる うちではそうだわ VBAがなかったらクソくだらない作業を手作業でちまちまやらないといけなくなる VBAなんて使わない方法を考えたら? もう世間は誰もVBAなんて見向きもしてないから現状はこうなんだよ いつまでも昔のやり方を変えないのもどうかと思いますよ 時代に合わせよう Excelに付属してるから管理が厳しいところでも配布しやすいから使ってるだけ 時代も何も使えなくなったら代替手段探すだけのこと 個人的なものは好きにできるが、仕事の場合それはできない クソ言語にしがみ付くなって VBAなんて将来性もゼロの全く価値のない子供向けのお遊びコード 子供のおもちゃが企業で使われているので コチコチ頭の上司たちが変わるまでは仕方がない >>663 ありがとうございます! 明日職場で試してみますね。 >>684 ミスると永久ループになるので、n回トライしてダメならExit Doするようにする。 分かってると思うけど念のため。 ExcelもPythonで動かせるようになるんでしょ? まーPythonが使えるようになると 一挙に統計の計算で出来ることが増えるようになるらしいけど お前らObject指向すらままならないのに 関数型言語なんて覚えられるの? 無理 そんな事が出来るなら今どきVBAなんて使ってない >>690 Excel自体がオブジェクトなので cells(1,1).value="foo" だけでも立派にオブジェクト指向 問題はオブジェクトを操ってる感覚が少なすぎることかもな pythonはpandas辺りの数学系ライブラリがめちゃくちゃ便利なだけで言語としては至って普通だと思う >>689 これのどこを読んだら「マイクロソフトが Excel に搭載するのは JavaScript であって」なんて出てくるんだろう? Cool to see the excitement around Python. We had an awesome response to our survey on the Python UserVoice item. We’re working on the best way to address that feedback. ・In the meantime, these are some great tools you can use like PyXLL and XLWings ・Additionally, you can also host your backend logic via a web service in any language, including Python, and you can use web add-ins or a custom function to call that web service. >>690 逆だ。 どんな環境でも対応出来るからVBAでやってる。 他の環境になったら対応すればいいだけ。 VBAが出来ればPython簡単でしょ。プログラミング何も知らなくても一か月あれば覚えれるし! hellshake矢野と聞いてすっとんで来ました。 初心者質問ですいません。 下のコードで、Range("V3:V8")だと何事もなく範囲を指定できるのですが、 Range(Cells(…),Cells(…))だとエラーが出てしまいます。 何が悪いのでしょうか? Worksheets("シート1").Activate ActiveSheet.ChartObjects("グラフ1").Activate ActiveChart.PlotArea.Select ActiveChart.SeriesCollection.NewSeries ActiveChart.FullSeriesCollection(1).XValues = Worksheets("シート2").Range("V3:V8") ActiveChart.FullSeriesCollection(1).Values = Worksheets("シート2").Range(Cells(3, 3), Cells(8, 3)) >>703 シートを指定せずにセルを指定してるから あー、そういうことでしたか! 初歩的なミスですね、、ありがとうございました!!)^o^( すいません、もうひとつ助けて頂けると嬉しいです。 ActiveChart.FullSeriesCollection(1).Name = Worksheets("シート2").Cells(3, 3) で、参照先のセルにはユーザー定義にて"8月19日"のように◯月◯日形式で表示させていますが、 グラフ凡例には2018/8/19のように表示されてしまいます。 凡例にも参照先のセルと同じように◯月◯日形式で表示させる事は可能なのでしょうか? 左辺よくわからんけどString型っぽいから Worksheets("シート2").Cells(3, 3)を Worksheets("シート2").Cells(3, 3).textにするとか >>708 グラフ側に、書式も合わせる設定なかったっけ >>708 Format(Worksheets("シート2").Cells(3, 3).Value,"MM月DD日") この程度の事も解決出来ないなんてセンス無さすぎだから職を変えた方が良い >>709-711 ありがとうございます!なんとか出来ました! 助かりました〜、思い通りに走ってくれて嬉しい〜 >>712 最初は誰もが皆初心者という事で許してくださいませ! >>714 そいつただの荒らしだから相手しなくていい >>716 「.net」ドットネットというのは便利な関数がめちゃくちゃたくさん入ってる箱 マイクロソフトががんばって作った それがVBから一発で呼び出せるように準備されてるのがVB.net 別にVBAからでも使おうと思えば使えるけど調べるのが大変 >>720 その説明は... ちょっとマズいんじゃね? >>716 VB.netをOffice特化にしたのがVBA それでいいよ VB.NETの方が早く消滅しそうだし 歴史的経緯を知らないと理解できない変な制限や仕様が多い そういう意味ではかなり難しい Python vs Excel 五番勝負 - 仕事で使えるのはどちら? 2019/08/21 14:37 クジラ飛行机 https://news.mynavi.jp/article/zeropython-53/ 第一回戦 - どちらが気軽に使えるか?【判定】気軽に使えるのは、Excel。ただし、 Excelは有償。また双方ともWebブラウザからも使えるなど利便性は互角。 第二回戦 - CSVファイルが見やすいのは?【判定】美しく表示されるのは、Python。 ただし、Excelは汎用用途に特化しているのに対して、PythonライブラリがCSVファイルの 読み込みに特化していることが理由。 第三回戦 - グラフが作りやすいのは?【判定】引き分け。マウス操作で直感的に操作 できるのはExcelだが、Pandasやmatplotlibのライブラリに習熟していれば、Pythonでも 簡単に描画できる。 第四回戦 - 複雑なグラフが作りやすいのは?【判定】引き分け。 第五回戦 - 集計してみよう【判定】処理が複雑になればなるほどPythonが優勢。 >>727 > 歴史的経緯を知らないと理解できない変な制限や仕様が多い 32KB縛りとかあるけど、言うほど制限多いか? 具体的に数件挙げてみてくれる? 事務職がPythonやり始めたら自分でシステム作って回せるからシステム屋なんていらないよね >>731 と思うだろ ネットワークにセキュリティにハード等次々と恐ろしい壁が立ちはだかる 極めつけは社内のお局さま 「いままでこうやってきたから」 セキュリティはプロに委託しないとまずいだろ あれ対人戦だから >>732 それ 最後の1行 それで全てが終わるんだわ そういう問題じゃないな インフラこそ企業による差異もなく誰がやっても同じで雑事として他人任せでいいもの 経験値がないとスパゲッティ化して要件変更に対応できなくなったり、直せなくなったり あるいは処理速度、使いやすさ(業者にも上手い下手あるが) そもそも業務要件自体がSEが入らないと整理できなかったり、入って初めて抜けが発覚したり 「作れるか否か」と「言語仕様」に相関があると思ってるのが素人 もし「作れる」なら、他の言語でも作れたはず 5Gになるとハードとかネットワークとかクラウドで利用出来るようになるから、個々でハードを所有する必要がなくなってくるんでしょ 簡単なシステムはコーディング不要でドラッグするだけで出来る物になるらしいじゃん VBAでは函数は呼び出すところより後に置く必要があるの? C言語では呼び出すところより前に置く必要があるのに。 グローバル変数を先頭に書くルールはあるけど関数位置のルールはないよ >>739 そうですかあ。助言してくださってありがとうございました。 >>738 > C言語では呼び出すところより前に置く必要があるのに。 前で定義すればプロトタイプ宣言がいらないって言うだけのこと プロトタイプ宣言書いとけば前後関係はどちらでもいい 個人でPCを所有する時代も終わるし、全部クラウドで出来るから、AI作れるくらいじゃないと稼げなくなるよ VBAなんか動けばなんでもいいんだよ。自分のルールでやればいい。 勉強しても事務職が自動化されてExcelももうすぐ終わるし無意味。 >>742 今から「時代が終わる」日まで飲まず食わずで過ごすの? 全くVBA触ったことない人間です 以下の内容ってVBAで実行可能でしょうか? できるなら独学で地道にやってみようかなと思っていまして… ■現状 サイトから売上データをDLし、指定のシートにコピペ×10サイトほど ■やりたいこと概要 データDLだけでも自動化したい ■やりたいこと詳細 1.サイトにログインする(ID・パスを入力) 2.必要項目をプルダウンやチェックボックスから選び、CSVダウンロードボタンを押してデータをフォルダに格納する(あるいはVBAとおなじエクセル内にシート別でコピペ) できるかできないかだけでも教えていただけませんか…? VBAってメインのシステムを補って、カバーしきれなかった隙間を埋めるものっていう認識があるわ おれが作ったプログラムで一番重宝されてるのが メインのシステムを使うに当たってミスした場合、数百の修正を手作業で一時間以上かけて しなければならなかったものを10分程度で終わらすことができるようにしたものだわ メインのシステムは本社レベルで作られているものだから俺のいる地方支店ごときが 口出しできるようなものじゃない でもVBA使えば工夫次第で補正できる >>744 先を見て他の事を学べって事だよ。ずっとこの処理方法なんでとか言ってるアホなお局と同じだぞ。 >>745 出来るよ。PythonとかJavaScriptでも出来るし、RPAならもっと簡単に出来る。VBAでマクロ作るのに2時間かかるとしたら、RPAならそのマクロなら10分で組める。 >>748 10分!?プログラミングできる人って本当にすごい… RPAちょっとググってみる ありがとう! >>745 出来るけど、出来ると思ってるのが凄い。 VBA触ったことない人は、そもそもエクセルでエクセル以外のものを動かせるとは思わない。 Ruby, Selenium WebDriver で、Chrome などのブラウザを自動操作すれば? 漏れは、下のように、yahoo とか、あちこちにログインしてる driver.navigate.to "https://login.yahoo.co.jp/config/login_verify2?.src=ym" ; driver.manage.window.maximize # 画面最大 element = driver.find_element(:id => "username") element.send_key "ここに、ユーザー名" driver.find_element(:id => "btnNext").click # ボタンを押す element = driver.find_element(:id => "passwd") element.send_key "ここに、パスワード" driver.find_element(:id => "btnSubmit").click # ボタンを押す >>748 VBAでも10分位で出来るけどな。 まあ、オブジェクトまでのツリーを取得する自作ツールが有るからなんだが。 >>753 何で余計なもんをインストールする必要のあるもんを勧めるんだよ。 Excel, VBScript, PowerShell などで、IE を自動操作できたっけ? そもそも漏れは、有料のExcel を持ってないからw 何でこのスレに居るの? そしてIEの操作にExcelは関係無いよ? >>757 いつの時代から来たんだ? まあ、常に初心者はいるんだが、初心者がだっけとは言わないだろうw 仮に専用の関数が無かったとしても、 最悪、SendKeysでどうにかなりそうだが。 VBSだけでInternetExplorer.Applicationからかなりの事ができる ただしIEに対応してないサイトでは使えないので今からやるならpythonとか使った方が良い それとExcelとは何の関係もない 1と2行目の間に新たに行を挿入し、 そこに別のセルからデータを貼り付ける。 という作業を行いたいです。 相対的に記録することによって、 作業したい行の1列目のセルを選択した状態でマクロを実行すると望む動作ができるマクロを作れました。 これを1から2000行目くらいまで繰り返したいです。 現状は、 1行目を選択してマクロ実行、 3行目(間に行を入れたので、元2行目です)を選択してマクロ実行、 と手動でやるしかない状態です よろしくお願いします ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる