搜索具有通用前缀的工作表,并将匹配的工作表移动/保存到新工作簿

时间:2018-08-22 19:17:56

标签: excel vba excel-vba

我正在尝试(1)搜索具有地区名称通用前缀的工作表;也就是说,工作表的名称类似于(匹配)地区名称的前六个字符,然后(2)将匹配的文件移出我的主宏工作簿文件,并移入一个新的工作簿文件,该文件的名称与地区名称。

我一直在寻找可帮助我完成此任务的代码,但到目前为止,在完成这项工作方面还差得很远。这是到目前为止的内容,但是我收到 编译错误:下一步,没有For 警告。当然,任何帮助将不胜感激!

Dim DistWS As Worksheet
Dim DistName As String
  DistName = Left(DistrictDSM, 6) & "*"
  For Each DistWS In WBMaster.Sheets
    If DistWS.name Like DistName Then ThisWorkbook.Sheets.Move
    With WBMaster
      .SaveAs "H:\Accounting\Monthend " & YYYY & "\DSM Files\DSM Master Reports\" & DistrictDSM & ".xlsx"
   Next DistWS

1 个答案:

答案 0 :(得分:0)

您需要先定义工作簿变量并将其分配,然后才能将工作表移至该变量。只需使用.Move函数即可创建一个新的空白工作簿,但不会自动将其分配给您的工作簿对象。

此外,似乎您不应该在循环结束之前保存工作簿,前提是要假设有多个匹配表。

此代码应该使您更接近,但是您仍然需要声明一些变量...除非在示例代码之外声明了这些变量:

from flask import Flask, json, jsonify, request, make_response
from flask_restful import Resource, abort, Api, reqparse
import psutil
from modules import Process, Disk

app = Flask(__name__)
api = Api(app)


class Processes(Resource):
    def get(self):
        list = []
        plist = psutil.process_iter()
        for proc in plist:
            process = psutil.Process(proc.pid)
            naam = process.name()
            processid = proc.pid

            proc = Process(naam, processid)

            list.append(proc.serialize())
        return jsonify(list)

    def post(self, pid):
        process = psutil.Process(pid)
        process.kill()
        return "Process terminated!",200


api.add_resource(Processes, '/processes')



if __name__ == '__main__':
    app.run(Debug=True)