lynx   »   [go: up one dir, main page]

タグ

programmingとExcelに関するch1248のブックマーク (50)

  • ExcelのPythonJupyter Notebook

    ExcelPythonJupyter Notebook JupyterをMicrosoftExcelに埋め込み、VBAの代わりにPythonを記述します 以前は、ExcelPython JupyterNotebooksの間の「どちらか/または」の選択でした。PyXLL-Jupyterパッケージの導入により、両方を並べて使用できるようになりました。 この記事では、Excel内で実行されるJupyterNotebookをセットアップする方法を紹介します。2つの間でデータを共有し、ExcelワークブックからJupyterノートブックに記述されたPython関数を呼び出すこともできます。 入門 まず、ExcelPythonコードを実行するには、PyXLLアドインが必要です。PyXLLアドインを使用すると、PythonExcelに統合し、VBAの代わりにPythonを使用できます。PyXLL

    ExcelのPythonJupyter Notebook
    ch1248
    ch1248 2021/03/09
    何だこれすげえ。
  • ExcelでVBAを使わないでドラクエ3を再現する | パパセンセイ365

    English 久しぶりにExcelゲームを再現してみました。 ツイッターでどんなゲームを作るのが良いか募集したところ、なんと1位がドラクエ。 初めて質問箱を使ってみます。なかなか決められなくて‥‥。 VBAを使わないExcelゲーム、どれを作るのが良さそうですか? — パパセンセイ@Excelを眺める人 (@10mikiya) September 21, 2020 正直どう作って良いか見当もつかないまま見切り発車で進めましたが、なんとか形になったので公開の流れになりました。最適化されてないロジックもありますので温かい目で見守っていただけますと幸いです。 一応、再度伝えておきますがVBAは一切使っていません。 [ad01]

    ch1248
    ch1248 2020/11/04
    何がこの人をそうさせるんだ……。
  • Excelブック単体でExcelVBAを疑似マルチスレッド化してみる - えくせるちゅんちゅん

    今回はExcelブック単体でVBAを疑似マルチスレッド化できるか実験を行い、見事成功したので紹介します。 きっかけ コード 結果 ちょっとだけ解説 Application.OnTime について まとめ きっかけ 最近(私の中で)話題な「Excel Piano」開発者のA氏がこんなツイートをしていました。 VBAで並列処理するのってどうやるんだろ… VBS呼び出せばいいけどWindows APIの呼び出しがExcel経由でやらんなんくてなんか面倒。 いいやり方知ってる人いたらリプください— あっさん (@Kabura_net14831) 2019年3月26日 彼の言うとおり VBScript を使うことで、並列処理をすることは可能ですが、いろいろと問題があります。 VBSで実現できる並列処理は、疑似マルチスレッド(実際にはマルチプロセス)である。 VBSはExcelのVBEの中でデバッグが

    Excelブック単体でExcelVBAを疑似マルチスレッド化してみる - えくせるちゅんちゅん
    ch1248
    ch1248 2019/03/27
    Excelでマルチスレッド
  • なぜVLOOKUPを使えるとExcel中級者なのか - 本しゃぶり

    Excel中級者の定義は、VLOOKUPを使えることである。 この力を手にした時、人は神を追放する。 Excel中級者 「Excelが使える」とはどの程度のことを指すのか。企業の募集などで「Excelが使える人」と言う場合、それはExcelの達人を求めているわけではない。かと言って使える関数がSUMとAVERAGE程度の、初心者を指すわけでもない。ここで必要とされるのは「Excel中級者」である。 求められているのが「Excel中級者」ならば話は早い。VLOOKUPが使えればそれでいいのだから。 この定義について、今では異論のある人はほとんどいない。しかし、なぜVLOOKUPが使えたら中級者*1と言えるのか分かっている人は少ない。だからこの記事でそれを解説したいと思う。 VLOOKUPとは 表や範囲から行ごとに数値や文字列などを検索するには、検索/行列関数の 1 つ、VLOOKUP を使用

    なぜVLOOKUPを使えるとExcel中級者なのか - 本しゃぶり
    ch1248
    ch1248 2017/06/05
    VBA(ユーザー関数含む)派だったが、最近はPowerShellやC#からのCOM呼び出し派になりつつある。
  • Excelファイルを C# と VB.NET で読み込む "正しい" 方法 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに "Excel C#" や "Excel VB.NET" でググった新人プログラマが、古い情報や間違った情報で茨の道を選ばずに済むようにと思って書きました。 この記事は、Windows で Visual Studio を使用したデスクトップアプリケーション開発を想定しています。 VB.NET でも作成可能ですが、サンプルコードでは C# 6.0 を使用しています。どちらでもいいなら C# を使いましょう。 C# または VB.NETExcelファイルを読み込むには Google検索の罠 2016/4/11現在、日Goog

    Excelファイルを C# と VB.NET で読み込む "正しい" 方法 - Qiita
  • 昨日までJavaJavaしてた人がいきなりExcelのVBAを実装する羽目になったときのためのメモ - Qiita

    Excel は滅びぬ! Excel の力こそ日企業の夢だからだ! VBA 実装してて学んだこととかのメモ。 JavaJava してたかはあまり関係ないかも。 エディタの使い方 エディタを表示する Alt + F11 で VB エディタを表示できる。 環境設定 背景色・フォントを調整する デフォルトの白背景とか気が狂うので、暗い色にする。 「ツール」→「オプション」を選択し、「エディターの設定」タブを開く。 「コードの表示色」を選択して、「背景」の色を選択する。 ついでにフォントも見やすいやつに変更する。 これだけで開発効率が5割増しになる。 イミディエイトウィンドウ イミディエイトウィンドウを表示する いわゆるコンソールに当たるのが、__イミディエイトウィンドウ__と呼ばれるウィンドウ。 Ctrl + G で表示される。 イミディエイトウィンドウに出力する ↓イミディエイトウィンドウに実

    昨日までJavaJavaしてた人がいきなりExcelのVBAを実装する羽目になったときのためのメモ - Qiita
    ch1248
    ch1248 2016/04/26
    最初の設定からして使い込んでる空気が出てた。VBAで明確にMVC使って実装してるエントリは初めて見たかも。
  • 古いパソコンで古いエクセルと格闘した話

    古いと言ってもPentiumDCで1Gバイトのメモリーを積んでて、たぶん10年前までは行かないだろう。 エクセルの方は2000。 僕は多分、はてなー界隈の人に比較的多い感じがするIT畑の人からすると、素人の毛の生えたくらいの技術・知識しかないと思うけども、これまでの職歴でIT業界ではないが色々とPCには多くの時間を費やしてきたとは思う。 特に学んだわけでもないので完全に自己流だろうけども、VBだけどプログラムも書いてきた。 だから、IT業界とかけ離れた今の業種では、パソコンに長けていると思われているし、その能力を活かすことが自分を売ることかなぁ、とか思ったりもしている。 つったって、実際の話、もう最近ではエクセルくらいしか実のところ知らんのだったりする。 その上、実態はエクセルの関数すらろくに知らない。 VlookUp関数だなんて便利なのを知ったのもつい最近だ。 僕はそんなのはプログラムが

    古いパソコンで古いエクセルと格闘した話
    ch1248
    ch1248 2015/05/16
    この増田が書いたマクロをリファクタリングしたい。
  • モダンなVBAの書き方

    「糞VBAコードのメンテナンスが減りますように。なむなむ」 VBAは、非常に古い(VB6ベース)の言語なので、既存のコードは、非常に読み難い物が多いです。しかし、最近、ちょっとしたことをVBAで書いちゃうというソリューションは、案外一般的になりつつあるように思います(これ自体は悪いことではないと思う)。新しく書くVBAのコードをどう書くべきか?という自分なりの意見を纏めてみました。これは、VBAで完全なOOPをしろと言っているものではなく、単純な構造化された小さい関数を組み合わせてプログラムを書く方針(関数型言語のことではない)を勧めるものです。 変数宣言を強制する! これは、自分のため。とにかく書く。オプションで設定しておけば自動で挿入される。 変数宣言は、必要になったところで宣言する! そのコードを読む人に、いちいち、関数の先頭までスクロールさせるな。変数の有効範囲をなるべく狭くするこ

    ch1248
    ch1248 2015/02/08
    配列多用は最悪だけど、クラス使うと遅くなるのがなあ……。
  • Excel VBAつかいまくってるからそろそろ腹にためてることをちょっと書き出すか - oe-roelのカオス落書き帳

    相変わらずExcel VBAを使いまくってる日々なので腹にためてることをちょっと書き込もうと思った。なんか前にも書いたかもしんない。知らない。 以下はバッドノウハウの類も含むカオス内容。 if文内に書いた条件は全て評価されることに注意する。CやJavaのようなショートサーキットタイプではない。 それでもif文の評価コストに慎重にならないこと。 他言語で&&で置き換えられる内容をif文のネストで表現している奴を見たらVB出身を疑うことができる。 変数の通用範囲がプロシージャレベルであることに注意すること。ブロックで通用範囲が消えたりしない。 Dim hoge as New ClassNameとした場合、hogeが始めて使われる場所で変数にNewしてSetされる。その後プロシージャ内でこの宣言が実行されたとしてもNewされることはない。プロシージャレベルでのオブジェクトの使いまわしが怖いならA

    Excel VBAつかいまくってるからそろそろ腹にためてることをちょっと書き出すか - oe-roelのカオス落書き帳
    ch1248
    ch1248 2015/02/08
    だいたい同意。
  • プログラム初心者さんへ贈る、エラーが起きたら試してみて欲しいこと(ExcelVBA編)

    チャレンジしてみたけど、エラーが…。どこをどうしていいのかも全然わからない! という方へ。どの言語でも共通項はあると思うのですが、このブログで扱っている手前、ExcelVBAを例にしてご紹介させて頂きます。 全角が混ざっていないか 日語の文字列、若しくはコメントアウト以外は基的に半角英数でなければいけない場合が多いです。シングルクォーテーション「’」、ダブルクォーテーション「”」、括弧「()」などが、どこからかコピーしてきたときに全角になったりしていませんか? 特に全角スペースあたりは曲者なので、Ctrl+Fで検索してみるのも手です。 コピペミス 正常にコピーできても、インデントが適正にペースト出来ない場合が多々あります。 また、全部コピーしたつもりが1行目や最終行、最後の1文字が抜けてしまっていたり、そういうことはありませんか? コピー元とよく見比べて、チェックしてみてください。 変

    プログラム初心者さんへ贈る、エラーが起きたら試してみて欲しいこと(ExcelVBA編)
    ch1248
    ch1248 2015/02/08
    「誰かに質問する前に」以降が技術者以外の人間に読ませたい内容。
  • いげ太の日記: ぼくらが VBA を書く理由

    2014年3月24日月曜日 ぼくらが VBA を書く理由 誰かが言った。VBA のここがダメだと。その dis は妥当なものであり、僕も頷けるところだった。自分で言うのもなんだが、僕は VBA についてよく知っている、まあそれなりには。先の dis についても、僕はその解決のための API を知っていて、それらをどう組み合わせれば便利に使えるかについてのアイデアさえあった。ならば、それを作って示すというのがプログラマー分であろう。あとはこの面倒くさいと思う気持ち、VBA なんかのために貴重なプライベートの時間まで割きたくないと判断する僕の真っ当な脳内スケジューラ実装においてどんな理由を与えて当該タスクのスタベーションを回避するかという問題であった。VBA は残念だ。どこがって、なんかもう全体的に。でもこのアイデアはその残念さを払拭とまではいかないが、いくらか緩和させる可能性を持っている

    ch1248
    ch1248 2015/02/07
    同じVBA好きの人間にとって、F♯の第一人者がこう言ってくれる事がどれだけ心強いか。
  • Excel-DNA を使うメリット - ぐるぐる~

    VBA を使うことに対して、Excel-DNA を使うことのメリットは大体こんな感じです。 テストが容易 コードの管理ができる 抽象度の高いコードが書ける 保守しやすい 一つずつ見ていきましょう。 テストが容易 VBA にも一応、VBAUnit などのテスティングフレームワークはあります*1。 しかし、VBA の言語自体の貧弱さもあって、あまり使いやすいものはありません。 さらに、ライブラリのような形で提供されるため、ツール連携などは絶望的です。 対して、Excel-DNA では通常の dll を作るだけですので、普通にテストを書くことができます。 先ほどの組み合わせの例にも、NaturalSpec というテスティングフレームワークを使ってテストを書いています。 コードの管理ができる VBA でも頑張ればできなくはないですが、Excel-DNA では何も頑張る必要はなく、ごく普通にコードを

    ch1248
    ch1248 2015/02/04
    いげたさんのコードが参考になる。
  • Excel2013遅い - tomopo's blog

    グラフィックアクセラレーターをoffにする 参考サイト:http://slashdot.jp/journal/568182/EXCEL2013%E3%81%8C%E9%81%85%E3%81%84%E4%BB%B6%EF%BC%88%E8%A7%A3%E6%B1%BA%EF%BC%89 昔、hpのマシンでExcelが遅い時にWindows Updateで配布されてるグラフィックドライバを更新すると解決することがあったので、ハードウェアアクセラレーターのON/OFFはマシンによるのかもしれない。 レジストリでアニメーションをOFFにする レジストリ:HCU\Software\Microsoft\Office\15.0\Common\Graphic 「Graphic」キーが無い場合は作成する。 設定値:DisableAnimations[DWARD]=1 参考サイト:http://did2me

    Excel2013遅い - tomopo's blog
  • http://chiroinu.freehostia.com/wordpress/?p=384

    ch1248
    ch1248 2015/01/27
    2013年にセキュリティ対策が入ったせいもあるのか。
  • http://chiroinu.freehostia.com/wordpress/?p=231

  • Excel-DNA と F# | supermab's blog

    ネット上に、Excel-DNA の日語記事が充実してきているようでとっても嬉しいです。 特にプロの方の秀逸なコードが拝見出来ると萌えますね^^ 同じ問題でも解き方はいろいろありますし、 同じ手法を使っても記述の仕方は千差万別ですので、いろんな人のコードを読むのは非常に勉強になります♪ というわけで、 前々回の記事でコメントを頂いた F# MVP の bleis-tift さんが Excel-DNA でF# を使ったベンチマークの記事を書かれましたので紹介します。↓ 記事によると単純なセルアクセスの場合はVBAが最速のようです。 Excel-DNA のセルに対する書き込み性能を計ってみた さらに、前回の記事 の、 ところで、F# のような関数型言語は、並列化処理に向いているようですが今回のような組合せ探索の問題はどのように記述出来るのでしょう?Excel-DNA とF#の組合せは、とても興

  • Excelで作られたゲームセンター

    パックマンっぽいのとか、アルカノイドっぽいのとか、ドンキーコングっぽいのとかがいっぱいあります。すべてExcelで作られているというのがまたすごい。ちゃんと効果音も鳴ります。 ダウンロードは以下から。 レトロゲーム、クラシックアーケードゲームを無料ダウンロード!Excelゲーセン ExcelVBAでここまでできるのか!という例です。 それぞれのゲームはダウンロードしてExcelファイルを起動し、「マクロを有効にする」をクリックすると始まります ブロック崩しのアルカノイドっぽい 3次元空間版パックマン 元祖パックマン ドンキーコングっぽいテンキーコング ディグダグそっくり スペースインベーター風 テトリスのようなモノ ほかにも麻雀とかパズルとかシューティングとかいろいろあります。 エクセルVBAアクションゲーム博物館

    Excelで作られたゲームセンター
    ch1248
    ch1248 2014/06/25
    VB6.0で出来る事はだいたい出来るからなあ……。
  • Excel VBAでメモリをダンプしてみる | 実験ぶろぐ(仮)試供品

    ■目的 ExcelVBAで変数のメモリをダンプしてみる。 これは非公開の関数を使用しているので、製品に組み込むような真似はすべきではない。 ■コード Option Explicit #If VBA7 Then 'Office10 以降 Private Declare PtrSafe Sub RtlMoveMemory Lib "kernel32.dll" (ByVal Destination As Any, ByVal Source As Any, ByVal Length As LongPtr) #Else ' Office 32-bit Private Declare Sub RtlMoveMemory Lib "kernel32.dll" (ByVal Destination As Any, ByVal Source As Any, ByVal Length As Long) #En

    Excel VBAでメモリをダンプしてみる | 実験ぶろぐ(仮)試供品
  • Excel VBA を学ぶなら moug モーグ | 即効テクニック | 図形の位置を設定する

    対象の図形の上端位置、左端位置を設定します。 用いられる座標軸はRangeオブジェクトのTop/Leftプロパティと同じなので、それを利用して目的の位置に図形を配置するといいでしょう。 構文 Object.Top  図形の上端位置  設定/取得 Object.Left  図形の左端位置   設定/取得 設定項目  内容 Object   Shape、ShapeRangeコレクションオブジェクト [省略不可] 次のサンプル1はアクティブシートのすべての図形をセルB2の位置へ移動させます。 ●サンプル1● Sub TopAndLeftSamp1() Dim Sh As Shape For Each Sh In ActiveSheet.Shapes '---アクティブシート全ての図形に対し Sh.Top = Range("B2").Top '---上端位置をB2の上端へ Sh.Left = Ra

  • いまさらVisual Basic(オブジェクト指向篇)

    日は Visual Basic のオブジェクト指向篇です。 とはいえ、今回のお話はどちらかというと JavaC++ の学習によるシナジー効果で身に付けた知識だったりします。『VB しか必要ないから VB だけがんばる』という硬直した方針では、なかなか前に進めないものだなぁと思ったり思わなかったり。 そんなわけで日は、GoF のデザインパターンの中から個人的に気に入っているものを独断と偏見でチョイスして、実際のソースコードとともにご紹介したいと思います。 【Singleton パターン】 まずは、理解しやすく実装も容易な Singleton パターンからご紹介しましょう。 これは、プログラム内に存在するオブジェクトが 1 つだけである事を保証するための仕組みです。一体それが何の役に立つのでしょうか。その答えの一つが『ゲームプログラマになる前に覚えておきたい技術』の p.183 で述

    いまさらVisual Basic(オブジェクト指向篇)
Лучший частный хостинг