1 名前:デフォルトの名無しさん mailto:sage [2021/12/20(月) 01:40:59.22 ID:jnlr9GaR0.net] !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
762 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 09:54:07.85 ID:OyQV2dPc0.net] >751 覚える事が信じられないぐらい少なく、誰でも使えるから 変数とif、for辺り知ってればほとんどの場合に対応できる 若干とっつきにくいのがset程度 更に相当テキトーに書いても他へ影響し辛い どれも実務上は長所だけど、 他の言語を知ってると「なにこれ?」ってなるのはわかる。なんというかおもちゃっぽい
763 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 10:17:37.26 ID:M8ea68f50.net] >>745 自分の環境だと、普通のフィルタをかけた状態ならそれで拾えるけど、フィルタのソートを行った状態は拾えないので、やりたくないけどどうしてもやるなら列のデータをなめるしかないのかなと >>751 元々、Visual Basic自体がBASICという、学校でプログラミングの導入として教えるような簡易なプログラミング言語から派生したものだから、他の言語より低く見られていた 更にそこから派生したVBA(マクロ)やVBS(スクリプト)なんかはより低く見られている まぁ実際に、図体の重たいプログラムでは手が届きにくい部分を補完する孫の手的な使い方をするのが主流なので、穴埋めや間に合わせ的な位置付けに見られているからだと思う
764 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 11:04:25.26 ID:1pI7yMTXM.net] >>758 ソートは一時的な状態じゃないから完全に拾えるわけじゃないけど ListObjects(...).AutoFilter.Filters(...).Sort 見たらわかるんじゃないの?
765 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 11:05:21.11 ID:bDLL2+/00.net] >>751 差別しているのは Ruby厨だから無視していいんじゃね そもそも言語に上下なんかないし
766 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 11:13:37.04 ID:M50L9SrL0.net] >>757 > 他の言語を知ってると「なにこれ?」ってなるのはわかる。なんというかおもちゃっぽい なんとなく納得できる表現だな。 C・C++・C#・JAVA・Rustとかの、かちっとしたのが当然だと思ってると面食らう。 特に Variant。まあ、最近はコンパイラ系に逆輸入されてるけど。
767 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 11:15:31.30 ID:M50L9SrL0.net] あ。馬鹿にしてるわけではないよ。便利だと思う。 ただ、コンストラクタ引数と継承は入れてほしかった。
768 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 11:28:56.70 ID:tQGwfe1Lr.net] VBAが言語として下に見られてるのかは知らんが書いてるやつの水準は他言語より圧倒的に下だよ 変数の型指定しない、withつかわない、まとめられる処理をまとめずにコピペし大量のモジュールを作る、配列とか使わないでセルを一回一回読み書き こんなコードが会社のエクセルにはたくさんある そしてそれが神マクロと崇め奉られてるのホントゴミ
769 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 11:44:30.01 ID:PUyOyrFtM.net] >>761 > 特に Variant。まあ、最近はコンパイラ系に逆輸入されてるけど。 void * とか昔からあるけど?
770 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 12:02:30.08 ID:ZRWUeJUN0.net] 結果がすべて 仕事を終わらせたやつが評価されるんであって、どんな方法を使ったか、きれいに書いたかどうかなんて普通は問われない
771 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 12:10:51.21 ID:L/C5gyxS0.net] >>765 俺もそっちだわ 仕様として許容されているなら使う人が目的達成できればどうでもいいんよ まぁリファクタリングしろと言われたら発狂するが
772 名前:デフォルトの名無しさん [2022/01/29(土) 12:12:26.42 ID:nI5CwbIZ0.net] 何かを見下したい、マウントを取りたいのは、 愚か者の本能であって、理由は後付け。 VBA がハイコストパフォーマンスで ある程度のシステムを構築できてしまう 便利なツールであることには変わりない。 頭の悪い人間ほど、意味のない格付けをしたがる。
773 名前:デフォルトの名無しさん [2022/01/29(土) 12:22:38.03 ID:nI5CwbIZ0.net] Windows環境で、 なんらかの要件を実現する方法の選定として 導入コストを考えたら、DOSバッチでも PowerShellでも、JavaScriptでも、WSHでも 既存のリソースのみで実現できる方が良いに決まってる。 特に日本人の思考は、合理性を軽視して、見てくれや くだらない感情で判断することが多いので、 開発のプロジェクトでも時間とカネのコスト管理ができてない 愚かな企業が多い。
774 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 12:23:55.26 ID:hiZAoffAM.net] >>765 そういう書き捨ての仕事もあるし、連綿と続く仕事もある
775 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 12:27:08.84 ID:nI5CwbIZ0.net] 結果として、他国からバカにされてる 日本の生産性の低さに繋がっている あらゆる分野で、開発スピードは、 圧倒的に米欧・中華が優っている
776 名前:デフォルトの名無しさん [2022/01/29(土) 12:29:20.03 ID:iTemfgLK0.net] >>768 例の馬鹿か
777 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 12:34:16.18 ID:Q0NPbY74r.net] >>765 書き捨てではなく日々の定型業務につかわれ それらが前提になって業務フローが組まれてるから 保守が必要なんだよなあ… なお制作者と仕様書、コメントはない
778 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 12:43:35.90 ID:28WRDRfRr.net] まあ正直、要件定義〜設計までの上流工程の人間からすると 言語は何でも良いんだけどね。 こだわるのはコーディングフェーズ以下の下流エンジニアであって。
779 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 14:49:20.34 ID:u7cBLx/b0.net] 関数が得意な人はなんでも関数で片付ける、マクロが得意な人はなんでもマクロでやろうとする傾向があると田中氏が言っていたな講演会で。 バランス良く使える人こそ真のエキスパートだとも。
780 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 15:14:16.94 ID:YNpwCmNLM.net] >>774 そうなんか 確かに関数使うのって電卓がわりにするか文字の置き換えくらいかも
781 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 15:41:11.14 ID:D/yb4xS+0.net] 指定した範囲にそれぞれ外枠線を引きたいのですが、量が多くなると時間がかかるので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:=xl
782 名前:Thin だと、Range("B2:C51").BorderAround Weight:=xlThin と同じになってしまいます。 短い時間で、それぞれの範囲に外枠線を引く方法を教えてください [] [ここ壊れてます]
783 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 15:45:53.96 ID:W/oxWoyf0.net] >>753 https://www.google.co.jp/search?q=vba+%E3%82%BD%E3%83%BC%E3%82%B9%E5%8F%96%E5%BE%97
784 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 15:52:44.84 ID:MAc7BERw0.net] >>761 JavaでもObjectになんでも突っ込めるじゃん
785 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 16:14:17.19 ID:u7cBLx/b0.net] マクロ書くより手作業でやった方が早いのにわざわざマクロでやる人ばかりとも言っていたな。 なるほどなと納得する講演会だったね。
786 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 16:34:34.13 ID:L/C5gyxS0.net] 今知ったんだけどFalseってフォルスって読むんだな 考えてみれば失敗じゃなくて偽りだもんな 本職じゃなくて良かったわ〜
787 名前:デフォルトの名無しさん [2022/01/29(土) 16:35:06.88 ID:RDGmPxZCr.net] なんで Cells を使わず、わざわざ Range を使うのが多数派なんだろ。 メリットないじゃん。意味わからん。
788 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 16:40:41.52 ID:D0pOsND50.net] >>774 田中さんそんなこと言ってたのか 俺ならバランスより効率重視だな 数式にマクロの関数仕込むこともあるし その逆もある。
789 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 16:41:42.31 ID:fC9nxr54M.net] だってマクロ書きたいんだもん
790 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 16:49:23.58 ID:wL4gsmFrd.net] >>781 a1とかa1:f5とかを暗黙定義された名前と考えて 名前で指定するイメージ
791 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 17:04:38.36 ID:fQ9LbNHBM.net] >>780 失敗は Fail だもんな
792 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 17:04:52.88 ID:L/C5gyxS0.net] 俺はcellsだよ、座標として捉えてるから数値との親和性が高く感じる
793 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 17:06:06.65 ID:L/C5gyxS0.net] >>785 そやねん、フェイルセーフっていうからその延長で思い込んでしまってたみたい
794 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 17:06:09.58 ID:fQ9LbNHBM.net] >>781 極端な例だけど Cells(100, 100) がどのセルを指してるのかすぐにわかるなら…
795 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 17:09:18.89 ID:L/C5gyxS0.net] >>788 なるほど でもSAの倍の座標がどこかが解りづらいんじゃない?
796 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 17:16:34.10 ID:OyQV2dPc0.net] 日本はA1形式なのでどっちにしても分かりづらい 歴史的経緯で今更どうしようもないとは言え、残念すぎる
797 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 17:29:33.23 ID:36YHaPQ9M.net] >>789 倍の座標とかの計算結果で指定するならそりゃCells()で指定するよ Dim c As Range Set c = Range("SA100") としてCells(2 * c.Row, 2 * c.Column) >>781 は例えば最初のセルの指定とかでアドレスが分かってる場合でしょ
798 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 17:59:18.61 ID:u7cBLx/b0.net] >>782 うん。自分の耳が腐っていなければ確かにそれを強調していたように聞こえたよ。。 とにかく後任者の事を第一に考えようと。 あと、速度改善するマクロを書いても後任者が理解できなければそのマクロは結果遅いマクロとも。 一理あるなと思った。 かなり前の話だからうろ覚えごめんなさい。
799 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 18:07:28.04 ID:oYmiRtJxM.net] 何が正解かはケースバイケースだしね LETとかLAMBDAのサポートで正解変わったりするし
800 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 18:58:08.38 ID:D0pOsND50.net] CellsとRangeなんて一長一短なんだから 状況に合わせて使い易い方、分かり易い方を使えばいい。 どうせ両方とも型はRangeだ。
801 名前:デフォルトの名無しさん [2022/01/29(土) 19:05:46.63 ID:XZlmQtKVr.net] 例えば、数万行の処理をループで回す場合とか Range と Cells とでは、処理速度が全然違うのよ。 実際にやってみればわかる。
802 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 19:07:36.86 ID:u7cBLx/b0.net] Range(A & i)みたいなコードをたまに見るけど、あまり良い書き方ではないと聞きましたよ
803 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 19:10:29.95 ID:D0pOsND50.net] >>796 そりゃ普通そんな書き方しないもの。 最初の位置から移動させて使う場合は RangeならOffset使うでしょ。
804 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 19:13:25.82 ID:u7cBLx/b0.net] いわゆる「マクロ入門書」とかにもそのような変な書き方がある。 教える側の立場にある人がそんな書き方してるのはちょっと
805 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 19:49:18.54 ID:lAJromTAM.net] >>797 Offset(), Resize() はセル結合を「考慮してくれる」からイマイチ使い辛い
806 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 19:57:24.50 ID:W/oxWoyf0.net] 可読性と処理速度要件で変えるだけ
807 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 20:51:43.39 ID:OyQV2dPc0.net] >>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
808 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 20:55:44.71 ID:2z3KoE650.net] setは?
809 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 21:16:18.07 ID:u7cBLx/b0.net] ねーこれかなり凄くない? https://rkb.jp/article/61225/ 実務を経験していない女子高生がExcel世界一だって。
810 名前:デフォルトの名無しさん [2022/01/29(土) 21:18:02.94 ID:j5q7lOJ70.net] >>790 いろは順が良かったってか?
811 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 21:19:19.33 ID:zfCLVkWb0.net] 学生大会ね
812 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 21:24:22.79 ID:1BTFtAsTM.net] >>803 素直にすごいと思う まあExcelに対する知識もさることながらプレゼン力やセンスも問われるから俺には全然無理
813 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 22:21:59.94 ID:tNIxMt6Qd.net] >>803 マスゴミの手に掛かればExcelそっちのけで好きな食べ物は?とか好きな男性のタイプは?とかどうでも良い情報ばかり取り上げられるだけ 紹介動画でExcel触ってんの1分も無いじゃん
814 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 22:38:28.21 ID:FzjWUvLmd.net] >>781 マクロの記録で自動生成されるとRangeが使われるからじゃない 自分もCells派だけどいろんなツールで使ってる共通的な関数群はRangeの方が作りやすいからRangeも使ってる
815 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 22:41:28.05 ID:ZRWUeJUN0.net] ループ回すにはCellsのが書きやすい
816 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 22:44:29.32 ID:yRT1rOmgM.net] >>808 > いろんなツールで使ってる共通的な関数群はRangeの方が作りやすいからRangeも使ってる ??? どっちを使っても型はRangeだよ…
817 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 23:35:26.26 ID:FzjWUvLmd.net] 書き方が良くなかったね 自分が作ってる関数だと引数の使い方がRangeの方が汎用性が高い
818 名前:デフォルトの名無しさん [2022/01/29(土) 23:51:38.36 ID:j5q7lOJ70.net] 引数は文字列と言うことかな?
819 名前:デフォルトの名無しさん mailto:sage [2022/01/30(日) 01:33:47.10 ID:RkuzR5nc0.net] 作成依頼もOKということで書き込みさせていたただきます。 現在開いているシートの名前で、特定の場所にCSV(コンマ区切り)の形式で保存したいです。 また、エクセルを開きっぱなしで別のプログラムにCSVを読み込ませ、その後データを書き換えてCSVを上書き出力、読み込ませ、データを書き換え…、の繰り返しをしたいのですが、エクセルを開いていると別のプログラムで読み込んだ時にエラーが出てしまうため、別のブックとして保存して閉じることができると嬉しいです。 VBAについての知識がほとんどないため、こういった情報で作成依頼していいものなのかわかりませんが、よろしくお願いします。
820 名前:デフォルトの名無しさん mailto:sage [2022/01/30(日) 02:59:23.74 ID:MQJLXGaO0.net] >>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
821 名前:デフォルトの名無しさん [2022/01/30(日) 03:34:13.23 ID:RkuzR5nc0.net] >>814 ありがとうございます、試してみたところ、出力したCSVを別のプログラムで読み込もうとしたときに「別のプロセスで使用中のため開けません」とのエラーが出てしまいました。 私の使い方が悪いのかもしれませんが、アドバイスいただけるとありがたいです。
822 名前:デフォルトの名無しさん mailto:sage [2022/01/30(日) 03:54:54.88 ID:MQJLXGaO0.net] >>815 ブックを閉じるには、これを最後に入れる Workbook.Close
823 名前:デフォルトの名無しさん [2022/01/30(日) 04:02:16.39 ID:RkuzR5nc0.net] >>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
824 名前:デフォルトの名無しさん mailto:sage [2022/01/30(日) 04:58:34.47 ID:MQJLXGaO0.net] >>817 じゃあこっちを使ってみて CSVで保存の次に以下の1行を追加 Application.Quit いきなりExcelが終了するので、直したら保存を忘れずに
825 名前:デフォルトの名無しさん mailto:sage [2022/01/30(日) 07:43:58.44 ID:q4Ohgw6D0.net] >>759 うちの環境だと、FilterオブジェクトにSortはないね その代わり、ListObject.AutoFilter.Sort.SortFields.Countで検出できそうなのは見つけた もしかしてこのへんバージョン毎に違ったりするのだろうか?
826 名前:デフォルトの名無しさん mailto:sage [2022/01/30(日) 09:05:00.91 ID:4Di3AbRzM.net] >>819 すまん今見たらそっちが正しいわ なんか勘違いしてた
827 名前:デフォルトの名無しさん mailto:sage [2022/01/30(日) 09:32:32.30 ID:XZOTMr4+0.net] >>807 確かにw 取材側の都合の良いように組まれているね。 言われてみればグラフの装飾だけでExcelを操作していないわ。
828 名前:デフォルトの名無しさん [2022/01/30(日) 09:32:37.50 ID:RkuzR5nc0.net] >>818 私の伝え方が悪かったです。 Excel自体は終了せずに、現在使用しているブックとは別のブックとしてcsvを出力して、そちらを閉じたいのです。
829 名前:デフォルトの名無しさん mailto:sage [2022/01/30(日) 09:54:20.39 ID:XZOTMr4+0.net] そもそも学生大会があるってのは知らなかった 騒がしてごめんなさい😢⤵⤵
830 名前:デフォルトの名無しさん mailto:sage [2022/01/30(日) 11:04:58.48 ID:q4Ohgw6D0.net] >>820 いやいや、むしろ知らない方法を見つけられたのでありがたかったです
831 名前:デフォルトの名無しさん mailto:sage [2022/01/30(日) 12:45:39.26 ID:mFQLQi3M0.net] VBAももう終わりそうだな MSはWEB版にしたいみたいだし
832 名前:デフォルトの名無しさん mailto:sage [2022/01/30(日) 12:58:15.03 ID:+kmkPMy10.net] 不滅です
833 名前:デフォルトの名無しさん mailto:sage [2022/01/30(日) 13:00:10.17 ID:gD+f1kBW0.net] 終わる要素一切なくて草
834 名前:デフォルトの名無しさん mailto:sage [2022/01/30(日) 13:13:55.29 ID:wiJ8ix3a0.net] MSがGoogleに頭下げてGASで統一しましょうみたいな交渉を持ち掛けない限りはないだろ
835 名前:デフォルトの名無しさん mailto:sage [2022/01/30(日) 13:18:12.09 ID:XZOTMr4+0.net] 確か4.0マクロ廃止とパワークエリはマクロ作業を減らすためにMSが作ったんじゃないのかい?
836 名前:デフォルトの名無しさん mailto:sage [2022/01/30(日) 18:00:19.55 ID:k8uzKlEP0.net] >>825 気が早いな まだ学校や企業のライセンスでしか Web版Excelのjavascriptでの開発は出来ないと言うのに
837 名前:デフォルトの名無しさん mailto:sage [2022/01/30(日) 18:51:59.67 ID:gD+f1kBW0.net] パワーピボットは本当にスゴイ なんでもっと早く実装しなかったんだ・・・
838 名前:デフォルトの名無しさん mailto:sage [2022/01/30(日) 19:06:51.96 ID:DR73eQYX0.net] ようつべにこんなのあった。 Excelオンラインで最新Excel関数を練習したいという方も必見です!どこまでできるか試してみた! https://youtu.be/saC7BegnViI Power Queryは使えないけど テーブル、スライサー、ピボットテーブルは使える模様。 ただ、スマホの小さな狭い画面だとムリだろな・・・
839 名前:デフォルトの名無しさん [2022/01/30(日) 19:55:45.81 ID:gNdtnnB7r.net] なんで、Access使わないの? SQL 使えないと不便じゃん。
840 名前:デフォルトの名無しさん mailto:sage [2022/01/30(日) 19:57:56.80 ID:PMeev6woM.net] powerqueryで十分だから excelだけで完結する
841 名前:デフォルトの名無しさん mailto:sage [2022/01/30(日) 20:17:09.09 ID:XZOTMr4+0.net] Excelオンラインって一部の上級者が食いつき始めていると聞きましたわ
842 名前:デフォルトの名無しさん mailto:sage [2022/01/30(日) 21:04:21.08 ID:k8uzKlEP0.net] >>833 何故にEXCELでSQLが使えないと思ったのかは聞かないけど まだSQL初心者でクエリ画面開いてチマチマとテーブル繋いで設定していく あのACCESSのが使えないかと言われればそれはそう。 でも複雑なSQLを組むようになると結局手で書いた方が早くなるからアレもあまり必要性を感じないけどね。 結局、ADOさえ理解していればACCESSだろうがORACLEだろうがSQLSERVERだろうがその気になれば EXCELのシートだろうがCSVファイルだろうがEXCEL上からSQLを実施することが出来る。 ただ、本来DBの用途からかけ離れるほど使用に制限を受けるよ。 例えばEXCELのシートやCSVファイルはDELETE文が使えなかったりとか。
843 名前:デフォルトの名無しさん mailto:sage [2022/01/30(日) 21:18:16.55 ID:k8uzKlEP0.net] >>835 さっきもちょっと書いたけど まだ商用か教育機関用のライセンスじゃないと Javascriptで開発すること出来ないんだよね。 だからJavascriptやってない人は まだ猶予期間がある内に Javascript触って慣れておくといいよ。 特にスカラー変数とかまるで 全ての変数はVariant型で扱うかの ようになったり、 Jqueryとかが出てくると メソッドを変数に入れたり チェーンメソッドみたいなのも出て来たり その前にHTMLやCSSも勉強しなきゃだけど。
844 名前:デフォルトの名無しさん mailto:sage [2022/01/30(日) 21:24:55.59 ID:gD+f1kBW0.net] ちゃんとしたデータが揃ってるって前提なら、DELETEなんて使う事はそんなになくないか? >>837 エクセルでjQuery使えるの?
845 名前:デフォルトの名無しさん mailto:sage [2022/01/30(日) 21:36:30.54 ID:k8uzKlEP0.net] >>838 DELETE使う必要があるかと聞かれれば、 まぁ有った方が便利かも知れないね、という程度。 何せEXCELのシートで条件に合った行が一発で消せるのであればまぁ便利だろう。ただ、 VBAでそういうロジック組めば代用出来ない訳じゃない。 Jqueryが使えるかどうかは俺もまだ Web版EXCELの開発環境触ったことないから分からんけど、 どっちにしてもJavascriptをやるならついでに覚えて置いた方がいい。とっても便利。
846 名前:デフォルトの名無しさん [2022/01/30(日) 22:15:29.30 ID:sjTHXMe20.net] ID:k8uzKlEP0 またいつもの馬鹿が嘘ばっか書いてる
847 名前:デフォルトの名無しさん mailto:sage [2022/01/30(日) 23:07:47.49 ID:k8uzKlEP0.net] 例えばだけど VBAを生業としているとその内DBとのやり取りを行うようになってSQLは必須になることは理解している人はここにも沢山いると思う。 同様にWeb系を行うならHTMLやCSS、Javascriptの知識が必須になるんだよ。 もしEXCELがWeb主体で扱われるようになるのであればその知識が必要ってだけ。 まぁ確かにスレ違いではあるから ぼちぼちおいとまするよ。
848 名前:デフォルトの名無しさん mailto:sage [2022/01/30(日) 23:34:30.41 ID:fPY/YlGjd.net] Excelでやるには面倒なことでほかの言語知っててそっちの方が簡単ならわざわざExcelなんて使わないでしょう 開発者ならそれぐらいわかりそうなもんだと思うけどわざわざ関係ないことを持ち出してくる必要ないのにね
849 名前:デフォルトの名無しさん [2022/01/30(日) 23:58:36.03 ID:sjTHXMe20.net] >>841 嘘ばっかと指摘されてもしつこく書く馬鹿
850 名前:デフォルトの名無しさん [2022/01/31(月) 02:05:16.34 ID:YxHLvxrCM.net] ruby馬鹿だろ
851 名前:デフォルトの名無しさん mailto:sage [2022/01/31(月) 04:36:16.27 ID:ByM6Elur0.net] >>822 Sub save_sheet_as_csv() save_folder = "c:\tmp\" '保存先フォルダ指定 file_name = ActiveSheet.Name & ".csv" 'シート名をファイル名に ActiveSheet.Copy '現在のシートを新規ブックへコピー Application.DisplayAlerts = False '警告を無視して上書き保存できるようにする ActiveWorkbook.SaveAs Filename:=save_folder & file_name, FileFormat:=xlCSV 'CSVで保存 Workbooks(file_name).Close '新規ブックを閉じる End Sub
852 名前:デフォルトの名無しさん mailto:sage [2022/01/31(月) 08:22:57.51 ID:q62M0ujX0.net] 何が嘘で本当はどうなのかを書けば一発なのに
853 名前:デフォルトの名無しさん mailto:sage [2022/01/31(月) 09:22:06.68 ID:KIxAb0730.net] いやさすがにウソは書き込みしないでいただきたい。 このスレは真面目に勉強したい人もいますので。。 ウソを本当のように書かれると信じちゃうじゃん。
854 名前:デフォルトの名無しさん mailto:sage [2022/01/31(月) 09:28:32.59 ID:xKkvHIL7d.net] JSとか関係ない話を持ち出してる人のレスが問題なだけでVBAの回答だけなら嘘はないんじゃないの それと書かれてる内容で勉強したいなら実際に動かしてみるべきだと思うよ
855 名前:デフォルトの名無しさん mailto:sage [2022/01/31(月) 09:38:43.11 ID:9sC6tTKap.net] JSはWebのエクセルの話から派生したみたいだからあながち完全にスレチという訳でもなさそうだな 一応俺も少しJS齧ってはいるけど嘘を書いているようには見えないなぁ どの辺が嘘なんだろ?
856 名前:デフォルトの名無しさん mailto:sage [2022/01/31(月) 10:13:50.76 ID:zlqGzvHc0.net] >>849 嘘ではなかった、アドイン入れたらJS使えたわ ただ、ぱっと触った所vbaでいいとしか思わんかった。慣れてる方が楽でいい jQueryも使えると思うけど、使う理由はないと思う。あれセレクタ便利になるけど、エクセルjsでは使わないような ただwebエクセルでの使い方がわからんかったけど、多分一生使わないからもういいや
857 名前:デフォルトの名無しさん mailto:sage [2022/01/31(月) 10:25:32.89 ID:xKkvHIL7d.net] 自分は嘘と言ってるつもりはないけど話が散らかりすぎてしかもどうでもいいことをダラダラ書きすぎと思ってるけどね 知ってることをいろいろ言いたいのかもしれないけどスレチだってことをわきまえてほしい
858 名前:デフォルトの名無しさん mailto:sage [2022/01/31(月) 10:46:32.75 ID:e1XVzmlT0.net] Web版Excelのマクロ機能(JSスクリプト)は家庭向け製品では使えない いまのところ法人向け製品だけの機能
859 名前:デフォルトの名無しさん mailto:sage [2022/01/31(月) 10:58:28.57 ID:zlqGzvHc0.net] >>852 ああそういうことね、ありがとう
860 名前:デフォルトの名無しさん mailto:sage [2022/01/31(月) 11:28:12.04 ID:KIxAb0730.net] まあ、ウソホントの話は置いといてマッタリ平和にやりましょうよ
861 名前:デフォルトの名無しさん mailto:sage [2022/01/31(月) 12:34:07.47 ID:/myUa4Xt0.net] 争いが嘘か、平和が嘘か
862 名前:デフォルトの名無しさん mailto:sage [2022/01/31(月) 12:47:21.32 ID:PJdTm1ZT0.net] JavaScriptと書いてくれ、途中まで理解が噛み合わなかったわ笑