プロが教える店舗&オフィスのセキュリティ対策術

上の行のセルが
=a1+1 =b3+1 =c6+1
となっている場合、
下の行にコピペすると、
=a2+1 =b4+1 =c7+1
のようになります。
これを
=a1+1 =b3+1 =c6+1
のように、元の行そっくりでコピペしたいです。
バージョンはexcel2007です。
質問でよく分からないところは回答者様で
補完してお答え頂けると幸いです。

質問者からの補足コメント

  • コピペ大将セルが100程度あるとちと、きついね。

    No.1の回答に寄せられた補足コメントです。 補足日時:2015/11/13 23:24

A 回答 (8件)

VBA で良いですか



式が入っている範囲を Range("E2:G2") と仮定します
それを Range("E3:G3") に設定したいとすると

Public Sub Test1()
  Range("E3:G3").Formula = Range("E2:G2").Formula
End Sub


※ 色気を出さない

以下の様に、3行( E4:G6 )に一気に・・・なら、
1行目以外はインクリメントされてしまうので
1行分なら1行、1列分なら1列と割り切る

Public Sub Test2()
  Range("E4:G6").Formula = Range("E2:G2").Formula
End Sub

ただし、以下の様な3行対3行は大丈夫

Public Sub Test3()
  Range("E6:G8").Formula = Range("E2:G4").Formula
End Sub

※ 左辺範囲 = 右辺範囲


これを踏まえて

設定したい行が連続してあるのなら
・コピーしたい数式のある行を先頭に
・設定したい範囲を選んでおいてから
以下の Samp1 を実行してみます

Public Sub Samp1()
  Dim vA As Variant
  Dim bA() As Boolean
  Dim i As Long, j As Long

  With Selection
    If (.Rows.Count = 1) Then Exit Sub
    vA = .Formula
    ReDim bA(1 To UBound(vA, 2))
    For j = 1 To UBound(vA, 2)
      If (vA(1, j) Like "=*") Then bA(j) = True
    Next
    For i = 2 To UBound(vA)
      For j = 1 To UBound(vA, 2)
        If (bA(j)) Then vA(i, j) = vA(1, j)
      Next
    Next
    .Formula = vA
  End With
End Sub
    • good
    • 0

複数のセルにコピペするなら№3の回答者の方法が良いと思います。


絶対参照に変換するのはF4キーを押します。
    • good
    • 0

Ctr+lShift+@で数式表示モードにする。


式の入っているセルをコピーして一度メモ帳(テキストエディタ)に貼り付ける。
再度コピーしてエクセルの該当セルに貼り付け。
再度Ctrl+Shift+@で通常モードに戻す。

で如何でしょうか?
    • good
    • 0

その式をそのまま下方向のセルにコピペしたい場合は、



=a1+1 =b3+1 =c6+1 を
=$a$1+1 =$b$3+1 =$c$6+1 とセル番地に ”$” を付加します。
=a$1+1 =b$3+1 =c$6+1 でも同じ結果になります。

「エクセルの基本操作 絶対参照・相対参照と$マーク」
http://kokodane.com/kihon19.htm
    • good
    • 0

セルの書式を「文字列」にして、F2キーを押してからEnterキーを押す。


これで数式は文字列に置き換わるので、好きなだけコピーできる。
数式に戻したいときはセルの書式を「標準」に戻せば良い。

縦一列にコピーした場合は、「区切り位置」で書式を「標準」へ一度に返還できる。
    • good
    • 0

言葉は知りませんが絶対番地(アドレッシング)相対番地のことかな?


自分なら表計算ソフトなら
=a¥1+1 =b¥3+1 =c¥6+1
のようにセルの列を固定します。
行も固定したいときはアルファベットの前に¥を挿入します。
ロータス123とか、その他も当然いっしょですね。
やってみて結果が一緒になればオーライでそのセルをフィックスし
あとはコピーで増やすだけですね。
    • good
    • 0

(1)該当箇所を選択し、そこに含まれる”=”を一旦検索・置換で$か&等で置き換える。


(2)該当箇所を文字列データとしてコピペ。
(3)コピー元とコピー先の$か&を再び”=”に戻して数式として認識させる。
    • good
    • 0

数式バーの中をクリックして中の数式をコピー、任意のセルにペーストすればOK。

この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!