1.見積書を作ったものは問題ないのですが、次に元となる『原紙』を開くと、前回に作ったものが残ってるのですが…。。。
原紙は、項目名や罫線などのフォーマットとして残しておきたいのですが、できますでしょうか?それとも私の操作ミスでしょうか?

2.ネットワークでつながっているので、見積書関係はサーバーに入っています。
他の人のパソコンで見積書を入力して、『設定』シートの『スタートボタン』を雄と、以下のメッセージが出ます。

このプロジェクトのマクロは無効に設定されています。マクロを有効にする方法についてはオンラインヘルプまたはホストアプリケーションのドキュメントを参照してください。

というメッセージが出てきます。

度々すみません。よろしくお願い致します。

関連URL:http://oshiete1.goo.ne.jp/kotaeru.php3?qid=242370

このQ&Aに関連する最新のQ&A

A 回答 (1件)

こんにちわ。


1の見積書の元となるフォーマット(項目名や罫線などだけのもの)を残すには、
作ったものを、ファイル→名前を付けて保存→
ここでファイルの種類を、テンプレートにして、
名前を付ける(拡張子を.xltにする=例えば、見積書元.xlt)とする。
すると次回新しく作る時に、ファイル→新規作成をクリックすると、
そこに見積書元.xltがでてくるので、クリック。
これで大丈夫だと思います。

2は詳細が分かりませんので…。
質問と答えがずれていたらゴメンね。
    • good
    • 0
この回答へのお礼

お礼が遅くなりましたけど、テンプレートの保存で解決しました。
ありがとうございました。

お礼日時:2002/04/11 09:04

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q『EXCEL』アウトライン設定時に連番をふりたい。

EXCELで、部分的にアウトラインのグループ化を行い、その、目に見えている状態のみで
一気に連番をふりたいのですが、このままオートフィルで連番をつけようとすると
折りたたまれて見えていないところまで連番がふられてしまいます。
目に見えているところだけ連番にしたいのですが、どう操作すれば良いのでしょうか?
ご指導の程、よろしくお願いします。

Aベストアンサー

例えばA列にデータが入力されていて、
見えている行にはすべて何かしらかの
値(文字や数値)が入力されているならば、

例えば、D列に連番を振りたければ、
D1に
=SUBTOTAL(103,$A$1:A1)
と入力し、
以下オートフィルまたはコピー&ペーストしてください。

ただし、
折りたたみを解除すると連番が振り直されてしまいますので、
もし、連番を保持したいのであれば、もう一度折りたたみ、
D列を選択し、「コピー」
「編集」→「形式を選択して貼り付け」で「値」にして「OK」
にしてください。

もう一度、折りたたみを解除して確認すると、連番は保持されて
いますが、折りたたみの部分は一定値が保持されていると思います。

これで、OKであればそれでいいのですが、
もし、ここを空白にしたいのであれば、
アイデアがありますので、必要であればコメントください。

Qエクセルのマクロ。 お世話になります。 原紙という名前のシート1に【印刷】や【開始】のマクロボタンの

エクセルのマクロ。
お世話になります。
原紙という名前のシート1に【印刷】や【開始】のマクロボタンのある見積りデータがあります。

【保存】のマクロ入力で
別シートに保存
ナンバリングして見積りを後から見られるようにしたいです。
ナンバリングはZ1にあるとします。

マクロの記録でシートのコピーをするとボタン名が変わったりうまくいきません。
ナンバリングもできません。

VBAで教えて頂ければ助かります。
言葉足らずな点は補足します。
よろしくお願いします。

Aベストアンサー

ひょっとしてですが、見積もりの件数分だけシートが増えていく構成なのでしょうか?
もし、そうでしたらそちらを見直した方が良いです。
提案
見積もりデータのシートを準備
  A     B    C   D  E  ・・・・
ナンバリング 取引先  品名 数量  単価
・・・・
とデータとなる形で入力していきます。
見積もり書のフォームのシート
Z1にナンバーを入れると、必要なデータが抽出されて
見積書となる。

こちらのマクロ考えた方が良いと思います。
もうひとつ作るとすれば
入力用の見積書のフォーマットを準備してボタンを押すと
見積もりデータのシートに追記されるマクロぐらいでしょうか。

QExcelの連番をふりなおす

Excelの表で、A列に連番をつけてあります。
行を挿入したり、削除したときに、連番がくずれないように
自動的にふりなおす方法があれば、教えていただけないでしょうか。
ヨロシクお願いします!!!

