Excel VBA 質問スレ Part74

■ このスレッドは過去ログ倉庫に格納されています
2021/12/20(月) 01:40:59.22ID:jnlr9GaR0
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付けるナリ

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

※前スレ
Excel VBA 質問スレ Part73
https://mevius.5ch.net/test/read.cgi/tech/1631485799/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2022/01/28(金) 19:55:14.07ID:PEhFKy76d
power queryと変数定義関数で、VBA使わずともかなりのことができるようになったよね
ローコードツールみたいだなと思う
2022/01/28(金) 20:01:26.98ID:XaG/+jlyM
>>735
> Worksheet_SelectionChangeで、その特定のテーブルの特定の列を走査して昇順または降順にデータが並んでいれば「フィルタソート機能を使った」と判定する、ぐらいしか思いつかない
そんなことしなくてもWorkSheet.AutoFilterMode見て、WorkSheet.AutoFilter見たらいいだけ
2022/01/28(金) 20:13:02.61ID:qlKzmgV90
>>740
ありがとうございます
2022/01/28(金) 21:49:05.63ID:Qmj8/oz70
>>742
テーブルらしいので、WorksheetじゃなくてListObjectを見ないと判別できない
あと少なくとも自分には、AutoFilterにはフィルタソートをかけたかどうかを判別できるものが見つけられなかった
(フィルタソートしてもAutoFilter.FilterModeはFalse)
もし環境で動作が異なるのならごめんなさい
2022/01/28(金) 22:21:03.74ID:0dNIFpO5M
>>744
> テーブルらしいので、WorksheetじゃなくてListObjectを見ないと判別できない
ああ、そりゃすまん

> あと少なくとも自分には、AutoFilterにはフィルタソートをかけたかどうかを判別できるものが見つけられなかった
手元に環境ないから試せないけど
ListObjects(...).AutoFilter.Filters(...).On
じゃねーの?
2022/01/29(土) 00:40:00.86ID:d67hOlZf0
図書館に「はじめてのPower Automate Desktop」ていう本があったので借りてみたんだけどよ。
VBAでは10-20行ぐらいのエクセルの処理を、40ページぐらいかけて説明してたわ。
やってることは、VBAでやるコマンドをGUI操作でやってるような感じ。
どう考えても、VBAより簡単とは思えんしむしろVBAのほうが簡単じゃねーの?
2022/01/29(土) 02:38:30.78ID:wvbeuCX/d
>>746
馬鹿には違いがわからんだけだろ
2022/01/29(土) 06:07:15.34ID:S/AYuT160
AWS など、Linux は逆。
GUIを排除して、コード化する。IaC(Infrastructure as Code)

AWSのGUIで設定したら、人によって間違うから、
どのボタンを押すなど、ソースコードで書いて、Terraform で実行する

これなら、Terraformのコードをサーバーへ転送して、実行するだけで環境構築できる
749デフォルトの名無しさん (ワッチョイ a95f-4IfY)
垢版 |
2022/01/29(土) 06:12:15.60ID:nI5CwbIZ0
いや…VBA (VB6)を作った人は、相当優秀やな

昔、VB6 でフリーウェア作ったり、楽しかったわ…
2022/01/29(土) 07:43:57.70ID:p3H2eYK50
>>746
まあ、コードがわからん人(わからん人が使えるとは言ってない)向けだからな。
会社で色々ガチガチに制限されてるけど、そこだけはオッケーとかだったら使うしかないじゃない?そういう人向けだと思うよ。

Power Automateはまだサーバーが勝手に動いてくれるからマシだけど、Desktopはホント用途がわからん。
2022/01/29(土) 07:56:58.17ID:u7cBLx/b0
他言語のプログラマーからは下に見られるVBA
なぜ差別される?
2022/01/29(土) 08:31:49.58ID:vQXkhP0VM
中途半端に自分の知識を誇示して周囲を見下すやつが多いから
職場や上司を叩いて自己満足に浸るレスがこのスレでも目立つ
2022/01/29(土) 08:56:48.05ID:mMYfjebB0
起動しているedgeやIEで開いているページから文字を取り出したいのですがどうしたらいいでしょうか?

