1

問題: これは Excel 2010 用です

複数の行が共通の値 (この場合は PN#) を持っている場合、複数の行の結果をマージする必要があることはめったにありませんが、類似しているが同じではない列 (説明と名前) がいくつかあります。異なる列が自動的に合計されます。でも、こういう能力はいいですね。

これは、SUMIF を複数回使用して行うことができます。期待される結果を説明します。

ここに画像の説明を入力

利用可能なリソース: VBA を使用して Excel で同様の行を合計/マージする方法は?

マクロを実行するとき、私は次のことをしたいと思います: 1. 範囲を指定し、ヘッダーを含めます 2. 名前 (PN#) を比較するために使用するメイン列を選択します 3. 合計しない列を選択しますが、単純に選択します最初の出現 (説明と名前) 4. 他の列が合計されます 5. 結果テーブルを配置できる場所を選択します

私が試した/行ったこと:

  1. 選択から範囲を取得できます。しかし、Excelが範囲を選択しなければならないようなことができたらいいのに

ここに画像の説明を入力

  1. 比較に使用する列、PN# の最初の出現を選択する列、および合計する列をユーザーが選択できるようにする入力ボックス。

私の主な質問は、行をマージする方法ですか?

4

2 に答える 2

1

私の知る限り、組み込みの範囲ダイアログは使用できません。ただし、InputBox を使用して範囲を求めることができます。

dim rRange as Range
Set rRange = Application.InputBox("Please choose a range", "Specify Range", Type:=8)

後でラベルにキャプションを付けるには、次のようなものを使用できます。

lblYourLabel.Caption = rRange.Address

エラー処理を追加して、InputBox のマニュアルを参照することもできますが、これで作業を開始できます。

お役に立てば幸いです、ステファン

于 2012-05-06T00:41:16.580 に答える
1

ユーザー フォームを中心に機能を設計する場合、これを行うコントロールを追加できRefEdit.Ctrl
ます。ユーザーが範囲を選択し、その範囲のアドレスを返すことができます。

于 2012-05-06T01:00:40.353 に答える