• 締切済み

excel2003マクロの2007での使い方

jcctairaの回答

  • jcctaira
  • ベストアンサー率58% (119/204)
回答No.3

childalllさん こんにちは。 多分 "B.xls"が"B.xlsx"に変わったのではないでしょうか? もしそうなら  Windows("B.xls").Activate        ↓  Windows("B.xlsx").Activate だと思います。 また Workbooks(1).Activate のようにWorkbooksオブジェクトを使用するのなら Workbooks("B.xlsx").Activate または Workbooks(2).Activate  を使用(統一)した方が良いかと思います。

childalll
質問者

お礼

回答ありがとうございます。 拡張子は2007形式で保存したり色々試してみましたができませんでした。 Windows("B.xls").Activateは機能しているようですが、Workbooks(1).Activateは機能していないようです。

関連するQ&A

  • このマクロ、何をしているのかわかりますか?

    ' Rows("1:1").Select Selection.Insert Shift:=xlDown Range("A1").Select ActiveSheet.PasteSpecial Format:="テキスト", Link:=False, DisplayAsIcon:= _ False Range("A1:A37").Select Selection.Copy Range("S1").Select Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=True Columns("A:A").Select Application.CutCopyMode = False Selection.ClearContents Range("A1").Select End Sub わかる方 お願いいたします!

  • Excelでマクロを繰り返したい。

    Excelでマクロを記録したら以下のようになりました このマクロを以下の条件で繰り返したいのですが。 Sub Macro1() '------------- '----------------------- ' Sheets("Sheet1").Select Selection.AutoFilter Field:=4, Criteria1:="=5*", Operator:=xlAnd, _ Criteria2:="<>5@*" Range("A3:A302").Select Selection.Copy Sheets("Sheet2").Select Range("A3").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Sheets("Sheet1").Select Range("A1").Select Selection.AutoFilter Field:=4, Criteria1:="=6*", Operator:=xlAnd, _ Criteria2:="<>6@*" Range("A3:A302").Select Selection.Copy Sheets("Sheet2").Select Range("B3").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Sheets("Sheet1").Select Selection.AutoFilter Field:=4, Criteria1:="=7*", Operator:=xlAnd, _ Criteria2:="<>7@*" Range("A3:A302").Select Selection.Copy Sheets("Sheet2").Select Range("A103").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Sheets("Sheet1").Select Range("A1").Select Selection.AutoFilter Field:=4, Criteria1:="=8*", Operator:=xlAnd, _ Criteria2:="<>8@*" Range("A3:A302").Select Selection.Copy Sheets("Sheet2").Select Range("B103").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub 条件= Field:は4~35位まで変動します 一連の動作をコピーして手作業で数字を変えてみたのですが プロージャが大きすぎてエラーになってしまいます。 何か良い方法は無いでしょうか?。

  • Excel2013,macroのcopy

    Excel2013でマクロ実行するのですが、最後のstepの「条件付き書式」のcopyが上手く行きません。どなたかご教授お願いします。 A~J列x約4000行(1行~5行まではTytle行)のsheetです。 A列は日付で、過去からの日付となって居ます。 このsheetを見易くする為にA6行に 「条件付き書式」 =mod(month(A6),2)=0 を設定し、下記のmacro式でA6~J4000にCOPYするのですが、結果は上手く行きません。 ※1:偶数月行のA列のみ正確に書式設定されるが、全列(A~J)にならない。 ※2:奇数月のところどころ(列)に書式が設定される。 の不具合が生じます。 考えられる原因は何でしょうか?、ご教授願えませんでしょうか?。 与えたmacro Range("A6").Select Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _ "=MOD(MONTH(A6),2)=0" Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority With Selection.FormatConditions(1).Interior .PatternColorIndex = xlAutomatic .Color = 11200714 .TintAndShade = 0 End With Selection.FormatConditions(1).StopIfTrue = True Selection.Copy Range(Selection, Selection.End(xlDown)).Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlToRight)).Select Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False Range("A6").Select End Sub

  • マクロでシート2~6のデータをシート1に転記したい

    マクロでシート2~6のデータをシート1に転記したいです。 シート2~6のデータを シート1に順番に転記したくてマクロの記録を利用して作成しました。 シート2~6は列は同じですが行数は異なります。 また行数は作業の都度異なります。 同じ記述が繰り返されているので もう少し記述が短くできるのではと思うのですが どうすればいいでしょうか? Sub データ更新() 'シート1の前回データをクリア Sheets("シート1").Select Range("A2:Q2").Select Range(Selection, Selection.End(xlDown)).Select Range(Selection, Selection.End(xlDown)).Select Selection.ClearContents Range("A2").Select Sheets("シート1").Select Range("A1").Select Sheets("シート2").Select Range("A1").Select 'ヘッダーも合わせて取得 Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select Selection.Copy Sheets("シート1").Select ActiveSheet.Paste Application.CutCopyMode = False Selection.End(xlDown).Select Selection.Offset(1, 0).Select Sheets("シート3").Select Range("A2").Select 'データのみ取得 Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select Selection.Copy Sheets("シート1").Select ActiveSheet.Paste Application.CutCopyMode = False Selection.End(xlDown).Select Selection.Offset(1, 0).Select Sheets("シート4").Select Range("A2").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select Selection.Copy Sheets("シート1").Select ActiveSheet.Paste Application.CutCopyMode = False Selection.End(xlDown).Select Selection.Offset(1, 0).Select Sheets("シート5").Select Range("A2").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select Selection.Copy Sheets("シート1").Select ActiveSheet.Paste Application.CutCopyMode = False Selection.End(xlDown).Select Selection.Offset(1, 0).Select Sheets("シート6").Select Range("A2").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select Selection.Copy Sheets("シート1").Select ActiveSheet.Paste Application.CutCopyMode = False Selection.End(xlDown).Select Selection.Offset(1, 0).Select End Sub

  • マクロを使って不特定のファイルからコピー&ペーストしたい(エクセル)

    エクセルのデータの必要な列を別のブックに入っているフォーマットにどんどん追加していけるようなマクロを作りたいと思っています。 マクロの自動記録を使ってみたのですが、特定のファイル名が入っているので、使えません。 中を見てみると Windows("A.xls").Activate Columns("b:b").select Selection.copy workbooks.open Filename:="B.xls" Windows("B.xls").Activate Range("D9").select Windows("A.xls").Activate Application.CutCopyMode = False Range("b:b").select Selection.copy Windows("B.xls").Activate Selection.Pastespecial Paste:=xlValues,Operation:=xlNone,SkipBlanks:=False,Transpose:=False . . . となっています。 このファイルAとなっている部分を、どのファイルでも実行できるようにしたいです。 後、ファイルBに貼り付けるときに一番最終行に追加していくにはどのような構文を足せばいいか教えていただきたいです。 初心者で質問の意図が伝わりにくかったらすみません.. よろしくお願いします。

  • マクロを教えてください

    同じフォルダ内にあるXlsブックのあるSheetのデータを他のBookにコピーして貼り付けて貼り付けた側のBookで加工したいのですがうまくマクロが組めません。 Bookを共有で使っているので困っています。 Sub ワードアート1_Click ' ActiveWindow.ScrollWorkbookTabs sition:=xlLast Workbooks.Open ("販売管理表み.xls") Sheets("在庫一覧").Select Cells.Select Range("A1").Activate Selection.Copy Windows("完成在庫.xls").Activate Sheets("完成在庫一覧").Select Range("A1").Select ActiveSheet.Paste End Sub って書いてみましたが、Workbooks…のところでエラーになってしまいました。(TOT)初心者ですみません。教えてください。

  • EXCEL2007 マクロ

    EXCELのマクロですが、EXCEL2003で作成しました。 EXCEL2003では正常に動作しましたが、EXCEL2007だと「処理を開始する」「OK」のメッセージが出た後 『インデックスが有効範囲にありません』 とエラーがでると他の人に言われたのですが、この中に2007だと使用できない命令があるでしょうか? あるとしたら、2007~2000まで使用できる代わりの命令などはあるでしょうか? よろしくおねがいします。 Private Sub CommandButton2_Click() Dim fName As String, orgDir As String Const タイトル = "「csv」ファイルを選択してから、[開く]ボタンをクリックしてください。" Const ファイルの場所 = "C:\" 'ファイルの場所 Const フィルタ1a = "CSV" 'ファイルの種類 Const フィルタ1b = "*.csv" 'ファイルの拡張子 orgDir = CurDir ChDir ファイルの場所 fName = Application.GetOpenFilename(フィルタ1a & "," & フィルタ1b, 1, タイトル) If fName <> "False" Then Workbooks.Open fName Else MsgBox "[キャンセル]または[×]ボタンがクリックされました。", , "タイムカード注入" Exit Sub End If ChDir orgDir If MsgBox("処理を開始します", vbOKCancel + vbInformation, "最終確認") = vbCancel Then Exit Sub End If Windows("2008.csv").Activate Sheets("2008").Range("C3:C33").Select Application.CutCopyMode = False Selection.Copy Windows(ThisWorkbook.Sheets("報告書").Range("A2") & ".xls").Activate Range("G5:G35").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Windows("2008.csv").Activate Sheets("2008").Range("K3:K33").Select Application.CutCopyMode = False Selection.Copy Windows(ThisWorkbook.Sheets("報告書").Range("A2") & ".xls").Activate Range("I5:I35").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Workbooks("2008.csv").Close SaveChanges:=False End Sub

  • マクロの記録を書きかえる

    下記の構文を可能な限り短くして書きたいのですが、 どのように省略出来るのかがわかりません。 <シート1のB列のデータの入力されているセルまでコピーし、シート2のA2から値で貼付ける> Range(\"B2\").Select Range(Selection, Selection.End(xlDown)).Select Selection.Copy Sheets(\"Sheet1\").Select Range(\"A2\").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ご指導宜しくお願い致します。

  • Excel マクロ : マクロの記録の表記方法の変更

    Excelで質問です。 下記のようなマクロの記録を使用し「顧客一覧」のブックにデータを追加しています。 しかし、処理の中で一項目コピーするごとにファイルを行ったり来たりしているようで処理が遅いようです。何か解決策はあるのでしょうか? ・ ・ ・ Windows("顧客一覧.xls").Activate Rows("4:4").Select Selection.Insert Shift:=xlDown Windows("2.xls").Activate Range("C6").Select Selection.Copy Windows("顧客一覧.xls").Activate Range("A4").Select ActiveSheet.Paste Windows("2.xls").Activate Range("C7").Select Application.CutCopyMode = False Selection.Copy Windows("顧客一覧.xls").Activate Range("B4").Select ActiveSheet.Paste Windows("2.xls").Activate Range("C8").Select Application.CutCopyMode = False Selection.Copy   ・   ・

  • Excelマクロの繰り返しの書き方

    Excelマクロで、下記のような操作を、B4行から、B100まで 繰り返したいです。 このような行を、100行まで書くのは、面倒なので、 For Nextや、Do loopを使いたいのですが、 いろいろな指南書を読んでも、セル内の書式がイマイチ理解できないので、 申し訳ないのですが、どなたか、ご指南いただけないでしょうか? Range("B4").Select Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove Range("B6").Select Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove 同様な問題ですが、下記を50行繰り返したい、 上記のご回答をいただければ、下記も理解できると思うのですが 下記も作れないで困っています。できれば、これも教えていただければ助かります。 Range("A5").Select Selection.EntireRow.Delete Range("A6").Select Selection.EntireRow.Delete Excelのversionは2019です。 以上、よろしくお願いします。