もしくは起動しているページからワンクリックで文字を取り出しExcelに貼り付ける様な方法はありますか?
2022/01/29(土) 09:01:58.47ID:p3H2eYK50
RPAみたいに世間の認知も高いわけじゃない、
プログラムほど難しいことやってるように見えない、
そのくせ仕事は手抜きしてるように見える、
聞いてもよく分からないことしか言わない、

知らない人からみたらこんな感じだからじゃない?
2022/01/29(土) 09:41:15.24ID:D0pOsND50
>>751
理由は色々あると思う。
名前がVisual Basic for Applications というくらいEXCELとかACCESSとかのMicrosoft Officeに特化していて
実際のシステムを構築するのには不向きであること。

間口が広いので初心者向きでもあり、それが逆にどんな人でもちょっと勉強すれば組めてしまうイメージがあること。

フレームワークの知識が皆無でも普通に組めてしまうこと。

VB.Netですら消えかかってるこの時代にあまりに旧態依然とした言語であること。

ちょろっと何かを組むには非常に良い言語なんだけどね。俺もVBAでシステム組めって言われたら「え・・・」ってなると思う。
2022/01/29(土) 09:47:43.70ID:UwALgNeL0
そもそもVB自体が下に見られているからじゃないかな
知らんけど
2022/01/29(土) 09:54:07.85ID:OyQV2dPc0
>751
覚える事が信じられないぐらい少なく、誰でも使えるから
変数とif、for辺り知ってればほとんどの場合に対応できる
若干とっつきにくいのがset程度
更に相当テキトーに書いても他へ影響し辛い

どれも実務上は長所だけど、
他の言語を知ってると「なにこれ?」ってなるのはわかる。なんというかおもちゃっぽい
2022/01/29(土) 10:17:37.26ID:M8ea68f50
>>745
自分の環境だと、普通のフィルタをかけた状態ならそれで拾えるけど、フィルタのソートを行った状態は拾えないので、やりたくないけどどうしてもやるなら列のデータをなめるしかないのかなと

>>751
元々、Visual Basic自体がBASICという、学校でプログラミングの導入として教えるような簡易なプログラミング言語から派生したものだから、他の言語より低く見られていた
更にそこから派生したVBA(マクロ)やVBS(スクリプト)なんかはより低く見られている
まぁ実際に、図体の重たいプログラムでは手が届きにくい部分を補完する孫の手的な使い方をするのが主流なので、穴埋めや間に合わせ的な位置付けに見られているからだと思う
2022/01/29(土) 11:04:25.26ID:1pI7yMTXM
>>758
ソートは一時的な状態じゃないから完全に拾えるわけじゃないけど
ListObjects(...).AutoFilter.Filters(...).Sort
見たらわかるんじゃないの?
2022/01/29(土) 11:05:21.11ID:bDLL2+/00
>>751
差別しているのは Ruby厨だから無視していいんじゃね
そもそも言語に上下なんかないし
2022/01/29(土) 11:13:37.04ID:M50L9SrL0
>>757
> 他の言語を知ってると「なにこれ?」ってなるのはわかる。なんというかおもちゃっぽい

なんとなく納得できる表現だな。
C・C++・C#・JAVA・Rustとかの、かちっとしたのが当然だと思ってると面食らう。

特に Variant。まあ、最近はコンパイラ系に逆輸入されてるけど。
2022/01/29(土) 11:15:31.30ID:M50L9SrL0
あ。馬鹿にしてるわけではないよ。便利だと思う。

