エクセル勉強中の者です。
急遽以下のマクロが必要となりましたので
教えて頂けませんでしょうか?

◆目的
マクロの使い方がわからない人にEXELファイルをメールするので
自動的に任意のマクロを起動させたい。
※ちなみにその相手はエクセルの設定すらいじれない方です・・・

◆自動実行させたいマクロ
こちらのEXELファイルをメールで受け取り、開いたら以下のマクロを
自動的に実行するようにしたい。

・印刷の余白が全て"0"にマクロで設定。
・印刷倍率を95%にマクロで設定。

以上です。

私自身、先日マクロの勉強を始めたばかりなので、この問題に
頭を抱えております。どうかご指導お願いいたします。

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

A 回答 (2件)

>・・・End Subが必要です


余分な Sub や Function が書かれた行があると思いますが・・・

>ファイルを開いた瞬間に自動実行させる場合に追加する文法(式?)・・・
(1)まず、ツール→マクロ→Visual Basic Editor で VBE画面に移動します。
(2)VBE画面で、表示→プロジェクトエクスプローラ でプロジェクトエクスプローラを表示します。
(3)プロジェクトエクスプローラの『ThisWorkbook』をダブルクリックしてコードウインドウを出します。
(4)コードウインドウの上に(General)、(Declarations)と表示された窓があると思います。
   (General)の方の三角をクリックして『Workbook』をクリックします。
(5)コードウインドウに次のコードが自動的に書かれます。
     Private Sub Workbook_Open()

     End Sub
(6)この2行の間にBookをOpenした時に行いたいことを書きます。
(7)このWorkbook_OpenがBookを開いた時に実行されます。(他にも方法はありますが)

2行の間に、With~End With を貼り付けてみて下さい。
    • good
    • 0

どのシートをセットアップしたいか分かりませんので、Sheet1の例と全てのシートをセットアップする例です。

どちらかをThisWorkbook に貼り付けます。

ただ、シートのセットアップは保存した時、記憶されていますので、事前に設定しておけば開いた時に再度設定しなおすことはないような気がしますが・・・
また、ブックを開いた時に警告が出たり、相手のセキュリティレベルも考慮する必要があると思います。 ご参考に。(Excel2000です)


'Sheet1をセットアップの例
Private Sub Workbook_Open()
  With Worksheets("Sheet1").PageSetup
    .LeftMargin = Application.InchesToPoints(0)
    .RightMargin = Application.InchesToPoints(0)
    .TopMargin = Application.InchesToPoints(0)
    .BottomMargin = Application.InchesToPoints(0)
    .HeaderMargin = Application.InchesToPoints(0)
    .FooterMargin = Application.InchesToPoints(0)
    .Zoom = 95
  End With
End Sub

'全てのシートをセットアップの例
Private Sub Workbook_Open()
  Dim ws As Worksheet 'シート

  For Each ws In Worksheets
    With ws.PageSetup
      .LeftMargin = Application.InchesToPoints(0)
      .RightMargin = Application.InchesToPoints(0)
      .TopMargin = Application.InchesToPoints(0)
      .BottomMargin = Application.InchesToPoints(0)
      .HeaderMargin = Application.InchesToPoints(0)
      .FooterMargin = Application.InchesToPoints(0)
      .Zoom = 95 '拡大/縮小
    End With
  Next
End Sub

この回答への補足

ご丁寧な回答ありがとうございます。
そのまま利用したのですが、
「コンパイルエラー:End Subが必要です」
とのミニ警告Windowが開き実行されません。

もちろんnishi6さんの作成文にあるEnd Subの部分も
きっちり貼り付けました。
バージョンはEXEL2000です。

ちなみに他のマクロを作った場合等で、
ファイルを開いただけでマクロを実行させるには、
どういった記述を追加すれば良いのでしょうか?

私はマクロ初心者なのでExelマクロの機能である
「新しいマクロを記録する」で記憶させてからVisualBasicで手直し・・
という形でしかマクロを扱えません。

お手数ですが、ファイルを開いた瞬間に自動実行させる場合に追加する
文法(式?)を教えて頂けないでしょうか?

補足日時:2002/01/23 01:44
    • good
    • 0

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

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

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

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

Qexcelのマクロでrangeの選択がうまくいきません。

