Worksheets(2).Range("A1").Select アクティブでないワークシート内のセルを選択しようとすると次のエラーが表示されます。 「実行時エラー '1004': Range クラスの Select メソッドが失敗しました。 Public WB1SH1 As Worksheet このイメージ処理を行うとものすごい勢いで画面がチカチカします。。。 Range(Cells(8, 1), Cells(1587, 2)).Select Range("A1:C4").Borders.LineStyle = True Windows("部品表.xls").Activate 記法の参考資料、Web版も参考になりますが、書籍版ももっと興味があります。 ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="0810p2x" .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "t"  Loop Withはとても苦手で避けているところが自分にあります。 Web版を活用してみて自分にあっていそうだったら入手を考えてみます。 ActiveSheet.Range(ActiveSheet.Cells(8, 1), ActiveSheet.Cells(1587, 2)).Select b = ActiveWorkbook.Path Range(Cells(8, 1), Cells(1587, 2)).Select MaxRow = CSVWB1SH1.Cells(Rows.Count, 1).End(xlUp).Row ------------ ...続きを読む, ※各種外部サービスのアカウントをお持ちの方はこちらから簡単に登録できます。 モータ  U-1325-L   A列に商品名、B列に商品番号が入力してあります。C列のコードは未入力です。 ExcelのVBAの質問になりますが、教えてください。下記を動かすと最後の行で「'Range'メソッドは失敗しました: '_Worksheet' オブジェクト」と出ますどうしても最後の行をセレクトしたいのですが、どうしたらよいでしょうか。Option Expli Dim ZPOS As Double Dim s As Integer Set readSheet = readBook.Worksheets("sheetName") ' 相手シートを参照 End With 上記の例では、RangeとかCellsの上位オブジェクトであるシート名が省略されています。 Sub Sample2() Selection.AutoFilter Field:=3, Criteria1:="=検索する", Operator:= xlAnd Dim readSheet As WorkSheet ' 相手シート Option Explicit Public WB1 As Workbook   Dim 検索する As Long 部品表は、何百種類もありますので、関数ではなく、マクロで処理を希望します。 MsgBox "このブックのパス   : " & a & Chr(13) & _ Sub Sample() 躓いた時は、Web検索して欲しい情報を得たり、あるいは、こうした掲示板で先輩方のお力をお借りしています。 Selection.Copy ← これを無効にしている Application.CutCopyMode = False もっと勉強して活用します。 商品名  商品番号  コード A列に商品名、B列に商品番号が入力してあります。C列のコードは未入力です。  xlBook.Close HENSU = "A1" & ":" & "C4" ' "A1:C4" を返します。←OK ActiveSheet.Paste ですね。 ActiveWindow.SmallScroll Down:=-3 Range("A2").Select ActiveWorkbook.Name >しかし、何が原因でエラーになるか自分では分かりません。 もしExcelをお持ちでしたらExcelのVBEで標準モジュールを追加し、「Sub Test1()」と「Private Sub Test2()」を作成してみてください。 Set WB1 = ActiveWorkbook みたいな感じでできませんか?, 部品表というブックがあります Sub 別ブックから貼り付ける() 上記の場合であれば、「Application.CutCopyMode = False」を削除しても問題ありませんが、 Application.CutCopyMode = False メインの動作はワークシート関数のVLOOKUPをVBA上で使用していますので理解はしやすいかと思います。 というわけです。 ------------ Application.CutCopyMode = False この処理を行うと指定したシートへ強制的にとんでしまいます。。。 HENSU = Chr(34) & "A1" & ":" & "C4" & Chr(34) ' ""A1:C4"" を返します。←NG マクロ実行時に、Activeな...続きを読む, EXCEL2003 VBAで業務を簡素化するために、現在開いているブックのファイル名を取得する方法が分かりません。 どうぞよろしくお願いします。, 部品表というブックがあります Dim ZPS As Double   ThisWorkbook.Worksheets("Sheet1").Range("C" & I).Value = Application.VLookup(ThisWorkbook.Worksheets("Sheet1").Range("B" & I).Value, xlBook.Worksheets("Sheet1").Range("A2:B65535"), 2, 0) で切り上げです。 などとしていれば、ActiveシートがSheet1になっていますから、エラーになります。 End Sub, EXCELファイルのカレントフォルダを取得するには? で切り捨て 商品名  商品番号  コード End Sub d = CurDir Public CSVWB1SH1 As Worksheet HENSU = Chr(34) & "A1" & ":" & "C4" & Chr(34) Selection.Copy ← これを無効にしている マクロ実行時に、Activeな(Excelで表示されている)シートが上位オブジェクトとして、自動的に認識されます。    "カレントディレクトリ : " & d & Chr(13) Set writeSheet = ThisWorkbook.Worksheets(1) ' Sheet1 を参照   シートBの値取得 Publicは「すべてのモジュールから呼び出せるプロシージャ」ということになります。 ------------ よろしくお願いします!, 私がやる方法です。  Dim I As Long ------------ Excel97 でも、同じですね。以下で試してみてください。 直前に、 以下の方法ではエラーになってしまうので、宜しくお願いします。 というような文脈からすると、 部品表は、何百種類もありますので、関数...続きを読む, こんにちは。 ここには実行できるプロシージャの一覧が表示されますが、Test1は表示されているけれどTest2は表示されません。 その点滅がなくなります。, 「Application.CutCopyMode = False」の前で Next DMN = Application.RoundDown(ZPOS / ZPS, 0) ExcelやVBAではコピペは必須項目ですよね。コピーした内容をペーストしようとして Paste メソッドを使用したときに「実行時エラー'438'オブジェクトは、このプロパティまたはメソッドをサポートしていません。」が発 a = WB1SH1.Range("a1) Sub test() で、現在 "アクティブにして" 操作対象になっているブックの名前は というわけです。 ・作業者が選んだパスとブックもMsgBoxで表示できてるので、もらう相手の場所も取得できてます。 「指定項目」のところに「Public」と「Private」の説明がありますよ。 writeSheet.Cells(1, 1).Value = readSheet.Ce...続きを読む, ネットで探してみたのですが、計算結果を四捨五入して特定のセルを Range("cells(8,s+2)").Activate .ChartTitle.Characters.Text = "0810p2x" 自分では、部品表の商品番号をコピーして、コード一覧表で検索し、検索結果の右隣のセル(B列のコード)の値を部品表のC列に貼り付ければよいかと思い、書いてみたんですが… また、コード一覧表という別のブックには、A列に商品番号と、B列にコードが、何千件も入力されています。   I = I + 1 Set readBook = Workbooks.Open(filename) ' 相手ブックを開いて参照 自分でコードを書いていても、イベントが発生したりした時の処理で、コードのウィンドウで上のドロップダウンリストで選択できる時の処理などは自動的に[Private Sub Command1_Click( )]などと出てくるのでそのまま使っています。自分で別途プロシージャーを作成する時は[Sub ****( )]としています。 C:\経理\予算.xls たとえば他のフォルダーのEXCELのRange("A2:A3").ValueをメインプログラムのRange("C2:C3").Valueにセットしたい時です。 "cells(8,1):cells(1580,1),cells(8,s+2):cells(1580,s+2)"), PlotBy:=xlColumns Private Sub CommandButton1_Click() Option Explicit >いましたら、教えていただけませんか? 上記の例では、RangeとかCellsの上位オブジェクトであるシート名が省略されています。 End Sub, keithin様 A列     B列     C列       このときのVBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり、以後の業務に使用できません。 部品表のC列のコード欄に、コード一覧表ブックから商品番号と一致するコードを貼り付けしたいのです。 返すにはどうしたらいいのでしょうか? 早々のご回答ありがとうございます。 'Excelで設定されたデフォルトパス 自己流でコードを組んでいるためとても読みづらかったと思われるのに Sub 繰り返し() ExcelのVBAの質問になりますが、教えてください。 「Application.CutCopyMode = False」 ここでDMNの値を四捨五入したいです。 またこれとは別に切上げ、切捨ても教えていただけるとありがたいです。, DMN = Application.WorksheetFunction.Round(ZPOS / ZPS, 0) ・エラーの内容は多岐に渡っており、実行時エラー '1004'「RangeクラスのPasteSpecialメソッドが失敗」が 一例として挙げられます。 ・何れの場合も、貼り付け時にエラーが発生している様です。 (項 … ' または Set readSheet = readBook.Worksheets(sheetIndex) Range("A1").Select ActiveChart.ChartType = xlXYScatter ActiveSheet.Paste ← ココでエラー セルのコピー、または切り取りを行っていると思います。 .HasTitle = True DMN = Application.RoundUp(ZPOS / ZPS, 0) ThisWorkbook.Name これらはどれも知りませんでした。。。    "デフォルトパス    : " & c & Chr(13) & _ ActiveChart.SetSourceData Source:=Sheets("20081216_210647").Range( _ >しました。’global’オブジェクト) End Sub, エクセルのマクロを記録していると ですがその違いを理解しないまま、自分で作成する時は[Private Sub]ではなくて[Sub]を使っています。 というわけです。 Workbooks.Open "C:\Users\User\Desktop\" & a & ".CSV" Dim writeSheet As Worksheet ' 自分自身の書き出し先シート Dim readSheet As WorkSheet ' 相手シート >しかし、何が原因でエラーになるか自分では分かりません。 で、四捨五入 a = ThisWorkbook.Path しました。 見事動きました!! 省略して「Sub hogehoge()」とした場合は「Public」とみなされます。 Privateとすると「同じモジュールの中からしか呼び出せないプロシージャ」となります。 VBAで Sheets("Sheet1").Select >でエラーがでます。(実行時エラー’1004’’cells’メソッドは失敗 を取得する事は可能でしょうか? また、質問文から察するに「部品表.xls」と「コード一覧表.xls」の両方を開いて処理されていますが「コード一覧表.xls」はプログラム内で開いて閉じているので実行するときは「コード一覧表.xls」は閉じて置いてください。 For s = 0 To 17 教えてください!, Worksheets("シートA").Range("A1") これは、その操作(セルのコピー、または切り取り)を無効にしているだけです。 エクセル入門・初級編  Dim xlBook お客様の許可なしに外部サービスに投稿することはございませんのでご安心ください。, http://msdn.microsoft.com/ja-jp/library/aa291593, http://msdn.microsoft.com/ja-jp/library/cc375992 …, VBA 実行時エラー1004 rangeメソッドは失敗しました。globalオブジェクトのエラー. >変数は、大文字・小文字を含めていれるというのが、標準的な記法です Range("A2").Select ThisWorkbook.Name とりあえず実用性も踏まえました。 Excel VBA 数字抽出について VBAについておしえてください 下記の条件のもと数字のみを抽出. モータ  U-1325-L   Windows("コード一覧表.xls").Activate https://oki2a24.com/2015/11/30/resolve-1004-error-in-excel-vba Dim readBook As Workbook ' 相手ブック ActiveChart.SeriesCollection(1).Name = "=""0810p2x""" 「Application.CutCopyMode = False」をすると、 私自身は、入門書程度の雑誌を1冊買っただけです。どれが良いとかはよく分かりません。 Sub ***( ) と Private Sub ***( ) の違いは何なんでしょうか? http://oshiete1.goo.ne.jp/kotaeru_reply.php3?q=4651404 上記のを行ってから別シートの値を取得するのですが、 >シートモジュール上で、Public ステートメントが使えません 本当にありがとうございました。, WindFaller様 下記をモジュールシートへ貼り付けて試行してみて下さい。  Do While Range("A" & I).Value <> "" writeSheet.Cells(1, 1).Value = readSheet.Cells(2, 2).Value ' 相手シートの B2 の値を自分自身の A1 に書き込む ' または Set readSheet = readBook.Worksheets(sheetIndex) Public CSVWB1 As Workbook Sub Sample1() excelを使用したVBAの問題に関する質問です。 下記のサイトの問題19の解答の中で、 http: excelを使用したVBAの問題に関する質問です。 下記のサイトの問題13の解答の中で、 http: Find系メソッド、Findメソッドに相当するワークシート関数または、VBA関数は? 的確なご指摘で驚きました。 >でエラーがでます。(実行時エラー’1004’’cells’メソッドは失敗 CSVWB1SH1.Activate 以下の場合、貼り付け処理でエラーになります。 また、コード一覧表という別のブックには、A列に商品番号と、B列にコードが、何千件も入力されています。  Dim xlBook よろしくお願いします。, 「Sub」の部分にカーソルを置いて[F1]を押せばヘルプが起動します。 Sub Sample() .Axes(xlValue, xlPrimary).HasTitle = False というものがよく出てきますが、これは何でしょう? Next やりたいことは