問題タブ [vba7]

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.

0 投票する
1 に答える
36 参照

excel - 最後の2行を使用してIFステートメントの後にワークシート間に値を設定する方法

Hey という名前のシートから final という名前のシートの別の列に列全体の値をコピーして貼り付けようとしています。

コピー、貼り付け、または選択オプションを使用したくありませんが、コードは最初の行のみをコピーしています。

多分私が間違っていることを知っていますか?

2 つ以上の列から別のワークシートにある別の列に日付をコピーする必要があります。

ただし、同じ行の最後の 2 行を使用できるかどうかはわかりません。このコードを試していますが、1 行の値のみを貼り付けます。

HEY という名前のシートの 2 つ以上の列の値を、宛先シート (最終シート) の同じ列に追加する必要があります。

0 投票する
1 に答える
65 参照

excel - VBA Find .address は範囲を返すこともあれば、セルを返すこともあります

VBA の Range.Find メソッドに問題があります。コードが行っていることは、ワークブック内のすべてのワークシートを調べて、配列内のデータに一致するものを見つけ、そのデータと同じ値でセルの色を変更することです。

コードは最初のシートで完璧に機能します。次に、次のシートで、無限ループにハングアップします。コードをステップ実行した後、このページで初めて Find を実行すると、範囲形式 ("A2:A2") のアドレスが返されますが、その後はセル形式 ("A2") に戻ります。これは最初のページでは行われず、2 番目のページでのみ行われます。

返された値をチェックしてそれを削除するコードを書くこともできますが、パッチを適用するのではなく、問題を修正したいと考えています。

壊れるコードは次のとおりです。

2 ページ目の最初の rng.Address は「A2:A2」であり、StrtAdd に格納されます。次に、コードが .FindNext(rng) rng.Address にヒットすると、「A2」に変わります。このため、rng.Address がまったく同じセルについて話している場合でも、StrtAdd と等しくなることはありません。それが無限ループです。

これを修正する最善の方法についてのアイデアはありますか?

wksSheets は、ワークシート名を含む配列です

findData には、検索対象のデータが含まれています

前もって感謝します!!