9

セルを結合したシートを作成しましたが、結合されたセルの値は最初のセルにのみ保存されます。とにかく、各セルで同じ値を維持するには、使用する数式にそれが必要です。ありがとう!

4

8 に答える 8

7

Excel 2003 では、次のマクロが機能します。

Public Sub UnmergeAndFill()
    With Selection
        If .MergeCells Then
            .MergeCells = False
            Selection.Cells(1, 1).Copy
            ActiveSheet.Paste 'Or PasteSpecial xlPasteFormulasAndNumberFormats
        End If
    End With
End Sub

マクロを作成します

  1. Alt-F11Ctrl-R、 menuを押して、Insert/Moduleコードを貼り付けます。
  2. 代わりに: Alt-F8、新しい名前を入力 (UnmergeAndFillなど)、クリックMakeまたはCreate( ? 英語のボタンのテキストがわからない)

Alt-F8 を押してマクロを呼び出し、マクロを選択しますRun。または、キーにマップします

于 2011-06-24T08:11:24.303 に答える
6

選択したセルに関係なく、結合されたセルの値を直接与えるカスタム VBA 関数を使用できます。その場合、値を複製する必要はありません。

  1. VBA ビューに切り替える (Alt-F11)
  2. [挿入] > [モジュール] で新しいモジュールを作成します
  3. プロジェクトで、新しいモジュールを参照します (エクスプローラーのすぐ下にある (name) プロパティを介して新しい名前を付けたい場合があります)。
  4. モジュールに次のコードをコピーします (ThisWorkbook にコードを貼り付けても機能しません)。

コード:

Option Explicit

Function GetMergedValue(location As Range)
    If location.MergeCells = True Then
        GetMergedValue = location.MergeArea(1, 1)
    Else
        GetMergedValue = location
    End If
End Function
  1. Excelで数式を使用できるようになりました

コード:

=GetMergedValue(A1)

A1 は結合セルの一部です。

于 2016-05-23T08:41:18.160 に答える
2

新しい列(または行)を作成し、この式を最初のセルに適用して下にドラッグできます。

列 A でセルを結合したとします (たとえば、A1:A3 と A5:A8 が結合されます)。

  1. 列 A の前に列を挿入する

  2. A1 タイプ:

    =B1
    
  3. 以下の式を A2 にコピーします。

    =IF(B2="",A1,B2)
    
  4. A2 に入力した数式を下にドラッグします

数式では、新しく作成された列を使用し、使用後に非表示にすることができます。

于 2012-08-21T08:02:57.153 に答える
0

実際の値を別の場所に保存できませんか? 結合されたセルの代わりに?はい、数式を使用して、結合されたセルに値を表示します。

于 2011-06-24T06:37:48.517 に答える
0

列 "A" がセルを結合したと仮定します。これを B1 に入れ、コピーして列の残りの部分を埋めます。

=IF(ISBLANK(A1);OFFSET(B1;-1;0);A1)

左側のセルに値があるかどうかをチェックし、値がある場合はその値を返し、ない場合は上のセルから値を取得します。

空のセルでは機能しないことに注意してください。最初に列「A」の空のセルを「(空)」のような一意のもので埋め、列「B」を埋めた後、「A」と「B」の両方で空に置き換えます。

于 2016-05-11T06:29:12.523 に答える