マクロ有効テンプレートに下記の2つのマクロを設定しております。
2つのマクロを連続して希望通りに実行できる方法を教えてください。
マクロ-1
Sub 保存()
Application.DisplayAlerts = False
On Error Resume Next
Worksheets(Array("記載方法")).Delete
Application.DisplayAlerts = False
Sheets("提出シート").Shapes("紙").Visible = False '
Application.Dialogs(xlDialogSaveAs).Show Arg1:="\" & Range("P2").Value, Arg2:=xlOpenXMLWorkbookMacroEnabled
Worksheets("提出シート").Activate
Range("B1", "C28").Select
myBook = ThisWorkbook.Path
Application.DisplayAlerts = False
Sheets("提出シート").Shapes("紙").Visible = False '
Sheets("提出シート").Shapes("紙保存").Visible = False '
Sheets("提出シート").Shapes("注意").Visible = False '
ActiveWorkbook.SaveAs Filename:=myBook & "\" & Range("P2").Value & "●.xlsx", FileFormat:=xlOpenXMLWorkbook
Application.Quit
With ThisWorkbook
.Saved = True
Application.DisplayAlerts = True
.Close False
End With
End Sub
このマクロを実行すると不要なシートが削除され、指定セル値名で、マクロ有効ブック:xlsmと一般ブック:●.xlsx
の2つのファイルで保存されます。
マクロ-2
Sub メール提出()
With Range("J40")
If .Hyperlinks.Count > 0 Then
.Hyperlinks.Item(1).Follow
ElseIf .HasFormula And InStr(.Formula, "HYPERLINK") > 0 Then
ActiveWorkbook.FollowHyperlink Address:=GetLinkURL(.Item(1))
Else
MsgBox "ハイパーリンクは設定されていません"
End If
End With
End Sub
Function GetLinkURL(rTarget As Range) As String
Dim v1 As Variant, v2 As Variant, str3 As String
Dim i As Long
If rTarget = "" Then Exit Function
v1 = Split(rTarget.Formula, "HYPERLINK(")
v2 = Split(v1(1), ",")
For i = 0 To (UBound(v2) - 1)
str3 = str3 & v2(i) & ","
Next i
str3 = Mid(str3, 1, Len(str3) - 1)
With Cells(Rows.Count, 1).End(xlUp).Offset(1)
.Formula = "=" & str3 '値取得はExcelにお任せ
GetLinkURL = .Text
.Clear
End With
End Function
このマクロを実行すると指定セル値のハイパーリンクが開くようになってます。
このマクロを連続して実行できるように
Sub 提出統合()
Application.Run "保存"
Application.Run "メール提出"
End Sub
を作成して「Sub 提出統合()」を実行すると
マクロ-1の「Sub 保存()」が上手く実行されるのですが、マクロ-2の「Sub メール提出()」
が実行されません。
原因として考えられるのが「Sub 保存()」が実行された後にすべてのファイルがクローズするので、「Sub 保存()」が実行されないのではないかと思います。
「Sub 保存()」を実行後、マクロ有効ブック:xlsmはクローズされず、「Sub メール提出()」が実行ができ、その後、「Sub メール提出()」が実行後、マクロ有効ブック:xlsmと一般ブック:●.xlsxがクローズできる方法を教えてください。●.xlsxは「Sub メール提出()」の実行に関係が無いので、先にクローズしても構いません。
今まで色々な方に教えて頂き、ここまで来ることができました、今回もご指導をよろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
既存のマクロを順番に呼び出すマクロを作ればいい。
・・・
そのマクロを手作業で起動させるか、別のマクロから呼び出して起動させるかの違いですよ。
マクロの先頭行にある、
Sub 保存()
が
マクロの名前
ですので、このマクロ名を指定して呼び出せばOK。
「別のマクロを呼び出して、呼び出したマクロが終了したら呼んだマクロに戻る」
やり方を調べてみましょう。
調べると、呼び出すマクロや呼び出されるマクロで共通して使う変数の設定の方法とか出てくると思います。
そういった注意点を理解してマクロを組み上げてみましょう。
・・・
ここまでできるようになったのであれば、
マクロから別のマクロを呼び出すことができるという事を知らなかっただけのようですので
ちょっと調べれば余裕ですよね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/11 12:55
- Visual Basic(VBA) エクセルのマクロとシートの保護について教えてください。 1 2022/10/18 08:36
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/03/02 08:40
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/06/01 14:45
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/08 09:08
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/12 10:10
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/06/02 08:44
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Excel(エクセル) ワードのマクロについて教えてください。 1 2023/03/11 13:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
Excel マクロ VBA プロシー...
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
メッセージボックスのOKボタ...
-
マクロの連続実行
-
一つのTeratermのマクロで複数...
-
TERA TERMを隠す方法
-
エクセルで別のセルにあるふり...
-
エクセルに張り付けた写真のフ...
-
ExcelのVBA。public変数の値が...
-
VBAでカタカナ→ローマ字の変換...
-
EXCELのVBAでRange("A1:C4")を...
-
特定文字のある行の前に空白行...
-
Excel 改ページのVBAうまくい...
-
ExcelVBAでPDFを閉じるソース
-
ExcelVBA 図形をクリックした...
-
VBAのIF分で時間指定の条件式の...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
メッセージボックスのOKボタ...
-
一つのTeratermのマクロで複数...
-
ExcelのVBA。public変数の値が...
-
エクセルに張り付けた写真のフ...
-
他人が作ったマクロの理解
-
ExcelVBAでPDFを閉じるソース
-
TERA TERMを隠す方法
-
エクセルで別のセルにあるふり...
-
マクロ実行時、ユーザーフォー...
-
Excel VBAからAccessマクロを実...
-
EXCELのVBAでRange("A1:C4")を...
-
TeraTermマクロの文字列結合
-
PDF出力マクロについて。マクロ...
-
#defineの定数を文字列として読...
-
エクセルのマクロをセルの値に...
-
wordを起動した際に特定のペー...
おすすめ情報