ただ、コンストラクタ引数と継承は入れてほしかった。
2022/01/29(土) 11:28:56.70ID:tQGwfe1Lr
VBAが言語として下に見られてるのかは知らんが書いてるやつの水準は他言語より圧倒的に下だよ
変数の型指定しない、withつかわない、まとめられる処理をまとめずにコピペし大量のモジュールを作る、配列とか使わないでセルを一回一回読み書き
こんなコードが会社のエクセルにはたくさんある
そしてそれが神マクロと崇め奉られてるのホントゴミ
2022/01/29(土) 11:44:30.01ID:PUyOyrFtM
>>761
> 特に Variant。まあ、最近はコンパイラ系に逆輸入されてるけど。
void * とか昔からあるけど?
2022/01/29(土) 12:02:30.08ID:ZRWUeJUN0
結果がすべて
仕事を終わらせたやつが評価されるんであって、どんな方法を使ったか、きれいに書いたかどうかなんて普通は問われない
2022/01/29(土) 12:10:51.21ID:L/C5gyxS0
>>765
俺もそっちだわ
仕様として許容されているなら使う人が目的達成できればどうでもいいんよ
まぁリファクタリングしろと言われたら発狂するが
767デフォルトの名無しさん (ワッチョイ a95f-4IfY)
垢版 |
2022/01/29(土) 12:12:26.42ID:nI5CwbIZ0
何かを見下したい、マウントを取りたいのは、
愚か者の本能であって、理由は後付け。

VBA がハイコストパフォーマンスで
ある程度のシステムを構築できてしまう
便利なツールであることには変わりない。

頭の悪い人間ほど、意味のない格付けをしたがる。
768デフォルトの名無しさん (ワッチョイ a95f-4IfY)
垢版 |
2022/01/29(土) 12:22:38.03ID:nI5CwbIZ0
Windows環境で、
なんらかの要件を実現する方法の選定として
導入コストを考えたら、DOSバッチでも
PowerShellでも、JavaScriptでも、WSHでも
既存のリソースのみで実現できる方が良いに決まってる。

特に日本人の思考は、合理性を軽視して、見てくれや
くだらない感情で判断することが多いので、
開発のプロジェクトでも時間とカネのコスト管理ができてない
愚かな企業が多い。
2022/01/29(土) 12:23:55.26ID:hiZAoffAM
>>765
そういう書き捨ての仕事もあるし、連綿と続く仕事もある
2022/01/29(土) 12:27:08.84ID:nI5CwbIZ0
結果として、他国からバカにされてる
日本の生産性の低さに繋がっている

あらゆる分野で、開発スピードは、
圧倒的に米欧・中華が優っている
771デフォルトの名無しさん (ワッチョイ 668e-ltXr)
垢版 |
2022/01/29(土) 12:29:20.03ID:iTemfgLK0
>>768
例の馬鹿か
2022/01/29(土) 12:34:16.18ID:Q0NPbY74r
>>765
書き捨てではなく日々の定型業務につかわれ
それらが前提になって業務フローが組まれてるから
保守が必要なんだよなあ…
なお制作者と仕様書、コメントはない
2022/01/29(土) 12:43:35.90ID:28WRDRfRr
まあ正直、要件定義〜設計までの上流工程の人間からすると
言語は何でも良いんだけどね。

こだわるのはコーディングフェーズ以下の下流エンジニアであって。
2022/01/29(土) 14:49:20.34ID:u7cBLx/b0
関数が得意な人はなんでも関数で片付ける、マクロが得意な人はなんでもマクロでやろうとする傾向があると田中氏が言っていたな講演会で。
バランス良く使える人こそ真のエキスパートだとも。
2022/01/29(土) 15:14:16.94ID:YNpwCmNLM
>>774
そうなんか
確かに関数使うのって電卓がわりにするか文字の置き換えくらいかも
2022/01/29(土) 15:41:11.14ID:D/yb4xS+0
指定した範囲にそれぞれ外枠線を引きたいのですが、量が多くなると時間がかかるのでUnionを使いたいのですが、

Dim rng As Range, i As Long

Set rng = Range("B2:B3")
Set rng = Union(rng, Range("C2:C3"))

For i = 4 To 50 Step 2
Set rng = Union(rng, Range("B" & i & ":B" & i + 1))
Set rng = Union(rng, Range("C" & i & ":C" & i + 1))
Next i

rng.BorderAround Weight:=xlThin

