Excel:列の各セルにデフォルトの数式を設定


0

各セルの左側にある2つのセル間の距離をキロメートル単位で計算する次の式を持つ列があります。

=IF(AND(INDIRECT(ADDRESS(ROW(),COLUMN()-2))<>"", INDIRECT(ADDRESS(ROW(), COLUMN()-1))<>""), INDIRECT(ADDRESS(ROW(),COLUMN()-1))-INDIRECT(ADDRESS(ROW(),COLUMN()-2)), "")

empty cell with no formula when I insert a new row

私の問題は、既存のデータの間に新しい行を挿入するたびに、その行のすべてのセルが空になり、このコードを手動で空のセルに入れる必要があることです。

列のすべてのセル(ヘッダーを除く)を特定の数式に設定することは可能ですか 新しい行を挿入しても

列をテーブルとして設定しようとしましたが、新しい行を挿入するたびにセルの自動補完に成功しましたが、他にも自動補完する列があり、Excelでは新しい行を挿入できません複数の列をテーブルにします。


これはEventマクロで簡単にできます.........このアプローチは問題ありませんか
Gary's Student

1列しか表示していないので、質問は複雑に見えます。スクリーンショットを編集して、既存のものの左側に列を含めます。あなたはまた、いくつかの非VBAの解決策を得るかもしれません。
Rajesh S

Thomasあなたが間にRow / Rowsを挿入するとき、あなたは間違いなくあなたが式のために空のセルを得たように式が行の一部であるので空のセル/ row / rowsを見つける。それはあなたがすべてのソースセル/行/列からデータを削除したときに式が計算するものが何も残っていないようなものです。
Rajesh S

回答:


0

これは実際のスキーマに適応できる小さなデモです。デモでは:

  1. 対象の列はcolumnです B
  2. 複数の行が挿入されても、何も起こりません。
  3. データ域の下に行が挿入されても、何も起こりません。
  4. 行が削除されても、何も起こりません。
  5. データの中央に行が挿入されている場合は、列のセル B 上記の式または下記の式のいずれかで埋められます。
  6. 新しいセルの上下に数式がない場合は、何も起こりません。

ワークシートのコード領域に次のサブを挿入します。

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim r As Range, r1 As Range, r2 As Range

    Set r = Target
    If r.Rows.Count > 1 Then Exit Sub
    If r.Columns.Count <> Cells.Columns.Count Then Exit Sub
    If r.Row = 1 Then Exit Sub

    Set r1 = Intersect(r, Columns(2))
    If r1.Value <> "" Then Exit Sub

    If r1.Offset(-1, 0).HasFormula Then
        Application.EnableEvents = False
            r1.Offset(-1, 0).Copy r1
        Application.EnableEvents = True
        Exit Sub
    End If

    If r1.Offset(1, 0).HasFormula Then
        Application.EnableEvents = False
            r1.Offset(1, 0).Copy r1
        Application.EnableEvents = True
        Exit Sub
    End If

End Sub

2

このビデオを投稿するだけでしたが、明らかに、少なくとも30文字を入力する必要があります。

「これが簡単な方法です」くそー、それは29だけです。

興味のある人のために、 "Insert Picture"アイコンは.movを受け付けませんが、 かなりきちんとしたウェブサイト それはビデオファイルをアニメーションGIFに変換します。

enter image description here


私はこのシンプルだが便利な解決策を投票しました。
Rajesh S

どのように作成しましたか .mov ファイル?
Gary's Student

こんにちは、@ Gary's。スクリーン録画は(少し知られている)です Quicktimeの機能 私は本当に以前にそれを使ったことがなかった、しかしそれをする方法を見つけたかった。とても使いやすかったです。
Bandersnatch

@Bandersnatchありがとうございます!
Gary's Student

ありがとうございます。私が持っていた唯一の問題はあなたが録音を始めたとき、あなたはQuickTimeにいる、それでQTメニューバーが表示されている。私はExcelにナビゲートし、その後最初の数秒を編集しました。トリムを使用して... QTで。 :-)
Bandersnatch
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.