- 締切済み
VBからExcelへの指示の出し方
どのように書けばいいかわかりません。 よろしくお願いします。 VB5,Excel97で開発しています。 VB側で、複数シート選択して、選択したシートすべてを範囲として置換を行いたいのです。 1シートに対してはできたのですが、通常のExcelのように選択したシートすべてに対して一括して置換を行うには、VBからの命令をどのように記述すればいいのでしょうか。 以下のようにしています。 グローバル変数は、以下で設定 'Excel起動 Set g_xlsApp = CreateObject("Excel.Application") 'Excelワークブックを作成 Set g_xlsBook = g_xlsApp.Workbooks.Add(エクセルBOOK名) Private Sub cmdExec_Click() 'マクロ実行 Call g_xlsApp.Run(マクロ名, 引数1, 引数2) 'シート選択 wCnt = g_xlsApp.Worksheets.Count For i = 3 To wCnt g_xlsBook.Worksheets(i).Select False Next '置換 ???????????? End Sub
- みんなの回答 (1)
- 専門家の回答
みんなの回答
Excel 2000で試してみたところ、↓こんな感じで行けました。 Sub Macro1() Cells.Select Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select Cells.Select Selection.Replace What:="置換前", Replacement:="置換後", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False Cells(1, 1).Select Sheets(1).Select End Sub このままでは問題が多いので、修正が必要だとは思いますが、参考までに。
補足
早速の回答、ありがとうございます。 Excelのマクロでは、回答のように、 Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select Cells.Select Selection.Replace What:="置換前", Replacement:="置換後", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False で、OKなのですが、VBからExcelへの命令では、Cellsはどのオブジェクトになるのでしょうか。 よろしくお願いします。