Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7694 / 13646 ツリー ←次へ | 前へ→

【37458】絶対セル貼り付けと数式コピーの方法 t29x0479 06/5/8(月) 18:50 質問[未読]
【37463】Re:絶対セル貼り付けと数式コピーの方法 ぴかる 06/5/8(月) 19:43 回答[未読]
【37466】Re:絶対セル貼り付けと数式コピーの方法 Kein 06/5/8(月) 20:11 回答[未読]
【37475】Re:絶対セル貼り付けと数式コピーの方法 t29x0479 06/5/9(火) 9:18 お礼[未読]

【37458】絶対セル貼り付けと数式コピーの方法
質問  t29x0479  - 06/5/8(月) 18:50 -

引用なし
パスワード
   エクセルで数式の入ったセルを他の場所にコピーすると、自動で参照セルの位置が変更になります。数式に$を入れて絶対セルにしておけばOKだと思いますが、絶対セルで数式を入力していない場合、参照セルの位置を変えずにそのままコピーすることは可能でしょうか?

それと、数式を秀丸等のエディタで更新したいのですが、コピーしてエディタで貼り付けると値が貼り付けられてしまいます。数式をごっそりコピーする方法があれば、教えていただけないでしょうか。

よろしくお願い致します。

【37463】Re:絶対セル貼り付けと数式コピーの方法
回答  ぴかる  - 06/5/8(月) 19:43 -

引用なし
パスワード
   t29x0479さん、こんにちは。

>エクセルで数式の入ったセルを他の場所にコピーすると、自動で参照セルの位置が変更になります。数式に$を入れて絶対セルにしておけばOKだと思いますが、絶対セルで数式を入力していない場合、参照セルの位置を変えずにそのままコピーすることは可能でしょうか?
すんごくセンスのないマクロで良ければ・・・。
Sub Test()
  
  With Selection
    .FormulaR1C1 = Range("C1").Formula
    .Replace What:="'", Replacement:=""
  End With
  
End Sub

>それと、数式を秀丸等のエディタで更新したいのですが、コピーしてエディタで貼り付けると値が貼り付けられてしまいます。数式をごっそりコピーする方法があれば、教えていただけないでしょうか。
数式バー上で、数式をコピーしれやればOKやと思います。

【37466】Re:絶対セル貼り付けと数式コピーの方法
回答  Kein  - 06/5/8(月) 20:11 -

引用なし
パスワード
   相対参照になっている数式を、すべて絶対参照に変えてしまえばよいのなら

Sub MyFormula_Conv()
  Dim C As Range

  If TypeName(Selection) <> "Range" Then Exit Sub
  For Each C In Selection
   If C.HasFormula Then
     C.Formula = Application _
     .ConvertFormula(C.Formula, xlA1, , xlAbsolute)
   End If
  Next
End Sub

選択範囲内のセルを処理します。
>数式をごっそりコピーする方法
ワークシートメニューの「ツール」「オプション」の「表示」タブを
選択し、"数式"にチェックすると値に代わって数式が表示されます。
その状態で任意のセル範囲を選択して、コピーすれば良いでしょう。

【37475】Re:絶対セル貼り付けと数式コピーの方法
お礼  t29x0479  - 06/5/9(火) 9:18 -

引用なし
パスワード
   ありがとうございます。

表示で「数式」にするのがシンプルでやりやすいです。
絶対セルへの置き換えは、エディタの置換でやることにします。

ありがとうございました。


▼Kein さん:
>相対参照になっている数式を、すべて絶対参照に変えてしまえばよいのなら
>
>Sub MyFormula_Conv()
>  Dim C As Range
>
>  If TypeName(Selection) <> "Range" Then Exit Sub
>  For Each C In Selection
>   If C.HasFormula Then
>     C.Formula = Application _
>     .ConvertFormula(C.Formula, xlA1, , xlAbsolute)
>   End If
>  Next
>End Sub
>
>選択範囲内のセルを処理します。
>>数式をごっそりコピーする方法
>ワークシートメニューの「ツール」「オプション」の「表示」タブを
>選択し、"数式"にチェックすると値に代わって数式が表示されます。
>その状態で任意のセル範囲を選択して、コピーすれば良いでしょう。

7694 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free