Aベストアンサー

例えばA3セルから下方向に1,2,3,4…と連番を入れるとします。
A3セルには
 =ROW()-2
と入力して下方向にコピーします。

行を削除しても連番は崩れません。行挿入したときはさすがに自動では関数が入力されませんが、上下のセルをコピーすれば連番となります

Qエクセルマクロ 特定の文字列を含む行のみを残す (マクロ修正)

以下のマクロは、EXCEL2003で
「特定の文字列が含まれている列を削除する」動作をするマクロです

Sub Macro1()
Const col As String = "A" '文字列が入力されている列
Dim idx As Long
Dim keyWord
keyWord = Application.InputBox("削除対象の文字列は?", Type:=2)
If TypeName(keyWord) <> "Boolean" And Len(keyWord) > 0 Then
  For idx = Cells(65536, col).End(xlUp).Row To 1 Step -1
    If InStr(Cells(idx, col).Value, keyWord) > 0 Then
'    If Application.CountIf(Rows(idx), "*" & keyWord & "*") > 0 Then
      Rows(idx).Delete
    End If
  Next idx
End If
End Sub

このマクロを、
「特定の文字列が含まれている行のみを残し、それ以外を削除する」
というマクロに変更したいと思っています。
是非ご回答お願いいたします。

以下のマクロは、EXCEL2003で
「特定の文字列が含まれている列を削除する」動作をするマクロです

Sub Macro1()
Const col As String = "A" '文字列が入力されている列
Dim idx As Long
Dim keyWord
keyWord = Application.InputBox("削除対象の文字列は?", Type:=2)
If TypeName(keyWord) <> "Boolean" And Len(keyWord) > 0 Then
  For idx = Cells(65536, col).End(xlUp).Row To 1 Step -1
    If InStr(Cells(idx, col).Value, keyWord) > 0 Then
'    If Application.CountIf(Row...続きを読む

Aベストアンサー

こんにちは。

ご自身のコードではありませんね。ある程度、コードが書ける人のものです。間違いがありますが。

私としては、他人のコードはあまりいじらないようにしていますので、二番目に私のコードを出しておきます。
'-------------------------------------------
Sub Macro1R()
Const col As String = "A" '文字列が入力されている列
Dim idx As Long
Dim keyWord '←Variant にしていから、本来は、TypeName では受けない
keyWord = Application.InputBox("除外対象の文字列は?", Type:=2)
If TypeName(keyWord) <> "False" And Len(keyWord) > 0 Then
  For idx = Cells(65536, col).End(xlUp).Row To 1 Step -1
    If InStr(Cells(idx, col).Value, keyWord) = 0 Then
    If Application.CountIf(Rows(idx), "*" & keyWord & "*") = 0 Then
      Rows(idx).Delete
    End If
    End If
  Next idx
End If
End Sub
'-------------------------------------------
'-------------------------------------------
Sub MacroTest1()
  Dim keyWord As Variant
  Dim FirstAdd As String
  Dim UR As Range
  Dim c As Range
  Const col As Long = 1 '列数
  keyWord = Application.InputBox("除外対象の文字列は?", Type:=2)
  If VarType(keyWord) = vbBoolean Or Len(keyWord) = 0 Then Exit Sub
  
  With ActiveSheet
    With .UsedRange
      Set c = .Find( _
      What:="*" & keyWord & "*", _
      LookIn:=xlValues, _
      LookAt:=xlPart, _
      SearchOrder:=xlByRows)
      
      If Not c Is Nothing Then
        FirstAdd = c.Address
        Set UR = c
        Do
          Set c = .FindNext(c)
          Set UR = Union(UR, c)
          If c.Address = FirstAdd Then Exit Do
        Loop Until c Is Nothing
      End If
    End With
    If Not UR Is Nothing Then
      UR.EntireRow.Hidden = True
      .UsedRange.SpecialCells(xlCellTypeVisible).Delete
      .UsedRange.EntireRow.Hidden = False
    End If
  End With
End Sub
  

こんにちは。

ご自身のコードではありませんね。ある程度、コードが書ける人のものです。間違いがありますが。

私としては、他人のコードはあまりいじらないようにしていますので、二番目に私のコードを出しておきます。
'-------------------------------------------
Sub Macro1R()
Const col As String = "A" '文字列が入力されている列
Dim idx As Long
Dim keyWord '←Variant にしていから、本来は、TypeName では受けない
keyWord = Application.InputBox("除外対象の文字列は?", Type:=2)
...続きを読む