excelのマクロでrangeの選択がうまくいきません。
以下のマクロをsheet2に書きました。testcopyは動きますが、testcopy2は動きません。なぜなのでしょうか。どうすればいいのでしょうか。それ以外のマクロの部分との関係から、cellsを使い、数字を使ってrangeの処理をしたいのです。よろしくお願いします。

Sub testcopy()
Worksheets("sheet1").Range("B3:C10").Copy
Worksheets("sheet2").Range("e5").Select
ActiveSheet.Paste
End Sub

Sub testcopy2()
Worksheets("sheet1").Range(Cells(3, 2), Cells(10, 3)).Copy
Worksheets("sheet2").Range("e5").Select
ActiveSheet.Paste
End Sub

Aベストアンサー

>testcopyは動きますが、testcopy2は動きません

testcopyは「動作したり、しなかったりする」が正しい表現です。
  要するに今回testcopyが動いたのは▼たまたま▼ということです。

testcopy2 は当然ながらエラーになります。
何れにしろ、両方ともに問題があるということです。
その問題点は2つあります。

(1)アクティブでないシートのセルはSelect(Activate)できない
(2)複数のシートを扱うときのセルの参照は
   そのセルがどのシートのセルなのか明示する必要がある


これを踏まえて、、、、
---------------
●testcopy●

これが動作するのは
Sheet【2】がアクティブな状態で実行する場合です

Sheet【1】がアクティブな状態で実行すると
  Worksheets("sheet2").Range("e5").Select
ここで、問題点(1)の理由によりエラー。
で、先ずシートを選択、次にセルを選択と2段階にしないといけません。

  Worksheets("sheet2").Select
  ActiveSheet.Range("E5").Select

----------------
●testcopy2●

▼Sheet【1】がアクティブな状態で実行
  testcopyと同じ場所、同じ理由でエラー

▼Sheet【2】がアクティブな状態で実行
  Worksheets("sheet1").Range(Cells(3, 2), Cells(10, 3)).Copy
  ここで、問題点(2)により、エラー。
 
 Cellsの前にシートオブジェクトがないので
 Cells(3, 2), Cells(10, 3)はアクティブなSheet【2】のセルとみなされ
 (★実際はちょと違う場合もありますが今回はそう★)

 Worksheets("sheet1").Range(  ← Sheet【1】
 Cells(3, 2), Cells(10, 3))   ← Sheet【2】

このようにSheet【1】【2】が混在していることになり、エラー
で、Cellsの前にシートを付加してセルがどのシートのセルか明示してやる

Worksheets("sheet1").Range(Worksheets("sheet1").Cells(3, 2), Worksheets("sheet1").Cells(10, 3)).Copy
  
---------------------------------
で、質問者のコードを修正すると
'-------------
Sub testcopy()
 Worksheets("sheet1").Range("B3:C10").Copy
 With Worksheets("sheet2")
   .Select
   .Range("E5").Select
   .Paste
 End With
End Sub
'-------------

Sub testcopy2()
 With Worksheets("sheet1")
   .Range(.Cells(3, 2), .Cells(10, 3)).Copy
 End With
 With Worksheets("sheet2")
   .Select
   .Range("E5").Select
   .Paste
 End With
End Sub
'--------------

●ただ今回のような単純なコピーの場合は
 既出の回答にあるようにSelectなしで書くのがふうつです。
'-----------
Sub testcopy111()
 Worksheets("sheet1")
   .Range("B3:C10").Copy Worksheets("sheet2").Range("E5")
 End With
End Sub
'-----------
Sub testcopy222()
 Worksheets("sheet1")
  .Range(.Cells(3, 2), .Cells(10, 3)).Copy Worksheets("sheet2").Range("E5")
 End With
End Sub
'-----------

今回の件は重要事柄ですので覚えておきましょう。
以上です。
 

>testcopyは動きますが、testcopy2は動きません

testcopyは「動作したり、しなかったりする」が正しい表現です。
  要するに今回testcopyが動いたのは▼たまたま▼ということです。

testcopy2 は当然ながらエラーになります。
何れにしろ、両方ともに問題があるということです。
その問題点は2つあります。

(1)アクティブでないシートのセルはSelect(Activate)できない
(2)複数のシートを扱うときのセルの参照は
   そのセルがどのシートのセルなのか明示する必要がある


これを踏まえて、、、、
-...続きを読む

QExcel マクロの自動実行と編集作業

