• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:マクロ実行で実行時エラー13発生)

マクロ実行で実行時エラー13発生

kkkkkmの回答

  • kkkkkm
  • ベストアンサー率65% (1641/2491)
回答No.1

AK303に空白のスペースでも入っているのではないでしょうか。 文字列に10を加算するので「型が一致しません」になっているような気がします。

3620313
質問者

お礼

回答ありがとうございます。スペースが入っている場合、F2キーで←と→でカーソル位置が変わるので分かります。今回場合、何も入っていない状態でした。

関連するQ&A

  • エクセル マクロ 抽出

    教えてください。 ○と記入されたセルを参照して、一つ上のセル・A列にある同じ行のセル・ 9行目にある同じ列のセルを抽出しようとしています。 下記の通り入力すると 行数=値.Rowでエラーが出たしまいました。 試行錯誤頑張りましたが解決できそうにありませんのでお力を貸して頂けないでしょうか。 Sub 抽出() Dim i, 行数, 列数 As Long Dim 値 As Range i = 0 行数 = 値.Row 列数 = 値.Column For Each 値 In Sheets("sheet1").Range("C12:R171") If 値.Value = "○" Then i = i + 1 With Sheets("sheet2") .Cells(i, 3).Value = Sheets("sheet1").Cells(行数, 1).Value .Cells(i, 4).Value = Sheets("sheet1").Cells(9, 列数).Value .Cells(i, 5).Value = 値.Offset(-1, 0).Value End With End If Next End Sub

  • Excelマクロ

    お世話になります。 Excelのマクロに関する質問です。 目的としては、D列に様々な文言が入っており、 D列に記入されている各文言の数をカウントしたいと思っています。 ただし、D列の各文言が複数あった場合でも、 A列が同じ値の場合は数に含めない、という条件があります。 ex)D列に「りんご」という文言が10個あります。   D列に「りんご」と記入されている行のA列は、 「赤」「青」の2パターンしかありません。 ⇒この場合、「2」とカウントしたいです。 現在、以下のマクロを考えています。 =========================================================== sub test() Dim i As Long, x As Long, cnt As Long, buf As Object '「i」「x」「cnt」を数値として定義。「buf」にD列の値を格納します。 x = 4 '4行目以降を対象としています。 Do While Cells(x, 1).Value <> "" 'A列が空白でない場合のみを対象とします。 cnt = 0 '各行のD列に入っている値の数を数えるため、まずはカウントを0にします。 i = 4 '4行目以降を対象としています。 Set buf = Cells(x, 4) ' D列の値を変数「buf」に格納します。 Do While Cells(i, 1).Value <> "" 'A列が空白でない場合のみを対象とします。 If Cells(i, 4).Value = buf And Cells(i, 1).Value <> Cells(x, 1).Value Then  ' D列の値が「buf」に格納した値と同じ、かつ、       ' A列の値が、bufに値を格納した時と異なる場合のみ対象 cnt = cnt + 1 '数を数える対象であれば、+1します。 End If i = i + 1 '次の行に移るために+1します。 Loop Cells(x, 5).Value = cnt ' E列にcntに格納された値を入力 x = x + 1 '次の行に移るために+1します。 Loop end sub ===================================================== 上記のマクロでは、E列にカウント後の数らしいものが入力されるのですが、 値が正しくないようです。 お力添えをいただけますでしょうか。 よろしくお願いいたします。

  • vbaマクロ 実行時エラー '91'について教えてください

    下記のマクロで、ファイル指定保存をする時に "実行時エラー91 オブジェクト変数またはWithブロック変数が設定されていません”がでます。 やりたいのは、選択したセルの1番目をファイル名として 保存をしたいのですが、うまくいきません。 どうしたらよいのでしょうか? Sub Macro1() Dim セル As Object Dim i As Long  i = 1  For Each セル In Selection   Worksheets("Sheet2").Cells(1, i).Value = セル     i = i + 1  Next ActiveWorkbook.SaveAs Filename:="D:\TEST\" & セル & ".xls" End Sub

  • マクロのエラーについて

    マクロ記録とネットを参考に、初めて下記のマクロを作成しましたが、マクロを作成したBOOKでは、エラー無く動作し、テスト用に2番目の別BOOKのマクロ編集に貼り付けマクロ実行したところ、エラー1004が出ました。なぜなのでしょうか? 通常は原紙ファイルのシートにデータをコピー⇒貼り付け・保存、ピボットテーブルで集計したものを印刷し使用しています。 下記画像の表にて、D列4行目(黄色)の同日付をセル結合、E列5行目(水色)の同時間をセル結合したものを複数枚作成しています。 この作業をマクロ処理化したいのですが、社内にVBAの扱える人はおらず、外注の許可も出ないので自分で何とかしたいと思っています。 どなたか良いコードや下記コードの訂正などご教授頂けないでしょうか。 宜しくお願いいたします。 Sub 予定表セル結合2() K = 0 For K = 1 To 100 If Cells(4, 4 + K) <> Cells(4, 5 + K) Then セル範囲3 = 5 + K 工程名 = Cells(4, 5 + K) ElseIf Cells(4, 4 + K) = Cells(4, 5 + K) And Cells(4, 5 + K) <> Cells(4, 6 + K) Then セル範囲4 = 5 + K '工程名2 = Cells(4, 5 + K) Range(Cells(4, セル範囲3), Cells(4, セル範囲4)).Select  ***ここでエラーです*** Application.DisplayAlerts = False Selection.Merge 'セル結合 Application.DisplayAlerts = True End If Next K ***この後5列目の同時間のセル結合をしたいのです**** End Sub

  • エクセルマクロで指定したセルの値を表示変更し転記

    エクセルマクロで指定したセルの値を表示変更して指定したセルに転記したい セルA列に書式が標準で 20101117と入っています。 これをB列にセルの値も表示も共に11/27としたいです。 (セルの値は2010/11/17でセルの表示は11/27ではまずいです。) A列にデーターがあるまで繰り返したいです。 行数は作業毎で常に違います。 以下の記述では出来ませんでした。 よろしくお願いします。 Sub 日付() 行 = 2 Do If Cells(行, 1).Value = "" Then Exit Do Cells(行, 2).Value = Mid(行, 1,5,2) &"/"& RIGHT(行, 1,2) 行 = 行 + 1 Loop End Sub

  • エクセルマクロで、エラー処理時にセルに色をつける方法

    エクセルマクロで、エラー処理時にセルに色をつける方法 エクセルマクロでファイルを移動する処理を行っています。 A1セルには共通のパスがあり、 A2セルには「旧ファイル」というタイトル、B2セルには「新ファイル」というタイトルが入っています。 そして、A3セルから下に向かって移動元のファイルのパス&ファイル名が入力されています。 B3セルから同じく下に向かって移動させたい先のパス&ファイル名が入力されています。 教えていただきたいのは、考えられるエラーが起こったときに 処理を途中で止めずにエラーの出た行(B列の)に色をつけ 次の処理に進む方法です。 考えられるエラーとは 1 旧ファイルが見つからない場合 2 新ファイルが移動先に既にある場合です。 下記のコードでエラー内容を表示させるまではできたのですが 1と2の場合分けをどうしたらいいかわかりません。 1の場合と2の場合の色をわけることができたら最高なのですが… どなたか教えてください。 よろしくお願いします。 Sub test() Dim i As Long On Error GoTo ErrorHandler i = 3 Do Until Cells(i, 1).Value = "" Name Range("A1").Value & Cells(i, 1).Value As Range("A1").Value & Cells(i, 2).Value i = i + 1 Loop Exit Sub ErrorHandler: MsgBox Err.Description End Sub

  • エクセル マクロで行の合計を数値で入力したい

    マクロ初心者です。 F列からAJ列までの合計をAK列に数値で入力しようとしています。 ただし、FからAJ列の各セルに全てデータは入っていません。 したがってFからAJ列のいずれかにデータが入っている最終行を 見つけて合計を算入しようとしているのですが下記の通りやっても うまくいきません。教えてください。 エクセルのバージョンは2002です。 Sub () 'データが入っている最終行まで合計額を数字で入力 LastRow = Cells(65536, COL).End(xlUp).Row For i = LastRow To 6 Step -1 Set myRange = Range(Cells(i, 6), Cells(i, 36)) Cells(i, 37).Value = WorksheetFunction.Sum(myRange) Next i End Sub

  • VBA エクセル #N/Aで実行時エラー 13 型が一致しません

    お世話になります。 あるマクロを実行しようとすると、#N/Aのセルに来ると「実行時エラー 13 型が一致しません」とエラーが出てしまいますので、#N/Aを?に書き換えようと下記のマクロを作りましたが結果は同じでした。たぶんとんでもなく初歩的なミスだと思うのですが、どう対処すればよいのでしょうか?よろしくご指導くださいませ。 セルの内容は縦にこんな感じで並んでいます。 755754 755754 #N/A #N/A 713512 713512 マクロは Sub reword() Dim i As Long i = 1 Do Until Cells(i, 1).Value = "" If Cells(i, 1).Value = "#N/A" Then Cells(i, 1).Value = "?" End If i = i + 1 Loop End Sub #N/AのところでLoopはとまり、エラーが出ます。

  • このマクロ、どこがおかしいですか?

    i5とj5のセルの文字が同じ場合はセル同士を結合して一つ下の行へ行き、i5とj5のセルに何も書かれていないときはそのまま一つ下の列へ行き、行った先のセルでも同じように処理(i6とj6のセルの文字が同じ場合はセル同士を結合して一つ下の行へ行き、i6とj6のセルに何も書かれていないときはそのまま一つ下の列へ行き)を繰り返し、と言うことをi33とj33のセルまで続けたいと思っています。 Sub よろしくお願いします() Dim i As Integer For i = 5 To 33 Cells(i, 9).Select If Cells(i, 9).Value = Cells(i, 10).Value Then Range(Cells(i, 9), Cells(i, 10)).Merge Selection.Offset(i + 1).Select ElseIf Cells(i, 9).Value = "" Then Selection.Offset(i + 1).Select Next i End If End Sub と書いたのですが、『Nextに対応するForがありません』と言われてしまいます。どうすれば思い通りにできるでしょうか? 極めて初心者で、伝わりにくい点があるかもしれません。よろしくお願いします。

  • エクセルマクロ 条件分岐 条件に合わない列は削除

    マクロ初心者です。 添付のようなデータが30000万行位ありますが、 1)セルAの値が16またはRFの場合はその行のデータをすべて残します 2)セルAの値が上記以外の場合はその行をすべて削除したいのですが 私なりに調べて次のようなマクロを記録しました。 Sub macro1() Dim i As Integer For i = 1 To 30000 If Cells(i, 1).Value = "16" Or Cells(i, 1).Value = "RF" Then Cells(i, 1) = Cells(i, 1) Else Rows(i).Delete End If Next i End Sub 1)の部分は何とか動いてくれているみたいですが 2)の条件に合わない行の削除の記録がぜんぜんだめみたいで途方に暮れています。 わかる方がいらっしゃいましたら是非ご教授願います。