だと、Range("B2:C51").BorderAround Weight:=xlThin と同じになってしまいます。
短い時間で、それぞれの範囲に外枠線を引く方法を教えてください
2022/01/29(土) 15:45:53.96ID:W/oxWoyf0
>>753
https://www.google.co.jp/search?q=vba+%E3%82%BD%E3%83%BC%E3%82%B9%E5%8F%96%E5%BE%97
2022/01/29(土) 15:52:44.84ID:MAc7BERw0
>>761
JavaでもObjectになんでも突っ込めるじゃん
2022/01/29(土) 16:14:17.19ID:u7cBLx/b0
マクロ書くより手作業でやった方が早いのにわざわざマクロでやる人ばかりとも言っていたな。
なるほどなと納得する講演会だったね。
2022/01/29(土) 16:34:34.13ID:L/C5gyxS0
今知ったんだけどFalseってフォルスって読むんだな
考えてみれば失敗じゃなくて偽りだもんな
本職じゃなくて良かったわ〜
781デフォルトの名無しさん (オッペケ Srbd-4IfY)
垢版 |
2022/01/29(土) 16:35:06.88ID:RDGmPxZCr
なんで Cells を使わず、わざわざ
Range を使うのが多数派なんだろ。
メリットないじゃん。意味わからん。
2022/01/29(土) 16:40:41.52ID:D0pOsND50
>>774
田中さんそんなこと言ってたのか
俺ならバランスより効率重視だな
数式にマクロの関数仕込むこともあるし
その逆もある。
2022/01/29(土) 16:41:42.31ID:fC9nxr54M
だってマクロ書きたいんだもん
2022/01/29(土) 16:49:23.58ID:wL4gsmFrd
>>781
a1とかa1:f5とかを暗黙定義された名前と考えて
名前で指定するイメージ
2022/01/29(土) 17:04:38.36ID:fQ9LbNHBM
>>780
失敗は Fail だもんな
2022/01/29(土) 17:04:52.88ID:L/C5gyxS0
俺はcellsだよ、座標として捉えてるから数値との親和性が高く感じる
2022/01/29(土) 17:06:06.65ID:L/C5gyxS0
>>785
そやねん、フェイルセーフっていうからその延長で思い込んでしまってたみたい
2022/01/29(土) 17:06:09.58ID:fQ9LbNHBM
>>781
極端な例だけど Cells(100, 100) がどのセルを指してるのかすぐにわかるなら…
2022/01/29(土) 17:09:18.89ID:L/C5gyxS0
>>788
なるほど
でもSAの倍の座標がどこかが解りづらいんじゃない?
2022/01/29(土) 17:16:34.10ID:OyQV2dPc0
日本はA1形式なのでどっちにしても分かりづらい
歴史的経緯で今更どうしようもないとは言え、残念すぎる
2022/01/29(土) 17:29:33.23ID:36YHaPQ9M
>>789
倍の座標とかの計算結果で指定するならそりゃCells()で指定するよ
Dim c As Range
Set c = Range("SA100")
としてCells(2 * c.Row, 2 * c.Column)
>>781は例えば最初のセルの指定とかでアドレスが分かってる場合でしょ
2022/01/29(土) 17:59:18.61ID:u7cBLx/b0
>>782
うん。自分の耳が腐っていなければ確かにそれを強調していたように聞こえたよ。。
とにかく後任者の事を第一に考えようと。
あと、速度改善するマクロを書いても後任者が理解できなければそのマクロは結果遅いマクロとも。
一理あるなと思った。
かなり前の話だからうろ覚えごめんなさい。
2022/01/29(土) 18:07:28.04ID:oYmiRtJxM
何が正解かはケースバイケースだしね
LETとかLAMBDAのサポートで正解変わったりするし
2022/01/29(土) 18:58:08.38ID:D0pOsND50
CellsとRangeなんて一長一短なんだから
状況に合わせて使い易い方、分かり易い方を使えばいい。
どうせ両方とも型はRangeだ。
795デフォルトの名無しさん (オッペケ Srbd-4IfY)
垢版 |
2022/01/29(土) 19:05:46.63ID:XZlmQtKVr
例えば、数万行の処理をループで回す場合とか
Range と Cells とでは、処理速度が全然違うのよ。

