エクセルマクロ
マクロで外部参照などを出す場合に
Escボタンを途中で押すと中断し
下記の添付画像のような表示が出ます。
途中でキャンセルした場合(Escなど?)
画像のようなエラーを出さずにエラー(コメントを作る)メッセージを表示させて
作業を中断することは可能でしょうか?
可能な場合、下記のどの部分に追加するといいでしょうか?
下記はテキストファイルを参照しエクセルに貼り付けるというマクロです
Private Sub CommandButton1_Click()
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
Dim vrtSelectedItem As Variant
With fd
Dim txtpass As Variant
If .Show = -1 Then
For Each vrtSelectedItem In .SelectedItems
txtpass = "TEXT;" & vrtSelectedItem
Next vrtSelectedItem
Else
End If
End With
With ActiveSheet.QueryTables.Add(Connection:= _
txtpass, Destination:=Cells(Rows.Count, 2).End(xlUp).Offset(1, 0))
.Name = "4"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = False
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 932
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 _
, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub
お礼
HohoPapa様 回答2番に対する補足質問ですが、 タスク名を記載する列が空白ならばexit doすると記述することで、自己解決できました。 ありがとうございました!
補足
HohoPapa様 確かにシート名の部分を失念していました。 シート名を固定することで動作が確認できました。 あと1点だけよろしいでしょうか。 追加画像 https://imgur.com/a/WoRfNsa このように前工程、次工程に関係ないタスクがあった場合、 Do If ((.Cells(i, ColST).Value = "") And _ (.Cells(i, ColET).Value = "")) Then Exit Do の部分が引っかかって矢印が引かれなくなります。 最後の行でループを終了させたい意図はわかるのですが、 タスクリンクが入力されている最後の行(i)を取得して~ みたいなことはできないものでしょうか。 いろいろお願いして恐縮ですが おねがいいたします。