• 締切済み

エクセルのVBAで質問です。

エクセルのVBAで質問です。 現在、仕事の関係上で支出入の入力を行っているのですが、税込みと税抜きの価格がごちゃ混ぜになっている為、下の二つのような事が出来ればと思います。 ・税抜価格で入力  ⇒入力したセルと同じセルに税込価格で表示 ・税込価格で入力  ⇒入力したセルと同じセルに税抜価格で表示 で、ネットで調べていると下記のようなプログラムはあったのですが、セル指定が一箇所のみになっている為、これを複数の連続した列・行の指定に変えたいのですが。。。 単純な事のようなんですが、あまり詳しくないので、どこをどのように変更すれば良いか分かりません。 http://okwave.jp/qa3178942.html どなたか詳しい方、変更の詳細を教えて頂ければと思います。 (もしくは、もっと良い方法があれば教えてください。) よろしくお願いします。

みんなの回答

  • gongon8
  • ベストアンサー率30% (6/20)
回答No.6

VBAを使うという以外に、別途入力用のシートを追加し、 現状のシートを表示用としてみなし、表示用のシートに 計算式を埋めこみ、入力用シートの数値に対して税抜・税込の 計算を行う、というのはどうでしょう? ちょっとずれているかもしれませんが、 >(もしくは、もっと良い方法があれば教えてください。) とのことですので、回答させていただきました。

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.5

'シートモジュールへ Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Not Intersect(Target, Range("a1:d5")) Is Nothing Then Target.Value = Int(Target.Value * 1.05) ElseIf Not Intersect(Target, Range("a8:d10")) Is Nothing Then Target.Value = Int(Target.Value / 1.05) End If Application.EnableEvents = True End Sub

  • van111
  • ベストアンサー率14% (1/7)
回答No.4

no2です。 税抜き価格と税込価格との間は2行の空白と見てもよろしいのですよね? 下記で確認お願いします。 tuki = Cells(1, 1).End(xlToRight).Column For i = 1 To tuki For kanzyo = 1 To Cells(1, 1).End(xlDown).Row If IsNumeric(Cells(kanzyo, i).Value) Then Cells(kanzyo, i).Value = Int(Cells(kanzyo, i).Value * 1.05) End If Next Next h = kanzyo + 2 For i = 1 To tuki For kanzyo = h To Cells(h, 1).End(xlDown).Row If IsNumeric(Cells(kanzyo, i).Value) Then Cells(kanzyo, i).Value = Int(Cells(kanzyo, i).Value / 1.05) End If Next Next

  • gongon8
  • ベストアンサー率30% (6/20)
回答No.3

入力された価格が、税抜か税込か、というのはどうやって判断 されるのでしょう?

ken15511
質問者

お礼

早速の回答、ありがとうございます。 質問の仕方が悪かったみたいで、皆様混乱させてしまい申し訳ないです。 税込み・税抜きは、入力前に判別しています。 (月々の入力を簡素化したい、という所から今回の質問をさせてもらってます。) 税込み=仕入(請求される側なので、税込みになります) 税抜き=単価売上(集計上、税抜きのが現状は都合が良い) 月々の入力なので、現在は、 横方向に月・縦方向に勘定科目となってます。 ですので、たとえば選択したいセルは、 範囲A1:D5 が、税抜入力⇒税込表示 範囲A8:D10が、税込入力⇒税抜表示 としたいのですが。。。 もう一度、ご協力お願いしますm(_ _)m

  • van111
  • ベストアンサー率14% (1/7)
回答No.2

例えばA列に税抜き価格が入力されていると仮定して・・ For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row If IsNumeric(Cells(i, 1).Value) Then Cells(i, 1).Value = Int(Cells(i, 1).Value * 1.05) End If Next 逆にB列に税込価格が入力されていると仮定して・・ For h = 1 To Cells(Rows.Count, 2).End(xlUp).Row If IsNumeric(Cells(h, 2).Value) Then Cells(h, 2).Value = Int(Cells(h, 2).Value / 1.05) End If Next こんな感じでしょうか? 基本的には記載されているURLを認識していると見ているので これを参考に同じように書いてみました。

ken15511
質問者

お礼

早速の回答、ありがとうございます。 質問の仕方が悪かったみたいで、皆様混乱させてしまい申し訳ないです。 税込み・税抜きは、入力前に判別しています。 (月々の入力を簡素化したい、という所から今回の質問をさせてもらってます。) 税込み=仕入(請求される側なので、税込みになります) 税抜き=単価売上(集計上、税抜きのが現状は都合が良い) 月々の入力なので、現在は、 横方向に月・縦方向に勘定科目となってます。 ですので、たとえば選択したいセルは、 範囲A1:D5 が、税抜入力⇒税込表示 範囲A8:D10が、税込入力⇒税抜表示 としたいのですが。。。 もう一度、ご協力お願いしますm(_ _)m

  • tom11
  • ベストアンサー率53% (134/251)
回答No.1

素朴な疑問なのですが 例えば、A1セルに価格を入力した時 その価格は、税込価格、税抜き価格、何処で判断するのですか、?? もっと、単純に言うと、 A1 セルに、 10000円が入っています。 これって、税込価格、税抜き価格???

ken15511
質問者

お礼

早速の回答、ありがとうございます。 質問の仕方が悪かったみたいで、皆様混乱させてしまい申し訳ないです。 税込み・税抜きは、入力前に判別しています。 (月々の入力を簡素化したい、という所から今回の質問をさせてもらってます。) 税込み=仕入(請求される側なので、税込みになります) 税抜き=単価売上(集計上、税抜きのが現状は都合が良い) 月々の入力なので、現在は、 横方向に月・縦方向に勘定科目となってます。 ですので、たとえば選択したいセルは、 範囲A1:D5 が、税抜入力⇒税込表示 範囲A8:D10が、税込入力⇒税抜表示 としたいのですが。。。 もう一度、ご協力お願いしますm(_ _)m

関連するQ&A