1

セルに特定のセルがある場合、セルを下のセルと自動的に結合したいvalue ("vv")。私が見つけた解決策は、変更が行われるたびに配列内のすべてのセルをチェックすることですが、cellその後の値をチェックする可能性があると思いましたchangedか?

したがって、空白のセル"vv"(引用符なし)に入力し、別のセルを選択した場合、そのセル(vvが含まれている)をそのすぐ下のセルとマージします。配列を使用した私のソリューションでは、セルを変更するたびに1秒かかります。これは、多くの変更を行う場合は適切ではありません。何か助けはありますか?

4

1 に答える 1

4

ワークシートで次のコードを試してください。

Private Sub Worksheet_Change(ByVal Target As Range)
    Target.Value = "vv"の場合Target.Resize(2).Merge
サブ終了

以下のセルのコンテンツを禁止したい場合、このコードは、コンテンツが見つかった場合にセルをマージするかどうかを尋ねます。

Private Sub Worksheet_Change(ByVal Target As Range)
    Target.Value="vv"の場合Then
        If Target.Offset(1).Value "" Then
             MsgBox( "下のセルを上書きしますか('"&_を含む)
                 Target.Offset(1)& "?"、vbYesNo)= vbYes Then
                 Target.Resize(2).Merge
            終了する場合
        そうしないと
            Target.Resize(2).Merge
        終了する場合
    終了する場合
サブ終了

注:コードはイベントプロシージャであるため、新しいモジュールではなく、ターゲットシートに配置する必要があります。

コードの配置

于 2013-02-01T12:24:30.107 に答える