
以下のコードを実行しても、オブジェクト変数または、withブロック変数が設定されていませんとエラーが発生します。ネットで解決策を色々と試してみましたが、どうしても実行できません。
VBA初心者です。どなたか、助けて頂けないでしようか?
Option Explicit
Sub ガントチャート描画()
Dim al As Range
Dim org As Range
Dim dst As Range
For Each al In Range("al7:al29")
If al.Value <> "" Then
Call MyFind(al.Value, org)
Call MyFind(al.Offset(0, 3).Value, dst)
If al.Offset(0, 7).Value = "H" Then
With ActiveSheet.Shapes.AddLine(org.Left + 0, _
al.Top + 10, dst.Left + 0, al.Top + 10).Line
.EndArrowheadStyle = msoArrowheadTriangle
.ForeColor.RGB = RGB(250, 8, 8)
.Weight = 3
End With
ElseIf al.Offset(0, 7).Value = "A" Then
With ActiveSheet.Shapes.AddLine(org.Left + 0, _
al.Top + 10, dst.Left + 0, al.Top + 10).Line
.EndArrowheadStyle = msoArrowheadTriangle
.ForeColor.RGB = RGB(51, 255, 0)
.Weight = 3
End With
ElseIf al.Offset(0, 7).Value = "K" Then
With ActiveSheet.Shapes.AddLine(org.Left + 0, _
al.Top + 10, dst.Left + 0, al.Top + 10).Line
.EndArrowheadStyle = msoArrowheadTriangle
.ForeColor.RGB = RGB(51, 255, 0)
.Weight = 3
End With
Else: With ActiveSheet.Shapes.AddLine(org.Left + _
0, al.Top + 10, dst.Left + 0, al.Top + 10).Line
.EndArrowheadStyle = msoArrowheadTriangle
.ForeColor.RGB = RGB(0, 0, 128)
.Weight = 3
End With
End If
End If
Next
End Sub
Private Sub MyFind(ByVal src As String, ByRef rng As Range)
Dim r As Range
Set rng = Nothing
For Each r In Range("at5:lu5")
If r.Value = src Then
Set rng = r
Exit Sub
End If
Next
End Sub
No.1ベストアンサー
- 回答日時:
変数
Dim org As Range
Dim dst As Range
が
条件
For Each r In Range("at5:lu5")
If r.Value = src Then
で全てFalseの場合 Nohting となり Leftなどを取得・設定できないため
実行時エラー91が返っているものと思われます
上記条件に一致しない時の処理を考え対策する必要があります
例として
org、dst が設定できなかった時 何も処理をせず 次のalに進む
(For Each al In Range("al7:al29"))場合
If Not org Is Nothing And Not dst Is Nothing Thenをメイン条件分岐処理前に挿入します
Call MyFind(al.Offset(0, 3).Value, dst)
If Not org Is Nothing And Not dst Is Nothing Then
If al.Offset(0, 7).Value = "H" Then
・
・
対応の終端はNext前です
End If
End If ’分岐終端
Next
End Sub
Private Sub MyFind(ByVal src As String, ByRef rng As Range)
環境が無く未検証の為、違っていたらごめんなさい
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) VBAに関して 2 2023/11/09 20:57
- Visual Basic(VBA) Excel VBA マクロ シート名を変えずにA列にあるセル名の名前でファイルの分割をしたいです 3 2024/02/05 22:10
- Visual Basic(VBA) VBAの繰り返し処理について教えてください。 3 2022/08/02 13:21
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Excel(エクセル) EXCEL マクロで行を挿入して貼り付けようとするとエラーになる。 2 2022/05/24 09:43
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
オブジェクト変数またはWITHブロックが設定されていません
Visual Basic(VBA)
-
Rangeメソッドは失敗しました。globalオブジェクトについて
Excel(エクセル)
-
-
4
findメソッドの変数について
Visual Basic(VBA)
-
5
コンボボックスにリストが表示されません・・・
Excel(エクセル)
-
6
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
7
Excel VBAで、ユーザーフォームの値を、モジュールで使用したい。
Visual Basic(VBA)
-
8
エクセルのデータグループ化の際に貼り付けた図だけ一緒に折りたたんでくれません!
Windows Vista・XP
-
9
(VBA)チェックボックスのclickのイベントが、プログラムからの操作でも反応してしまいます。
Visual Basic(VBA)
-
10
UserForm1.Showでエラーになります。
工学
-
11
VBAの変数のデータ型を変更することはできませんか?
Visual Basic(VBA)
-
12
エクセルVBA 作業後に選択範囲を解除する方法
Excel(エクセル)
-
13
VB6+SQL サーバー 2000 で 実行時エラー '3704' がでます:
Visual Basic(VBA)
-
14
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
15
Excel VBAマクロで実行時エラー'91'が出てしまいます。
Excel(エクセル)
-
16
「Columns(A:C")」の列文字を数字にして表記したい"
Excel(エクセル)
-
17
「オブジェクト変数または With ブロック変数が設定されていません。」の修正方法が分かりません
Visual Basic(VBA)
-
18
エクセルVBAでフォームのListboxをスクロールするには?
その他(Microsoft Office)
-
19
VBAのオートフィルターで該当行がない場合に処理を止めたい
Excel(エクセル)
-
20
特定のPCだけ動作しないVBAマクロがあります。その理由は?
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JSPの処理の途中で、JavaScript...
-
JavaScriptでショートカットキ...
-
以下のコードを実行しても、オ...
-
VBA SORT Applyでエラー
-
初心者です。gulpでコンパイル...
-
〔Excel:VBA〕マクロの実行が異...
-
alert()が実行できない
-
eval()の危険性の具体例を教え...
-
func関数は、どのような動作を...
-
resizeToメソッドが動作しません
-
setTimeoutを使って・・・・。
-
機械語
-
【JavaScript】DOMContentLoade...
-
VBSかVBAでIE操作をする場合、...
-
adobe edge animateのアクション
-
機械語について詳しい方教えて...
-
PowerBuilderのDOUBLEデータ型...
-
VisualStudio2008の最適化について
-
時間稼ぎの命令文とは?
-
csvファイルを読み込み、該当項...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
JSPの処理の途中で、JavaScript...
-
以下のコードを実行しても、オ...
-
PowerPointで時計表示
-
〔Excel:VBA〕マクロの実行が異...
-
デザイン時のVisible=Falseは実...
-
C#でボタン名を変更しても動く
-
if(1){...}とはどういうことで...
-
1つのVBAコードをすべてのコア...
-
リクエスト結果が一瞬しか表示...
-
VBA ステータスバー DoEvents
-
JavaScriptでショートカットキ...
-
VBA SORT Applyでエラー
-
既存のwebサイトで、ローカルの...
-
innerHTMLなどの反映タイミング
-
VB.netでタイマーがスタートし...
-
JavaScriptで、実行するたび値...
-
ラベルの色がかわってくれない
-
CreateFile、CloseHandleの繰り...
-
初心者です。gulpでコンパイル...
-
jQuery ui Datepicker 明日以降...
おすすめ情報
Qchan1962さま
昨日は、ありがとうごさいました。
教えてもらったコードを入力し実行しました。
エラーはなく実行されますが、ガンチャートが出力されません。
セルの値や参照番地を確認しましたが問題はない様に思います。