「Auto_Open」でマクロを自動実行しています。そうするとVBAを編集するにも一度実行してしまうことになります。VBAの書き方が拙いこともあり実行後にSAVEすると次回エラーで動きません。画面は結構複雑で毎回クリアするのも大変です。何か良い編集方法はありませんか?それともVBAを書き換えるしかありませんか?
Excel VBAは見よう見まねで基礎から学んだことがありません(VBは結構経験あり)。仕事に使っていて今困っています。とりあえず解決策を教えてください。

Aベストアンサー

Auto_Open を実行させずにBookを開いてマクロを編集したいという意味でしょうか?

1)マクロのセキュリティを「高」または「中」にしてマクロ無効で開く。

または
2)別BookのマクロからBookをOpenするとAuto_Openは実行されないので別Bookから
Sub Macro1()
  Workbooks.Open Filename:="D:\test\test.xls"
End Sub
などとして開く。

または
3)Shiftキーを押しながら開くと Editable:=True で開くのでAuto_Openは実行されない。(と思う)

QRange("K" & TR).Formula = で、セルにマクロで式を書きたいのですが

よろしくお願いします。いつもgooの皆さんには大変お世話になっています
エクセルは2013です

わけあって、セルにマクロで式を書いています
例えば TRは行を表す変数ですが
Range("K" & TR).Formula = "=IFERROR(AY" & TR & ","""")" と書いたマクロの結果は
=IFERROR(AY43,"") という式がRange("K" & TR) に書かれます

それでは、いま、マクロで下記のように書いているコード(TRは行を表す変数です)
Range("Z" & i) = Range("Z" & i - 1) - Range("AG" & TR) * 10000 は
Range("Z" & i).Formula = 
で書く場合、=の右側をどう書いたら良いでしょうか

色々とやってみたのですが狙った式になりません

この場合 変数 i を使っているので、もしかしたら、そもそも無理なことでしょうか

うまく説明できていませんがよろしくお願いします

Aベストアンサー

No.1です。申し訳ありません大ボケな回答をしていましました。

要するに↓ってことですよね? また勘違いしていたらスミマセン。

Range("Z" & i).Formula = "=Z" & i - 1 & "-AG" & TR & " * 10000"

Qaccessマクログループの全マクロの実行方法

お世話になります。

現在、顧客のデータベースを作成しております。DBは名前、住所等の連絡先を入力したテーブルを元に下記のクエリやマクロを作成しています。取引がない顧客等はメイン名簿テーブルから削除して、メインテーブルの構造をコピーした、削除テーブルに入れるようにしたいと考えています。

そこで下記のテーブル、クエリ、グループマクロを作成しました。グループマクロは作成したクエリ3つで構成されています。各アクションクエリは一個一個は正常に作動するのですが、グループマクロを実行しますと、1行目のクエリしか実行されません。実行方法はマクロの画面で更新ボタンを押しても、フォームに削除というボタンを作成してクリック時にグループマクロを実行させるよう設定した場合の両方で起きます。

 グループマクロに登録されているマクロを全て実行するにはどうしたらいいのでしょうか。色々調べると、グループマクロは1行目しか実行できないようですが、全て実行する簡単な方法はありませんか?できればVBAではない方法を希望します。大変お手数ですがどうぞ、よろしくお願い致します。


 ・(テーブル)メイン名簿(以下、名簿tblとします)
   ⇒フィールド:名前、郵便番号、住所、電話、メモ欄、削除の有無、削除処理日

 ・(テーブル)削除テーブル(以下、削除tblとします)
   ⇒フィールドは上記と同じ

 ・(更新クエリ)削除処理日追加
   ⇒名簿tblの「削除の有無」フィールドにyesと入力されていれば、「削除処理日」に処理日が
    入力されるようにdate関数を設定しています。(date())

 ・(追加クエリ)削除tblへ追加
   ⇒名簿tblの「削除の有無」フィールドにyesと入力されていれば、「削除tbl」へそのレコードを、
    追加する。
 
 ・(削除クエリ)名簿tblからの削除
   ⇒名簿tblの「削除の有無」フィールドにyesと入力されていれば、名簿tblからそのレコードを、
    削除する。

 ・(マクログループ)削除処理(上から順番に実行希望)
    マクロ名           アクション     クエリ名
    削除処理日追加     クエリを開く    (更新クエリ)削除処理日追加
    削除tblへコピー      クエリを開く    (追加クエリ)削除tblへ追加
  名簿tblからの削除    クエリを開く    (削除クエリ)名簿tblからの削除                     
                                  以上

お世話になります。

現在、顧客のデータベースを作成しております。DBは名前、住所等の連絡先を入力したテーブルを元に下記のクエリやマクロを作成しています。取引がない顧客等はメイン名簿テーブルから削除して、メインテーブルの構造をコピーした、削除テーブルに入れるようにしたいと考えています。

そこで下記のテーブル、クエリ、グループマクロを作成しました。グループマクロは作成したクエリ3つで構成されています。各アクションクエリは一個一個は正常に作動するのですが、グループマクロを実行しま...続きを読む

Aベストアンサー

> 全て実行する簡単な方法はありませんか?

3つのアクションクエリを「常にセットで実行」するのでしたら、マクロのデザインビューの
『マクロ名』欄は、全て空白にして下さい。

【現状】 ※クエリ名はここでは省略しています。
 <マクロ名>     <アクション>
削除処理日追加  クエリを開く
削除tblへコピー   クエリを開く
名簿tblからの削除 クエリを開く

【修正版・1】
 <マクロ名>     <アクション>
            クエリを開く
            クエリを開く
            クエリを開く

【修正版・2】
 ※bin-chanさんからの回答にもある、クエリ実行前に都度発生する確認メッセージを
  省略する場合。
 <マクロ名> <条件> <アクション>      『メッセージの表示』引数
         (*1)   マクロの中止       ↓
              メッセージの設定   「いいえ」
              クエリを開く
              クエリを開く
              クエリを開く
 ※「(*1)」には、以下の式を入れてください:
   MsgBox("処理を実行します。", 1, "確認")=2
 ※マクロの場合は、マクロの処理が終了するのと同時に『メッセージの設定』を「はい」に
   戻さなくても自動で元の設定に戻ります(VBAと動作が違うので、VBAに乗り換える
   場合は注意が必要)。

★フォームからの呼び出し方が、「(親マクロ名).削除処理日追加」となっている場合は、
 「(親マクロ名)」の形に変更して下さい。


  ------------------------------

また、各アクションクエリを個別でも実行したい、という場合は、以下のような形にします。

【修正版・3】
 <マクロ名>   <条件> <アクション>    『マクロの実行』引数の値
           (*1)   マクロの中止      ↓
                マクロの実行  「(親マクロ名).削除処理日追加」
                マクロの実行  「(親マクロ名).削除tblへコピー」
                マクロの実行  「(親マクロ名).名簿tblからの削除」
削除処理日追加      メッセージの設定
                クエリを開く
削除tblへコピー       メッセージの設定
                クエリを開く
名簿tblからの削除     メッセージの設定
                クエリを開く


※「(*1)」は【修正版・3】と同じもの。


・・・以上です。

> 全て実行する簡単な方法はありませんか?

3つのアクションクエリを「常にセットで実行」するのでしたら、マクロのデザインビューの
『マクロ名』欄は、全て空白にして下さい。

【現状】 ※クエリ名はここでは省略しています。
 <マクロ名>     <アクション>
削除処理日追加  クエリを開く
削除tblへコピー   クエリを開く
名簿tblからの削除 クエリを開く

【修正版・1】
 <マクロ名>     <アクション>
            クエリを開く
            クエリを開く
   ...続きを読む

QVBA マクロ実行時エラー’1004RangeクラスのPasteSpecialメソッドが失敗

マクロ実行時に、エラー’1004RangeクラスのPasteSpecialメソッドが失敗と表記され、マクロが実行されません。

マクロの内容は、任意の範囲をコピー、新規book追加し、
新規bookに(1)Paste:=xlPasteValues (2)Paste:=xlPasteColumnWidths (3)Paste:=xlPasteFormats の順に貼り付けし保存するものです。

いろいろ調べては見たのですが、当方初心者の為、わからずじまいです。お手数ではございますが、どなたかご教授願います。
下記にマクロ内容全部記載します。
よろしくお願いします。

*********************************************************
*********************************************************
Sub 日報別ファイルに保存したい1()
Worksheets("日報").Range("A3:AF36").Copy
With Workbooks.Add
Cells.Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Cells.Select
Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False

ApplicationDisplayAlerts = True '同名FILEが存在する場合'
ActiveWorkbook.SaveAs Filename:= _
"c:\日報\" & ActiveSheet.Range("J2") & "年" & ActiveSheet.Range("l2") & "月" & ActiveSheet.Range("n2") & "日_日報.xls" _
, FileFormat:=xlNormal
.Close file


End With

End Sub

マクロ実行時に、エラー’1004RangeクラスのPasteSpecialメソッドが失敗と表記され、マクロが実行されません。

マクロの内容は、任意の範囲をコピー、新規book追加し、
新規bookに(1)Paste:=xlPasteValues (2)Paste:=xlPasteColumnWidths (3)Paste:=xlPasteFormats の順に貼り付けし保存するものです。

いろいろ調べては見たのですが、当方初心者の為、わからずじまいです。お手数ではございますが、どなたかご教授願います。
下記にマクロ内容全部記載します。
よろしくお願いします。

***********...続きを読む

Aベストアンサー

こんにちは。

>結果、「ThisWorkbook」上の下記のマクロを削除すると、正常に動きだしました。
それは、Copy 範囲が、消えてしまうことで、PasteSpecial が利かなくなってしまうからです。

まず、シート名の長いコードは、これだけでよいはずです。

Private Sub Workbook_Activate()
 Select Case StrConv(Trim(ActiveSheet.Name), vbNarrow)
 Case "1" To "30", "日報"
  Application.Calculation = xlCalculationManual
 End Select
End Sub


-------------------------------------------
''もし、そのままでダメでしたら、 ' Application.EnableEvents = False 'イベントの介入を阻止する のところのコメント・ブロック('コードの手前のアポストロフィ)を外して、再度試してみてください。

Sub 日報別ファイルに保存したい2()
Dim myRng As Range
Set myRng = Worksheets("日報").Range("A3:AF36")
 ' Application.EnableEvents = False 'イベントの介入を阻止する

With Workbooks.Add
  myRng.Copy
 .ActiveSheet.Range("A1").PasteSpecial Paste:=xlPasteValues, _
             Operation:=xlNone, SkipBlanks:=False, Transpose:=False
  myRng.Copy
 .ActiveSheet.Range("A1").PasteSpecial Paste:=xlPasteColumnWidths, _
             Operation:=xlNone, SkipBlanks:=False, Transpose:=False
  myRng.Copy
 .ActiveSheet.Range("A1").PasteSpecial Paste:=xlPasteFormats, _
             Operation:=xlNone, SkipBlanks:=False, Transpose:=False
 
  Application.CutCopyMode = False
 
 ApplicationDisplayAlerts = True '**これは、そのままでは必要ないはずです。'
 
 ActiveWorkbook.SaveAs Filename:="c:\日報\" & ActiveSheet.Range("J2") & "年" & _
                 ActiveSheet.Range("l2") & "月" & _
                 ActiveSheet.Range("n2") & "日_日報.xls", _
                 FileFormat:=xlNormal
 .Close file
End With
Set myRng = Nothing
'Application.EnableEvents = True 'イベントマクロの活動を戻す

End Sub

こんにちは。

>結果、「ThisWorkbook」上の下記のマクロを削除すると、正常に動きだしました。
それは、Copy 範囲が、消えてしまうことで、PasteSpecial が利かなくなってしまうからです。

まず、シート名の長いコードは、これだけでよいはずです。

Private Sub Workbook_Activate()
 Select Case StrConv(Trim(ActiveSheet.Name), vbNarrow)
 Case "1" To "30", "日報"
  Application.Calculation = xlCalculationManual
 End Select
End Sub


-----------------------------------------...続きを読む

Qエクセル:シートのタブをクリックすると自動で実行されるマクロ

よろしくお願いします。
あるエクセルファイルの
「リスト作成」というシートを選ぶ(そのタブ(見出し)をクリック)するだけで、

◆『自動で、そのシート(リスト作成)のセルC4に【=IF($B$6=1,YEAR(TODAY())+1,YEAR(TODAY()))】という計算式を入れるマクロを作りたい』

のです。ご指導ください。お願いします。

Aベストアンサー

「リスト作成」というシートのモジュールに

Private Sub Worksheet_Activate()
Range("C4").Value = "=IF($B$6=1,YEAR(TODAY())+1,YEAR(TODAY()))"
End Sub

と記入してみてください。

QExcelマクロでRange("A1:A5,C1:C5")をCellsで書きたいのですが

マクロ初心者です。
Excelマクロでグラフを作成するときに、元データを指定する所で、
Source:=Range("A1:A5,C1:C5")とするような場合、
「A1」とかアルファベットでの番地指定ではなく、
Cellsを用いて書きたいのです。

Source:=Range("A1:A5")であれば、
Source:=Range(Cells(1, 1), Cells(5, 1))と書けばいいことは分かるのですが、範囲指定を複数にする場合が分からないのです。

よろしくお願いします。

Aベストアンサー

Unionを使用したらできると思います。

Source:=Union(Range(Cells(1, 1), Cells(5, 1)), Range(Cells(1, 3), Cells(5, 3)))

今Excelがインストールされてないパソコンで作業していないので確認はしていないのですが・・・。

よかったら参考にして下さい

Qマクロ実行時のエラー「エラー番号1004lineStaylの設定ができませんでした」の原因

マクロを実行したらエラーがでます。「エラー番号1004lineStayl(ラインスタイル)の設定ができませんでした」というメッセージが出るのですが、原因は何でしょうか?
お願いします。

Aベストアンサー

検索すると、こちら↓がヒットしましたが...

XL2000: 描画オブジェクトからの削除時の問題の行します。
http://support.microsoft.com/kb/213576/ja
『実行時エラー 1004 LineStyleプロパティを設定できません』
http://www.excel.studio-kazu.jp/kw/20081009194607.html
罫線を引くとエラーが出るが?
http://www.asahi-net.or.jp/~zn3y-ngi/YNxv9582.html

Qエクセルのマクロ(range)について

マクロの作りと理解の方法について教えてください。

今、日報を作り直しています。
以前作成した方は、このように作っていました。


Worksheets("日報").Select
Range("Q7:Q23").Value = Range("U7:U23").Value
Range("S7:S59").Value = Range("V7:V59").Value
Range("A1").Select
MsgBox " 転写を終了しました。"
End Sub


マクロでは複数の行列を指定していますが、1行だけ表すと、
具体的な表とデータの変化の仕方とするとこのようになっています。

M    O    Q     S       U     V
個数 金額  累計個数 金額金額 (=M+Q) (=O+S)
0、   0、   100、   1000、    100、   1000 
1,初期状態

10、  100、  100、   1000、    110、   1100
2,個数を入力すると、計算式を入力してあるUとVの数が変わる

10、  100、   110、   1100、    120、   1200
3,マクロを実行すると、UとVの数がQとSに入力され、計算式を入力してあるUとVの数がさらに変わる。

0、   0、    110、   1100、   110、    1100
4,MとOの数をゼロ(クリア)にすると、計算式を入力してあるUとVの数が変わる。     


なかなか理解できないのは、Range("Q7:Q23").Value = Range("U7:U23").Valueの部分で、
2,の後にマクロを実行すると、U 110、V 1100がQ 100とS 1000に書き込まれることです。
通常の計算式だと=は対象となったセルをそのまま表示していると思うのですがのですが、
マクロに書いてある式だと3,のところでUとVの数をQとSに書き込んであります。
なぜ=なのにマクロでは一方のセルに数を書き込んでいるのでしょうか。
また、QやSをUやVへ書き込んでいないのでしょうか。

どなたか詳しく教えていただけると幸いです。

マクロの作りと理解の方法について教えてください。

今、日報を作り直しています。
以前作成した方は、このように作っていました。


Worksheets("日報").Select
Range("Q7:Q23").Value = Range("U7:U23").Value
Range("S7:S59").Value = Range("V7:V59").Value
Range("A1").Select
MsgBox " 転写を終了しました。"
End Sub


マクロでは複数の行列を指定していますが、1行だけ表すと、
具体的な表とデータの変化の仕方とするとこのようになっています。

M    O    Q     S...続きを読む

Aベストアンサー

プログラミング言語では、一般的に、
「=」は、右辺から左辺への「代入」
を意味します。

マクロ = Visual Basic = プログラミング言語
なので、Excelにおける「=」とは少し意味合いが違っています。

Qexelの自動計算

exel2002を使っています。
表計算でオートサムを使っている人に
前は1つのセルの数値を変えると
合計が書いてある数値などが自動的に
変化して計算してくれていたのが
できなくなったから直してくれとのこと。

私にはどうにもわかりません。
どうしたらいいですか?

Aベストアンサー

ツール→オプション→計算方法→で手動を自動にしても治りませんか?


人気Q&Aランキング