実際にやってみればわかる。
2022/01/29(土) 19:07:36.86ID:u7cBLx/b0
Range(A & i)みたいなコードをたまに見るけど、あまり良い書き方ではないと聞きましたよ
2022/01/29(土) 19:10:29.95ID:D0pOsND50
>>796
そりゃ普通そんな書き方しないもの。
最初の位置から移動させて使う場合は
RangeならOffset使うでしょ。
2022/01/29(土) 19:13:25.82ID:u7cBLx/b0
いわゆる「マクロ入門書」とかにもそのような変な書き方がある。
教える側の立場にある人がそんな書き方してるのはちょっと
2022/01/29(土) 19:49:18.54ID:lAJromTAM
>>797
Offset(), Resize() はセル結合を「考慮してくれる」からイマイチ使い辛い
2022/01/29(土) 19:57:24.50ID:W/oxWoyf0
可読性と処理速度要件で変えるだけ
2022/01/29(土) 20:51:43.39ID:OyQV2dPc0
>>795
100万ループさせてやっと数秒か
この程度の差なら速度は誤差では?
速度抜きにしてもrange("a1")って書き方はせんけど

Sub foo()
GetLocalTimeTest
For i = 1 To 1000000
'5秒
'bar = Range(Cells(1, 1), Cells(1, 1))
'2.8秒
'bar = Cells(1, 1)
'6.7秒
'bar = Range("a1")
Next
GetLocalTimeTest
End Sub
2022/01/29(土) 20:55:44.71ID:2z3KoE650
setは?
2022/01/29(土) 21:16:18.07ID:u7cBLx/b0
ねーこれかなり凄くない?
https://rkb.jp/article/61225/
実務を経験していない女子高生がExcel世界一だって。
804デフォルトの名無しさん (ワッチョイ 39e6-KfKj)
垢版 |
2022/01/29(土) 21:18:02.94ID:j5q7lOJ70
>>790
いろは順が良かったってか?
2022/01/29(土) 21:19:19.33ID:zfCLVkWb0
学生大会ね
2022/01/29(土) 21:24:22.79ID:1BTFtAsTM
>>803
素直にすごいと思う
まあExcelに対する知識もさることながらプレゼン力やセンスも問われるから俺には全然無理
2022/01/29(土) 22:21:59.94ID:tNIxMt6Qd
>>803
マスゴミの手に掛かればExcelそっちのけで好きな食べ物は?とか好きな男性のタイプは?とかどうでも良い情報ばかり取り上げられるだけ
紹介動画でExcel触ってんの1分も無いじゃん
2022/01/29(土) 22:38:28.21ID:FzjWUvLmd
>>781
マクロの記録で自動生成されるとRangeが使われるからじゃない
自分もCells派だけどいろんなツールで使ってる共通的な関数群はRangeの方が作りやすいからRangeも使ってる
2022/01/29(土) 22:41:28.05ID:ZRWUeJUN0
ループ回すにはCellsのが書きやすい
2022/01/29(土) 22:44:29.32ID:yRT1rOmgM
>>808
> いろんなツールで使ってる共通的な関数群はRangeの方が作りやすいからRangeも使ってる
???
どっちを使っても型はRangeだよ…
2022/01/29(土) 23:35:26.26ID:FzjWUvLmd
書き方が良くなかったね
自分が作ってる関数だと引数の使い方がRangeの方が汎用性が高い
812デフォルトの名無しさん (ワッチョイ 39e6-KfKj)
垢版 |
2022/01/29(土) 23:51:38.36ID:j5q7lOJ70
引数は文字列と言うことかな?
2022/01/30(日) 01:33:47.10ID:RkuzR5nc0
作成依頼もOKということで書き込みさせていたただきます。
現在開いているシートの名前で、特定の場所にCSV(コンマ区切り)の形式で保存したいです。
また、エクセルを開きっぱなしで別のプログラムにCSVを読み込ませ、その後データを書き換えてCSVを上書き出力、読み込ませ、データを書き換え…、の繰り返しをしたいのですが、エクセルを開いていると別のプログラムで読み込んだ時にエラーが出てしまうため、別のブックとして保存して閉じることができると嬉しいです。
VBAについての知識がほとんどないため、こういった情報で作成依頼していいものなのかわかりませんが、よろしくお願いします。
2022/01/30(日) 02:59:23.74ID:MQJLXGaO0
>>813
Sub save_sheet_as_csv()
  Dim this As Worksheet: Set this = ActiveSheet
  Dim sheet_name As String: sheet_name = this.Name 'ワークシート名取得
  Dim save_folder As String: save_folder = "c:\tmp\" '保存先フォルダ指定
  Dim save_fullpath As String: save_fullpath = save_folder & sheet_name & ".csv"

  this.SaveAs Filename:=save_fullpath, FileFormat:=xlCSV 'CSVで保存