QExcelで飛ばし連番

Excelで連番をふりたいのですが、下記のようなことは可能でしょうか?

A列に曜日、B列に連番なのですが、
土曜日と日曜日は飛ばしたいのです。
連番が1000ほど続くので、何かいい方法はないかと考えています。
宜しくお願いいたします。

  A B
1 月  1
2  火  2
3 水  3
4  木  4
5 金  5
6 土
7 日
8  月  6
9 火  7
  ・  ・
  ・  ・
  ・  ・

Excel2002を使用しています。

Aベストアンサー

A列に日付があるとします。すなわちA列は日付シリアル値が入っているとします。文字列だと直接はダメですが。
C2に
=IF(OR(WEEKDAY(A2)=1,WEEKDAY(A2)=7),"",MAX($B$1:B1)+1)
と入れて月末まで式を複写する。
結果
2007/3/1 1
2007/3/2 2
2007/3/3
2007/3/4
2007/3/5 3
2007/3/6 4
2007/3/7 5
2007/3/8 6
2007/3/9 7
2007/3/10
2007/3/11
2007/3/12 8
以下略。
曜日の文字を使うならB列は、=TEXT(A2,"aaa")で文字列の「値」にしてください。表示形式ではダメ。

QEXCELマクロでファイル名を指定して実行.....

EXCELのマクロでファイル名を指定して実行のラインで実行するように実行をしたいのですがやり方がわかりません。ご存知のかたお教えねがえないでしょうか。

Aベストアンサー

>エクセルのsheetにコマンドボタンを作成し
これはお判かりとして
>そのコマンドボタンを押すことにより
Private Sub CommandButton1_Click()
x = Shell("C:\WINDOWS\calc.exe")
End Sub
の電卓の例をご参考に。

QExcel上でのデータ数字が連番であることを確認する方法を教えてくださ

Excel上でのデータ数字が連番であることを確認する方法を教えてください。

ある列に数字5桁で、00001,00002・・・と数字が約30000件並んでいますが、
これが重複や漏れなく正しく連番が付与されることを確認したいと考えています。

目視で1件ずつ見る以外に、関数等を使って検証する方法は無いでしょうか?
Excelは2003です。
どなたか良いアドバイスをお願いします。

Aベストアンサー

列内の1行ごとの差は「1」になるはずですね。
例えば a2-a1という式をすべてに投入すれば、条件を満たしていればすべての差が「1」です。
 あとはフィルターで「1」以外の答えが入っているかどうかを確認すればいいのではないでしょうか。

Qエクセルで自動入力してる過去の請求書・見積書の日付

見積書や請求書の日付を、TODAYの自動入力にしています。
過去に提出した見積書の日付などを確認したいと思ってエクセルを開くと、日付の部分が自動入力なので本日の日付に変わって表示されます。。。
過去の日付を確認したい場合は、どうすればよいですか?
過去の日付のまま開くことは不可能なんでしょうか?

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

Aベストアンサー

[ツール]→[オプション]→「計算方法」タブ
ここの
計算方法を「手動」にしてから開いてください。
以前の情報で開けると思います。

前回の見積書作成がそのファイルを保存したなら、単にファイルのプロパティで保存日を確認するだけでも良いかも。

Qexcelの関数かマクロで連番、日付を付けたい

こんばんわ、EXCELマクロ入門者です。
excelの関数かマクロ、VBAで日付や、連番を付けたいです。
できれば関数でできたらなぁと思います。マクロ、VBAはほとんど初めてです。
(1)まず、B2に商品名を入れます。
(2)すると、A2に連番、C2に今日の日付(システム日付)、
D2に商品名と今日の日付、商品ごとの連番が自動的に振っていく感じにしたいです。毎日たくさん入力するらしいのでマクロとかVBAとか関数で作ってくれと頼まれました。

A列は例えばA3に=if(B3="","",A2+1)を入れて何とかできたのですが、
C列の日付(today関数やnow関数ではファイルを開き直すと日付が変わってしまう)とD列の商品名-日付-商品ごとの連番で特に困っています。

イメージとしては下のような感じです。
  A   B    C     D
