Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 使用UserForm输入数据后自动排序_Excel_Vba - Fatal编程技术网

Excel 使用UserForm输入数据后自动排序

Excel 使用UserForm输入数据后自动排序,excel,vba,Excel,Vba,我制作了一个用户表单,将数据输入到工作表上的特定列(“背书”),效果很好 之后,我使用一个代码根据a、B和C列上的值自动对工作表进行排序。但工作表不会根据以下条件进行排序: A列:从最早到最近(日期) B栏:升序为:“BSUH(9月)、弗里姆利(10月)、CWH(11月)、金斯敦(12月)” C列:升序作者:艾伦、克里斯蒂娜、费里、休伯特、葆拉” 以下是我在表格中使用的代码(“背书”): 以下是使用UserForm后的工作表: [在此处输入图像描述][1] *ps在我的问题中,我还不能发布一张图

我制作了一个用户表单,将数据输入到工作表上的特定列(“背书”),效果很好

之后,我使用一个代码根据a、B和C列上的值自动对工作表进行排序。但工作表不会根据以下条件进行排序:

  • A列:从最早到最近(日期)
  • B栏:升序为:“BSUH(9月)、弗里姆利(10月)、CWH(11月)、金斯敦(12月)”
  • C列:升序作者:艾伦、克里斯蒂娜、费里、休伯特、葆拉”
  • 以下是我在表格中使用的代码(“背书”):

    以下是使用UserForm后的工作表: [在此处输入图像描述][1]


    *ps在我的问题中,我还不能发布一张图片,希望你们能理解。非常感谢那些能够提供帮助的人!

    欢迎来到!也许你们可以裁剪截图图片,以便我(或其他人)可以在您的问题中显示它吗?另外,有关您所拥有的以及您正在尝试执行的操作的更多信息也会有所帮助。您还没有说有什么问题。您是否遇到错误?另外,请检查““以及如何创建一个。这个网站每天会收到大约6000个问题——获得最佳专家帮助的秘诀是1。表明你已经做出了诚实的努力来独自解决问题,然后2。让别人尽可能容易地帮助你。祝你好运你确定要使用拼音中文排序顺序吗?你好,伙计,@AcsErno。我刚刚开始做编码。使用不同的排序顺序会更好吗?你有什么建议?提前谢谢!网上Excel排序中的许多示例都包含此
    。SortMethod=xlPinYin
    ,适用于中文。我不会说中文,也没有测试按中文顺序排列欧洲文本的效果,但我想这可能会让人困惑。或者至少是多余的。那么,如果你简单地移除它,看看会发生什么呢?
    Private Sub Worksheet_Change(ByVal Target As Range)
    
        LastRow = Range("L4000").End(xlUp).Row
        ActiveWorkbook.Worksheets("Endorsed Candidates").Sort.SortFields.Clear
        ActiveWorkbook.Worksheets("Endorsed Candidates").Sort.SortFields.Add Key:= _
            Range("A2:A" & LastRow), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption _
            :=xlSortNormal
        ActiveWorkbook.Worksheets("Endorsed Candidates").Sort.SortFields.Add Key:= _
            Range("B2:B" & LastRow), SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder _
            :="BSUH (September),Frimley (October),CWH (November),Kingston (December)", _
            DataOption:=xlSortNormal
        ActiveWorkbook.Worksheets("Endorsed Candidates").Sort.SortFields.Add Key:= _
            Range("C2:C4000"), SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder _
            :="Allen,Christine,Feri,Hubert,Paula", DataOption:=xlSortNormal
        With ActiveWorkbook.Worksheets("Endorsed Candidates").Sort
            .SetRange Range("A2:L" & LastRow)
            .Header = xlGuess
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
    End Sub