End Sub
815デフォルトの名無しさん (ワッチョイ 3a00-Bf/t)
垢版 |
2022/01/30(日) 03:34:13.23ID:RkuzR5nc0
>>814
ありがとうございます、試してみたところ、出力したCSVを別のプログラムで読み込もうとしたときに「別のプロセスで使用中のため開けません」とのエラーが出てしまいました。
私の使い方が悪いのかもしれませんが、アドバイスいただけるとありがたいです。
2022/01/30(日) 03:54:54.88ID:MQJLXGaO0
>>815
ブックを閉じるには、これを最後に入れる
Workbook.Close
817デフォルトの名無しさん (ワッチョイ 3a00-Bf/t)
垢版 |
2022/01/30(日) 04:02:16.39ID:RkuzR5nc0
>>816
ありがとうございます、うまくできませんでした…。
ネットで拾ったものですが、これがやりたいことに近いかなと思うんですが、保存先の指定はどうすればいいでしょうか。

Application.DisplayAlerts = False 'Excelの警告を一時無視

ActiveSheet.Copy '新しいブックへコピー

ActiveWorkbook.SaveAs Filename:="book1.csv", FileFormat:=xlCSV, Local:=True 'CSVで保存。ファイル名は「book1.csv」。

Workbooks("book1.csv").Close 'book1.csvを閉じる

Application.DisplayAlerts = True
2022/01/30(日) 04:58:34.47ID:MQJLXGaO0
>>817
じゃあこっちを使ってみて
CSVで保存の次に以下の1行を追加
Application.Quit

いきなりExcelが終了するので、直したら保存を忘れずに
2022/01/30(日) 07:43:58.44ID:q4Ohgw6D0
>>759
うちの環境だと、FilterオブジェクトにSortはないね
その代わり、ListObject.AutoFilter.Sort.SortFields.Countで検出できそうなのは見つけた
もしかしてこのへんバージョン毎に違ったりするのだろうか?
2022/01/30(日) 09:05:00.91ID:4Di3AbRzM
>>819
すまん今見たらそっちが正しいわ
なんか勘違いしてた
2022/01/30(日) 09:32:32.30ID:XZOTMr4+0
>>807
確かにw
取材側の都合の良いように組まれているね。
言われてみればグラフの装飾だけでExcelを操作していないわ。
822デフォルトの名無しさん (ワッチョイ 3a00-VTwM)
垢版 |
2022/01/30(日) 09:32:37.50ID:RkuzR5nc0
>>818
私の伝え方が悪かったです。
Excel自体は終了せずに、現在使用しているブックとは別のブックとしてcsvを出力して、そちらを閉じたいのです。
2022/01/30(日) 09:54:20.39ID:XZOTMr4+0
そもそも学生大会があるってのは知らなかった
騒がしてごめんなさい😢⤵⤵
2022/01/30(日) 11:04:58.48ID:q4Ohgw6D0
>>820
いやいや、むしろ知らない方法を見つけられたのでありがたかったです
2022/01/30(日) 12:45:39.26ID:mFQLQi3M0
VBAももう終わりそうだな
MSはWEB版にしたいみたいだし
2022/01/30(日) 12:58:15.03ID:+kmkPMy10
不滅です
2022/01/30(日) 13:00:10.17ID:gD+f1kBW0
終わる要素一切なくて草
2022/01/30(日) 13:13:55.29ID:wiJ8ix3a0
MSがGoogleに頭下げてGASで統一しましょうみたいな交渉を持ち掛けない限りはないだろ
2022/01/30(日) 13:18:12.09ID:XZOTMr4+0
確か4.0マクロ廃止とパワークエリはマクロ作業を減らすためにMSが作ったんじゃないのかい?
2022/01/30(日) 18:00:19.55ID:k8uzKlEP0
>>825
気が早いな
まだ学校や企業のライセンスでしか
Web版Excelのjavascriptでの開発は出来ないと言うのに
2022/01/30(日) 18:51:59.67ID:gD+f1kBW0
パワーピボットは本当にスゴイ
なんでもっと早く実装しなかったんだ・・・
2022/01/30(日) 19:06:51.96ID:DR73eQYX0
ようつべにこんなのあった。

