問題タブ [excel-2016]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Excel 2016 アドインで列の書式を変更する方法
Excel 2016 アドインがあり、いくつかの列の書式を日付 (mm-dd-yyyy 形式) に設定し、いくつかの列を中央に配置したいと考えています。Excel 2016 JavaScript モデルでこれを行うにはどうすればよいですか?
また、2016年のオフィスモデルでは列幅を変更できないことも承知しております。誰でもこれを回避できますか?
ありがとう、ジョージ
excel - 複数の検索と置換のマクロを実行すると実行時エラーが発生する
マクロを実行しようとすると、次のエラーが表示されます。
マクロは次のとおりです。
「デバッグ」をクリックすると、黄色で強調表示されている 3 行は次のとおりです。
これを修正するにはどうすればよいですか?
excel - Excel で 2 つの列を比較して重複を削除する
私はこの2つの名前の列を持っています:
2 つの列を比較し、列 1 にあるが列 2 にはない値を出力する必要があるため、出力は次のようになります。
どうすればそれを達成できますか?
ありがとう
vba - 選択した範囲のセルが表示されているかどうかを確認する
Excel で VBA 関数を使用すると、ユーザーが選択したセルから連結されたテキストの文字列が返されます。
これは必要に応じて機能しますが、選択範囲に非表示のセルがある場合、非表示のセルの値が含まれるため、望ましくありません。この問題が発生する例としては、テーブルがフィルター処理されている場合があります。
読み取られているセルが表示されているかどうかを確認するために関数を修正する方法はありますか?
merge - 多くのシートのデータを 1 つにマージする
Excel には、いくつかのシート (約 50) があり、それぞれの列 A、B、C に同じヘッダーがあり、最大 199 行のデータ (行 1 = ヘッダー、行 2-200 = データ) があります。命名ルーチンはWk 1 Mon
、Wk 2 Tue
、 などからWk 10 Fri
私がやりたいのは、これらのタブのすべてのデータを 1 つのリストの 1 つのシートに表示することです。各シートの各セルを上下に参照することでこれを実行できる可能性がありますが、問題は、すべてのシートが実際に行 200 までデータを持っているわけではないことです (ヘッダーだけを持つものもあります)。行。
Excelでこれにアプローチする方法がまったくわかりません。などについての私の理解はVLOOKUP
せいぜい初歩的なものです。その機能ファミリーを使用して必要なものを達成できるかどうかさえわかりません。
Excel の統合機能も調べましたが、このシナリオでは必要ないと思います。
誰かが私の目標を達成する方法を教えてください。ワークシートのみの関数を使用してこれを行うことを好みますが、十分に簡単な解決策があれば、VBA を使用できます。
excel - 最初の列の複製された値に達したら、残りの行を自動入力する方法
カスタマー サービス用に定義された Excel シートがあります。Customer_ID の値が将来のサービスで繰り返される場合、列 A (Customer_ID) の関連する値の行の自動入力に VB を使用したいと考えています。では、どうすれば同じシートでそれを行うことができますか? 行の内容の例は次のとおりです。
vba - 文字列の最大許容長 a を決定する一般的な方法
このプロパティを見てください (最初のワークシートにテーブルがある場合):
このプロパティには何文字まで含めることができますか? いくつかの文字列をテストした結果、255 文字を超える文字列を使用するとエラーが発生するという結論に達しました。
実行時エラー 5 - 無効なプロシージャ コールまたは引数
このプロパティを見てください:
このプロパティには何文字まで含めることができますか? 繰り返しますが、いくつかの文字列をテストすると、約 50,000 の数値が得られます。それ以上に設定すると、同じエラーが発生します。ただし、この場合、Excel がクラッシュするか、別のエラーを吐き出すことがあります (複数回試行した後):
オブジェクト 'ListObject' のメソッド "Summary" が失敗しました
この種の「隠された」文字制限はいたるところに現れます (ここ、ここ、あまり具体的にはここ、そして古典的にここ)、どこにも文書化されていないようです。たとえば、ページを見てくださいListObject.Nameの場合、その変数に格納できる文字数は記載されていません...
それで、これを決定するより良い方法はありますか?プロパティで設定している文字列は、最大長を判断するためにアクセスできる固定長文字列に格納されていますか、またはこの情報を取得するために活用できる他の形式のドキュメントがありますか?
標準の VBA オブジェクト内のほとんどの文字列に設定されているこれらの文字制限は奇妙に思えます。その目的は何なのか、デザイナーが "ListObjects.name" を 255 文字に制限することを選択した理由、それが任意のデフォルトの制限だったのか、それともそれは意識的に下された決定でした。弦の長さはこれくらいが標準だと思いますが、なぜこの標準からずれているのか不思議です。
上記のポイントを要約し、この質問を 1 つの文に要約すると、次のようになります。
オブジェクトのプロパティ内で設定できる文字列の最大長を決定する一般的な方法はありますか?最初にその文字列のプロパティを別の値を与えてテストし、エラーを無視したり、文字の切り捨てをチェックしたりしませんか?