1 連番 商品名 日付    商品名-日付-商品ごとの連番
2 1   ○○○ 2007/8/10  ○○○-2007/8/10-1
3 2   ××× 2007/8/12  ×××-2007/8/12-1
4 3   △△△ 2007/8/13  △△△-2007/8/13-1
5 4   ○○○ 2007/8/15  ○○○-2007/8/15-2
6 5   ○○○ 2007/8/16  ○○○-2007/8/16-3

どなたか、ご教授ください。
どうぞ、宜しくお願い致します。

こんばんわ、EXCELマクロ入門者です。
excelの関数かマクロ、VBAで日付や、連番を付けたいです。
できれば関数でできたらなぁと思います。マクロ、VBAはほとんど初めてです。
(1)まず、B2に商品名を入れます。
(2)すると、A2に連番、C2に今日の日付(システム日付)、
D2に商品名と今日の日付、商品ごとの連番が自動的に振っていく感じにしたいです。毎日たくさん入力するらしいのでマクロとかVBAとか関数で作ってくれと頼まれました。

A列は例えばA3に=if(B3="","",A2+1)を入れて何とかできたのですが、
...続きを読む

Aベストアンサー

>C2に今日の日付(システム日付)
を入れるのであれば関数では実現できません。VBA(マクロ)が必要になります。
でもB列の日付、D列の商品・日付・連番までVBAで書き込むのはうまい方法とは言えません(理由は後述)。VBAでは日付だけ書き込んで、A列、D列は関数で表示させるのが良いと思います

B列の値が変更されたとき、C列に日付を書き込むマクロは以下です。このマクロはデータを入力するシートの「シート名右クリック」→「コードの表示」で開く画面に貼り付けてください

Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, Range("B2:B65536")) Is Nothing Then
  If Target.Cells(1, 1).Value = "" Then
   Target.Offset(, 1) = ""
  Else
   Target.Offset(, 1) = Date
  End If
 End If
End Sub

A2セルの関数式は
 =IF(B2="","",ROW()-1)
D2セルの関数式は
 =IF(B2="","",B2&"-"&TEXT(C2,"YYYY/MM/DD")&"-"&SUMPRODUCT((B$2:B2=B2)*(C$2:C2=C2)))
A2,D2ともに下方向にコピーしてください

補足
VBAでシートのSelection_Changeイベントを使って、「B列が変更されたらA列、D列にデータを書き込む」のは簡単にできます。
でも10行目までデータを入力した後、2行目に戻って商品名を直したらどうなりますか?

VBAで2行目の連番はふり直されますが、3行目~10行目の連番ふり直しは普通しません。(毎回全行のふり直しをするようVBAを書けば別ですが、普通そんな無駄な処理にはしないでしょう)
ですから特にD列のデータ書き込みはVBAではなく、シートの値によって自動的に更新される関数式の方がよいのです

>C2に今日の日付(システム日付)
を入れるのであれば関数では実現できません。VBA(マクロ)が必要になります。
でもB列の日付、D列の商品・日付・連番までVBAで書き込むのはうまい方法とは言えません(理由は後述)。VBAでは日付だけ書き込んで、A列、D列は関数で表示させるのが良いと思います

B列の値が変更されたとき、C列に日付を書き込むマクロは以下です。このマクロはデータを入力するシートの「シート名右クリック」→「コードの表示」で開く画面に貼り付けてください

Private Sub Worksheet_Cha...続きを読む

Qエクセル2000で見積書と請求書を作成するとき・・・

エクセル2000で、シート1に見積書、シート2に請求書を作っているところです。レイアウトと数式は完成しました。タイトル以外は見積書も請求書もまったく同じ内容なので、データを見積書分と請求書分2回入力せず、省略できればと思います。

シート1(見積書)に文字などを入力したら、シート2(請求書)の同じ位置のセルに文字が自動的に入力されている設定にしたいです。このようなことはできるのでしょうか?

Aベストアンサー

見積書と言う文字を請求書と出すにはマクロを書かないと無理でしょう(笑)
それは冗談として(目的が違いますね)

シート2を開いて自動入力したいセルに「=」と入れた状態で、シート1の
タブをクリックします。するとシート1を表示させます。その状態で入力する
セルをクリックし、エンターを押すだけで終りです。
シート2のセルに =Sheet1!A1 のような式が出来ていれば正解です。

複数のセルがある場合(当然ですね)形が同じなので上の方法で入れた計算式
を全体にコピーすれば完了です。


人気Q&Aランキング

おすすめ情報