Excelオンラインで最新Excel関数を練習したいという方も必見です!どこまでできるか試してみた!
https://youtu.be/saC7BegnViI

Power Queryは使えないけど
テーブル、スライサー、ピボットテーブルは使える模様。

ただ、スマホの小さな狭い画面だとムリだろな・・・
833デフォルトの名無しさん (オッペケ Srbd-4IfY)
垢版 |
2022/01/30(日) 19:55:45.81ID:gNdtnnB7r
なんで、Access使わないの?
SQL 使えないと不便じゃん。
2022/01/30(日) 19:57:56.80ID:PMeev6woM
powerqueryで十分だから
excelだけで完結する
2022/01/30(日) 20:17:09.09ID:XZOTMr4+0
Excelオンラインって一部の上級者が食いつき始めていると聞きましたわ
2022/01/30(日) 21:04:21.08ID:k8uzKlEP0
>>833
何故にEXCELでSQLが使えないと思ったのかは聞かないけど
まだSQL初心者でクエリ画面開いてチマチマとテーブル繋いで設定していく
あのACCESSのが使えないかと言われればそれはそう。

でも複雑なSQLを組むようになると結局手で書いた方が早くなるからアレもあまり必要性を感じないけどね。

結局、ADOさえ理解していればACCESSだろうがORACLEだろうがSQLSERVERだろうがその気になれば
EXCELのシートだろうがCSVファイルだろうがEXCEL上からSQLを実施することが出来る。

ただ、本来DBの用途からかけ離れるほど使用に制限を受けるよ。
例えばEXCELのシートやCSVファイルはDELETE文が使えなかったりとか。
2022/01/30(日) 21:18:16.55ID:k8uzKlEP0
>>835
さっきもちょっと書いたけど
まだ商用か教育機関用のライセンスじゃないと
Javascriptで開発すること出来ないんだよね。

だからJavascriptやってない人は
まだ猶予期間がある内に
Javascript触って慣れておくといいよ。
特にスカラー変数とかまるで
全ての変数はVariant型で扱うかの
ようになったり、
Jqueryとかが出てくると
メソッドを変数に入れたり
チェーンメソッドみたいなのも出て来たり

その前にHTMLやCSSも勉強しなきゃだけど。
2022/01/30(日) 21:24:55.59ID:gD+f1kBW0
ちゃんとしたデータが揃ってるって前提なら、DELETEなんて使う事はそんなになくないか?

>>837
エクセルでjQuery使えるの?
2022/01/30(日) 21:36:30.54ID:k8uzKlEP0
>>838
DELETE使う必要があるかと聞かれれば、
まぁ有った方が便利かも知れないね、という程度。
何せEXCELのシートで条件に合った行が一発で消せるのであればまぁ便利だろう。ただ、
VBAでそういうロジック組めば代用出来ない訳じゃない。

Jqueryが使えるかどうかは俺もまだ
Web版EXCELの開発環境触ったことないから分からんけど、
どっちにしてもJavascriptをやるならついでに覚えて置いた方がいい。とっても便利。
840デフォルトの名無しさん (ワッチョイ 668e-ltXr)
垢版 |
2022/01/30(日) 22:15:29.30ID:sjTHXMe20
ID:k8uzKlEP0

またいつもの馬鹿が嘘ばっか書いてる
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。