みたいな感じでできませんか?, メインプログラム(EXCEL VBA)より、 '1行下行を見る シート画面:  Sub test01() Add【アド】メソッドを使用します。Validation【バリデーション】には確認や検査という意味があります。 Add メソッドの書式と設定値(引数)の説明 [] 内は省略可能です。 オブジェクト.Add (Type[,AlertStyle,Operator,Formula1,Formula2]) .Axes(xlValue, xlPrimary).HasTitle = False このときのVBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり、以後の業務に使用できません。 i = 1 d = d + 2 ' ??? コードをすっきりさせれば、自ずとエラー原因は判る、エラーは無くなると思う。 >しかし、何が原因でエラーになるか自分では分かりません。     strList = 256文字以上 End Sub, 質問者ののマナーとして、こんなの回答者に読ませて、処理内容を割り出させるのでなく、どのセル範囲とどのセル範囲をくらべて、どういうロジック(3行おきとか)でどう比較してとかを、文章で判りやすく解説したものを載せるべきだ。解読時間がかかってしょうがない。 サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、, Office VBA のサポートおよびフィードバック, 以前のバージョンのドキュメント. Visual Basic Editorを使用して、Sheet1に以下のコードを埋めこむ: For i = 1 To 10 Step 2 シフト者のカレンダー作成しており、動作していたVBAのコピーを利用しています。 Sheet1.Cells(23, 6).Value = DMN     行 = 行 + 1         .Add Type:=xlValidateList, _ For s = 0 To 17 What is going on with this article? で、解決策として、コードの最初に、 e = e + 3 Type 入力規則の種類を指定します。XlDVType クラスの定数を使用します。 2.2. 少し読み解くと変数を乱発しすぎだと思う。そのため解読が難しい。 自分は、シート保護下でもマクロの処理だけは可能な. 1 0 3 3 ..... <-- シフト(ln_2の範囲名...続きを読む, よく調べてみたら、Characters.Countは、"ABC"などの文字列では3を返しますが、"123"ではエラーになり、数字ではだめなようです。セルの書式を文字列にしてもだめでした。 またこれとは別に切上げ、切捨ても教えていただけるとありがたいです。, DMN = Application.WorksheetFunction.Round(ZPOS / ZPS, 0) Dim readBook As Workbook ' 相手ブック ThisWorkbook.Name   Loop Until Cells(行, 1) = ""   Worksheets("シートB").Activate c = Application.DefaultFilePath   .Delete Cells(ytate, xyoko).Value = Cells(ytate, xyoko).Value + 1   For 回数 = 1 To 人数 For ~ To ~ 他のフォルダーにあるEXCELの項目の内容を取り込みたいです。 Dim e D:\2005年度\予算.xls **該当コード** 前提・実現したいこと. 'Excelで設定されたデフォルトパス 以下作ったプログラムです。 d = d + 2 Set readSheet = readBook.Worksheets("sheetName") ' 相手シートを参照 新規ブックを作成する マクロ実行時に、Activeな...続きを読む, VBAで正当表と入力表の正誤判定を一気に行いたいのですが ytate = Range("B2:S15").Find(hokan, lookat:=xwhole).Row + 15 「マクロの記録」を活用して、参考コードを取得し、汎用性のあるコードに編集しています。 >しました。’global’オブジェクト) For i = 1 To 6   <-- 最大6週にわたる Dim j 実行時エラー '1004' アプリケーション定義またはオブジェクト定義のエラーです。 エラーの発生理由について. VBAで入力規則の設定がうまくいきません どなたかご教示ください。 Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) Dim A As String If Target.Column = 3 And Target.Row >= 77 And Target.Row <= 65536 Then If Target.Value <> "" Then Worksheets("Sheet2").Range("A1:Z5").Copy _ Destination:=Target.Offset(5, -1) For i = 5 To 9 For k = 5 … を取得する事は可能でしょうか? b = 21 多くのユーザーから、ExcelでVBAを実行している時に、またはExcelマクロを試用している時に、「実行時エラー‘1004’」エラーが発生し、それから当該エクセルファイルにアクセスできなくなることがありま … http://oshiete1.goo.ne.jp/kotaeru_reply.php3?q=4651404 以下作ったプログラムです。     End With なので、ループの最終回では、strList 末尾にカンマを付けないようにすればエラーは発生しないと思います。     .Delete Set readBook = Workbooks.Open(filename) ' 相手ブックを開いて参照 但し、CommandButtonを使わないで直接マクロを実行するとどちらでも動作します。 Next j The first part of the data validation equation. 引数で、対象桁を変更できます。, Worksheets("シート名").Activate 2 2 0 1 ...... <-- シフト(ln_1の範囲名) AlertStyle 省略可能です。XlDVAlertStyle クラスの定数を使用します。入力規則でのエラーのスタイルを指定します。 2.3. が表示されることがあります。 ④問題回避のため、試した処理内容について.Add Typeの直前に. たとえば他のフォルダーのEXCELのRange("A2:A3").ValueをメインプログラムのRange("C2:C3").Valueにセットしたい時です。 すでに入力規則が設定されているセルについて、 DMN = Application.RoundDown(ZPOS / ZPS, 0) Sub 正誤判定() 回答者は質問者の職場などでの義務付けられ教育役ではないから、それぐらい質問者ですべきだ。 そのエラーを起こす手順ですが、 End If なるほど、そういうことがあるのですか。 "cells(8,1):cells(1580,1),cells(8,s+2):cells(1580,s+2)"), PlotBy:=xlColumns ググったときにもシート保護してるとうまくいかないかもというのは見かけていましたが、 xl2010は、上手く動作する Dim x ≪例1≫ Dim hokan taro ozaki さん、 Else  Set CRng = Range("E7") 回答者は質問者の職場などでの義務付けられ教育役ではないから、それぐらい質問者ですべきだ。 ...続きを読む, EXCEL2003 VBAで業務を簡素化するために、現在開いているブックのファイル名を取得する方法が分かりません。 Excel でプログラムを使用してワークシートをコピーするとランタイム エラー 1004 が発生する シートを変えずに他のシートから値を取得する方法はないのでしょうか。 WorksheetクラスのCopyメソッドが失敗しました。 6.  しかし、 上記の例では、RangeとかCellsの上位オブジェクトであるシート名が省略されています。 '下行も等しければ、 #1のご回答でOKならもう良いが、でなければ If Cells(a, b).Value = Cells(c, d).Value Thenの部分で -------------------------- VBA. >しかし、何が原因でエラーになるか自分では分かりません。 7.  With CRng.Validation     Sheets(評価シート).Select   A B C D E 1. ※イメージ Case "0" '- Holiday - 皆さんは、vbaで「実行時エラー '1004'」というエラーを見たことがありますか? 「実行時エラー '1004'」のエラーは、メッセージを見ただけではエラーの意味がよく分からないため、対処方法がわからず困る方も多いのではないでしょうか。 そこで今回は、 「実行時エラー '1004'」のエラーが出 … Dim writeSheet As Worksheet ' 自分自身の書き出し先シート c = 3 'cells(c,d) マクロ実行時に、Activeな(Excelで表示されている)シートが上位オブジェクトとして、自動的に認識されます。   Range("E7").Select ' 例えば 私自身は、入門書程度の雑誌を1冊買っただけです。どれが良いとかはよく分かりません。 '--   → これも問題なく作動する ' 例えば 4. Case ""    '- Blank -     Sheets(評価シート).Copy after:=Sheets(評価シート) End Sub, 始めまして、VBA初心者のものです。 a = ThisWorkbook.Path MsgBox (" >>> 補間誤差自動計算 <<< ") XX ?? 22列? Set readSheet = readBook.Worksheets("sheetName") ' 相手シートを参照 Loop (2)U3-AP(?)XX ?? 22列? 上記のを行ってから別シートの値を取得するのですが、  Dim CRng As Range 2. 本エラーの原因はいくつか想定できます。 順を追ってみていきましょう。 ケース1:Cellsの指定ミス. b = b + 1 ' ??? エラーの対処の仕方を調べたのですがわかりませんでした。 c = 3 上記の例では、Rangeのみシート名が記述されています。 a = a + 3 Excel(エクセル)VBA入門:目次 WorksheetクラスのCopyメソッドが失敗しました。 ただいまエクセルでグラフを作成しています。作業自体は単純作業の繰り返しなのでVBAを用いてやりたいのですが、マクロを実行したときに実行時エラー’1004’rangeメソッドは失敗しました。’_global’オブジェクトとメッセージが出て、実行できません。 デバックをすると以下の5行目で黄色のバーが出ていました。自分なりに原因を考えたのですがrangeの関係するところに、Range("A8:A1587,e8:e1587")というような変数を用いないやり方でやると上手くいくので、変数に関する定義...続きを読む, >ご指摘を受けたところを書き換えて回してみた結果、書き換えた箇所   Sheets(社員一覧).Select   End With   カレントフォルダ名 Dim i Windows10 64Bit(1803)にてEXCEL2016(ビルド1901)にアップデータしたところ、, 今まで正常に動作していたExcelのVBAが以下のエラーで止まるようになってしまいました。, データベースから名前を取得し、セルに格納してセルの入力規則によりリストから選択するという内容です。, With Range("B4").Validation For n = 1 To r.Columns.Count Dim a Loop End With (xl2003、2007は使える環境にないので試していません) Sub 評価シート作成() 【VBA】入力規則(Validation)の1004について . Set readBook = Nothing, 私がやる方法です。 Dim c Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? Dim y 'アクティブブックのパス ググったりした結果、どうやら実行前に対象のセルをSelectしてからすると出なくなると多数。 Sheets("Sheet2").Range(ActiveSheet.Cells(8, 1), ActiveSheet.Cells(1587, 2)).Select 該当のFor~Next文は10回以上実行されているので、コードの誤りではないと思うのですが、なぜ「Copyメソッドが失敗」するのかわかりません。 Dim DMN As Double >VBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり 列と行を表すi,j2つだけで2重ループで繰り回しできそうに思う。 xl2000は、質問者の言うとおりエラーが出る   → 表題のエラーが発生する なお、MsgBox .Address などは、エラーのでるコードの前に挿入、という意味で書きました。 >でエラーがでます。(実行時エラー’1004’’cells’メソッドは失敗 '-- Next i b = 21 d = d + 2 i = i + 1 Excel VBA(Excel2000)について質問です。 DMN = ZPOS / ZPS Dim readBook As Workbook ' 相手ブック     ReDim Preserve 社員CD(行) hokan = Cells(e, b).Value ーー >b = b + 1 よろしくお願いします, For~Next構文内でシートコピーしていると途中で、 返すにはどうしたらいいのでしょうか? > 最も簡単な対処方法としては、Cells(1,1).SelectとかRange("A1").SelectをWith Cells(1, 1).Validation の前に記述し、特定のセルをアクティブにする方法でしょう。 新しい単語があれば、文字カーソルを単語の上に置き、F1キーを押してVBAのヘルプを必ず見るようにしています。 Excel VBA(Excel2000)について質問です。セルの入力規則を設定するvalidationプロパティ設定時に表記エラーが起こるのですが、どういった原因なのか知りたいです。そのエラーを起こす手順ですが、1. Dim xyoko ytate = Range("B2:S15").Find(hokan, lookat:=xwhole).Row + 15 -------------------------- で切り捨て Range(Cells(8, 1), Cells(1587, 2)).Select Sheets("Sheet2").Range(Cells(8, 1), Cells(1587, 2)).Select 原因がわかりました。 教えていただけるとありがたいです。 新規ブックを作成する2. ActiveSheet.Range(ActiveSheet.Cells(8, 1), ActiveSheet.Cells(1587, 2)).Select ' または Set readSheet = readBook.Worksheets(sheetIndex) Validation.Deleteを実行したり、セルをSelectして Set writeSheet = ThisWorkbook.Worksheets(1) ' Sheet1 を参照 1 2 3 4 ...... <-- 日付 3. ・作業者が選んだパスとブックもMsgBoxで表示できてるので、もらう相手の場所も取得できてます。