-PR-
解決済み

「挿入」すると・・

  • すぐに回答を!
  • 質問No.64490
  • 閲覧数61
  • ありがとう数3
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 41% (24/58)

前月平均 前月比4月16日4月15日
17599 102.0%17231 17958

このような形で日々前月平均の値と比べた値を表示するグラフを作っています。
例えば4/17のデータは「前月比」「4月16日」の間に『挿入』して、自動計算させます。

ここで質問です。
1.このときに自動計算する計算式を、
=F3/B3
としている場合に、G列にその日の値を挿入すると
計算式が
G3/B3になってしまいます。

これをF3のままにしておく方法はありませんか?
※「$」をつけてもずれてしまいます。。

2.挿入されたセルの書式設定が自動的に左のセルのものをコピーしてしまいます。自動的に右のセルと同じ書式にするような設定はごぞんじありませんでしょうか。。

以上です。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2
レベル13

ベストアンサー率 68% (791/1163)

興味ある質問なので考えてみました。質問の意味を取り違えていなければ幸いです。
1.まず、前月比の列は「%」表示と想像しますが、標準にします。これで挿入された列も標準になります。
2.前月比の列には(前月平均がB列で3行目なら)
=TEXT(offset(B3,0,4)/B3*100,"#.#")&"%"
とします。表示は右寄せにします。下にコピーも可能です。B列から4右に行けばF列という意味です。
算式は、offsetでB3セルからの位置を指定しているだけです。列を挿入したとき値は「.%」になりますが、数値を入力すれば計算されます。
お礼コメント
freestyle7

お礼率 41% (24/58)

これで解決しました!!
投稿日時 - 2001-04-20 21:35:08
-PR-
-PR-

その他の回答 (全3件)

  • 回答No.1
レベル14

ベストアンサー率 50% (1122/2211)

新しい列を挿入するのではなく、既に入力されている列を
右側に一つずらしてコピーするのではどうですか?

> 前月平均 前月比 4月16日4月15日
> 17599 102.0% 17231 17958

であれば、

(1) 4/16と4/15の列を選択してコピー
(2) 4/15の列を選択して、貼り付け
(3) 元の4/16の列を選択して「削除キー」(内容のクリア)
(4) 先頭の行に 4/17 と入れる

という手順で。
お礼コメント
freestyle7

お礼率 41% (24/58)

有難うございました!確かにそういう手もありますね。でも、毎日の作業を考えると、nishi6さんの方法が便利だったりします。
投稿日時 - 2001-04-20 21:30:52

  • 回答No.3
レベル11

ベストアンサー率 42% (91/216)

下記のマクロで
>前月平均 前月比 4月16日4月15日
>17599 102.0% 17231 17958
左上から順にA1、B1,C1、D1
左下から順にA2、B2,C2、D2 として

「前月比」「4月16日」の間に列を挿入して
C2にF3/B3の値が出ます。(書式をD2と同じにします)←D2=17231
C1には右のセルの日付の翌日が出ます。
休日かなにかで飛ぶ場合は4/20とか入力して変更してください。

全体的なものが良くわからないのでこんな感じになりました。
適当に替えてくださいね。

前月比とかも数式いれないとけないと思うのですが・・・nishi6さんがoffsetの
説明をされてるので省きます。
------------------------この下から------------------
Sub oshietegoo()

Columns("C:C").Select
Selection.Insert Shift:=xlToRight
Range("C1").Select
ActiveCell.FormulaR1C1 = "=RC[1]+1"

Range("D2").Select
Selection.Copy
Range("C2").Select
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "=R[1]C[3]/R[1]C[-1]"
Range("C1").Select
End Sub
----------------------------この上まで------------------------------
お礼コメント
freestyle7

お礼率 41% (24/58)

すみません、マクロというものをまったく理解していないのでまだぴんときません。もしかしてこちらの方が良いかもしれない・・・と思いましたが、なぜか巧くいきません。。ということで、次点にさせてください!
投稿日時 - 2001-04-20 21:36:54
  • 回答No.4
レベル11

ベストアンサー率 42% (91/216)

いちおうマクロの説明をしておきます。(知ってる場合は無視してください)
VBEの画面の説明だと分かり辛いかと思いますのでマクロの編集で・・・。

[ツール] メニューの [マクロ] をポイントし、[新しいマクロの記録] をクリック。
[ツール] メニューの [マクロ] をポイントし、[記録終了] ツールバーの (記録終了) をクリック。
[ツール] メニューの [マクロ] をポイントし、[マクロ] をクリック。
[マクロ名] ボックスにMacro1を選択して「編集」をクリック

下記のようになってると思いますがいらないので回答NO.3のマクロをコピーして貼り付けたら
編集画面は閉じてエクセルの画面に戻ります。
-----------------------------------------------
Sub Macro1()
'
' Macro1 Macro
' マクロ記録日 : 2001/4/17 ユーザー名 : XXX
'

'
End Sub
-----------------------------------------------
実行させる場合は[ツール] メニューの [マクロ] をポイントし、[マクロ] をクリック。
[マクロ名] ボックスのoshietegooを選択して[実行]
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


専門家があなたの悩みに回答!

-PR-

ピックアップ

-PR-
ページ先頭へ