{"id":702,"date":"2025-04-12T17:27:43","date_gmt":"2025-04-12T09:27:43","guid":{"rendered":"http:\/\/www.x4s.cn\/?p=702"},"modified":"2025-04-12T17:28:58","modified_gmt":"2025-04-12T09:28:58","slug":"deepseek-r1%e7%bc%96%e5%86%99excel%e8%a1%a8%e6%a0%bc%e6%95%b0%e6%8d%ae%e5%8c%b9%e9%85%8dvba%e4%bb%a3%e7%a0%81","status":"publish","type":"post","link":"http:\/\/www.x4s.cn\/?p=702","title":{"rendered":"DeepSeek-R1\u7f16\u5199Excel\u8868\u683c\u6570\u636e\u5339\u914dVBA\u4ee3\u7801"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">VB\u4ee3\u7801 \u8981\u6c42\uff1aexcel\u8868\u4e00\u5f55\u5165\u6570\u636e\u5982\u679c\u8868\u4e8c\u4e0d\u5b58\u5728\u76f8\u540c\u503c\u5219\u8868\u4e00\u5f53\u524d\u5355\u5143\u683c\u5e95\u8272\u84dd\u8272\u5b57\u4f53\u767d\u8272\uff0c\u5982\u679c\u8868\u4e8c\u6709\u4e24\u4e2a\u4ee5\u4e0a\u76f8\u540c\u503c\u5219\u8868\u4e00\u5f53\u524d\u5355\u5143\u683c\u5e95\u8272\u7ea2\u8272\u5b57\u4f53\u52a0\u7c97\uff0c\u5982\u679c\u8868\u4e00\u5df2\u6709\u76f8\u540c\u503c\u5219\u5f53\u524d\u5355\u5143\u683c\u9ed1\u5e95\u767d\u5b57<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u6839\u636e\u9700\u6c42\uff0c\u4ee5\u4e0b\u662f\u5b9e\u73b0\u200c<strong>\u8868\u4e8c\u6570\u636e\u6821\u9a8c<\/strong>\u200c\u7684VBA\u4ee3\u7801\uff0c\u5305\u542b\u667a\u80fd\u683c\u5f0f\u6807\u8bb0\u548c\u6027\u80fd\u4f18\u5316\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>Private Sub Worksheet_Change(ByVal Target As Range)<br>    On Error GoTo ErrorHandler<br>    Application.EnableEvents = False<br>    Application.ScreenUpdating = False<br>    <br>    Dim ws1 As Worksheet, ws2 As Worksheet<br>    Dim checkRange As Range, cell As Range<br>    Dim dictSheet2 As Object<br>    Dim valCheck As Variant<br>    <br>    ' \u57fa\u7840\u8bbe\u7f6e<br>    Set ws1 = Me  ' \u5f53\u524d\u5de5\u4f5c\u8868\uff08\u8868\u4e00\uff09<br>    Set ws2 = ThisWorkbook.Worksheets(\"Sheet2\")  ' \u4fee\u6539\u4e3a\u8868\u4e8c\u5b9e\u9645\u540d\u79f0<br>    Set checkRange = ws2.Range(\"A:A\")           ' \u8868\u4e8c\u68c0\u67e5\u5217\uff08\u6309\u9700\u4fee\u6539\uff09<br>    <br>    ' \u521b\u5efa\u5b57\u5178\u7edf\u8ba1\u8868\u4e8c\u6570\u636e<br>    Set dictSheet2 = CreateObject(\"Scripting.Dictionary\")<br>    For Each cell In checkRange<br>        If Not IsEmpty(cell.Value) Then<br>            valCheck = cell.Value<br>            dictSheet2(valCheck) = dictSheet2(valCheck) + 1<br>        End If<br>    Next<br>    <br>    ' \u52a8\u6001\u683c\u5f0f\u8bbe\u7f6e<br>    For Each cell In Target<br>        If Not IsEmpty(cell.Value) Then<br>            valCheck = cell.Value<br>            <br>            ' \u6e05\u9664\u65e7\u683c\u5f0f<br>            With cell<br>                .Interior.Color = xlNone<br>                .Font.Color = vbBlack<br>                .Font.Bold = False<br>            End With<br>            <br>            ' \u8868\u4e8c\u6821\u9a8c\u903b\u8f91<br>            Select Case True<br>                Case Not dictSheet2.Exists(valCheck)  ' \u8868\u4e8c\u65e0\u91cd\u590d<br>                    cell.Interior.Color = RGB(0, 0, 255)  ' \u84dd\u5e95<br>                    cell.Font.Color = RGB(255, 255, 255) ' \u767d\u5b57<br>                Case dictSheet2(valCheck) >= 2          ' \u8868\u4e8c2+\u91cd\u590d<br>                    cell.Interior.Color = RGB(255, 0, 0)  ' \u7ea2\u5e95<br>                    cell.Font.Bold = True<br>            End Select<br>        Else<br>            cell.Interior.Color = xlNone<br>            cell.Font.Color = vbBlack<br>            cell.Font.Bold = False<br>        End If<br>    Next<br><br>ExitHandler:<br>    Set dictSheet2 = Nothing<br>    Application.EnableEvents = True<br>    Application.ScreenUpdating = True<br>    Exit Sub<br>    <br>ErrorHandler:<br>    MsgBox \"\u9519\u8bef \" &amp; Err.Number &amp; \": \" &amp; Err.Description, vbCritical<br>    Resume ExitHandler<br>End Sub<br><\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u200c<strong>\u6838\u5fc3\u903b\u8f91\u8bf4\u660e<\/strong>\u200c<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>\u6761\u4ef6<\/th><th>\u683c\u5f0f\u6548\u679c<\/th><th>\u5b9e\u73b0\u65b9\u6cd5<\/th><\/tr><\/thead><tbody><tr><td>\u8868\u4e8c\u65e0\u76f8\u540c\u503c<\/td><td>\u84dd\u8272\u80cc\u666f + \u767d\u8272\u5b57\u4f53<\/td><td>\u901a\u8fc7\u5b57\u5178\u5feb\u901f\u68c0\u6d4b\u6570\u503c\u662f\u5426\u5b58\u5728<\/td><\/tr><tr><td>\u8868\u4e8c\u5b58\u57282+\u76f8\u540c\u503c<\/td><td>\u7ea2\u8272\u80cc\u666f + \u52a0\u7c97\u5b57\u4f53<\/td><td>\u4f7f\u7528<code>Case<\/code>\u8bed\u53e5\u8fdb\u884c\u6b21\u6570\u5224\u65ad<\/td><\/tr><tr><td>\u8868\u4e8c\u5b58\u57281\u4e2a\u76f8\u540c\u503c<\/td><td>\u4fdd\u6301\u9ed8\u8ba4\u683c\u5f0f<\/td><td>\u4e0d\u6ee1\u8db3\u524d\u4e24\u4e2a\u6761\u4ef6\u65f6\u81ea\u52a8\u8df3\u8fc7<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u200c<strong>\u4f7f\u7528\u8bf4\u660e<\/strong>\u200c<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u200c<strong>\u53c2\u6570\u914d\u7f6e<\/strong>\u200c\uff1a vbaCopy Code<code>Set ws2 = ThisWorkbook.Worksheets(\"Sheet2\") ' \u4fee\u6539\u4e3a\u5b9e\u9645\u8868\u4e8c\u540d\u79f0 Set checkRange = ws2.Range(\"A:A\") ' \u4fee\u6539\u4e3a\u8868\u4e8c\u5b9e\u9645\u68c0\u67e5\u5217<\/code><\/li>\n\n\n\n<li>\u200c<strong>\u6548\u679c\u9a8c\u8bc1<\/strong>\u200c\uff1a markdownCopy Code<code>| \u64cd\u4f5c | \u8868\u4e00\u6548\u679c | \u8868\u4e8c\u72b6\u6001\u793a\u4f8b | |----------------------|------------------------------|--------------------| | \u8f93\u5165\"Apple\" | \u84dd\u5e95\u767d\u5b57 | \u8868\u4e8c\u65e0Apple | | \u8f93\u5165\"Orange\" | \u7ea2\u5e95\u52a0\u7c97 | \u8868\u4e8c\u67093\u4e2aOrange | | \u8f93\u5165\"Banana\" | \u4fdd\u6301\u9ed8\u8ba4 | \u8868\u4e8c\u67091\u4e2aBanana | | \u5220\u9664\u5355\u5143\u683c\u5185\u5bb9 | \u81ea\u52a8\u6e05\u9664\u683c\u5f0f | - |<\/code><\/li>\n\n\n\n<li>\u200c<strong>\u6027\u80fd\u4f18\u5316<\/strong>\u200c\uff1a\n<ul class=\"wp-block-list\">\n<li>\u4f7f\u7528\u200c<strong>\u5b57\u5178\u5bf9\u8c61<\/strong>\u200c\u7f13\u5b58\u8868\u4e8c\u6570\u636e\uff0c\u65f6\u95f4\u590d\u6742\u5ea6\u4eceO(n\u00b2)\u4f18\u5316\u5230O(n)<\/li>\n\n\n\n<li>\u6279\u91cf\u5904\u7406\u5355\u5143\u683c\u4fee\u6539\uff08\u652f\u6301\u590d\u5236\u7c98\u8d34\u591a\u5355\u5143\u683c\u64cd\u4f5c\uff09<\/li>\n\n\n\n<li>\u901a\u8fc7<code>ScreenUpdating<\/code>\u7981\u7528\u5c4f\u5e55\u5237\u65b0\u63d0\u5347\u901f\u5ea6<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u200c<strong>\u4ee3\u7801\u7279\u70b9<\/strong>\u200c<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u200c<strong>\u6761\u4ef6\u4f18\u5148\u7ea7\u7cfb\u7edf<\/strong>\u200c\uff1a\n<ul class=\"wp-block-list\">\n<li>\u8868\u4e8c\u4e0d\u5b58\u5728\u503c\u7684\u4f18\u5148\u7ea7\u9ad8\u4e8e\u5b58\u5728\u591a\u4e2a\u503c<\/li>\n\n\n\n<li>\u8868\u4e8c\u5b58\u5728\u5355\u4e2a\u503c\u65f6\u4fdd\u6301\u539f\u6837<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u200c<strong>\u52a8\u6001\u683c\u5f0f\u540c\u6b65<\/strong>\u200c\uff1a\n<ul class=\"wp-block-list\">\n<li>\u81ea\u52a8\u6e05\u9664\u65e7\u683c\u5f0f\u907f\u514d\u6b8b\u7559<\/li>\n\n\n\n<li>\u652f\u6301\u5355\u5143\u683c\u5185\u5bb9\u5220\u9664\u65f6\u7684\u683c\u5f0f\u91cd\u7f6e<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>\u200c<strong>\u9519\u8bef\u5904\u7406\u673a\u5236<\/strong>\u200c\uff1a\n<ul class=\"wp-block-list\">\n<li>\u5305\u542b\u9519\u8bef\u7f16\u53f7\u548c\u63cf\u8ff0\u63d0\u793a<\/li>\n\n\n\n<li>\u786e\u4fdd\u7a0b\u5e8f\u610f\u5916\u9000\u51fa\u65f6\u6062\u590dExcel\u4e8b\u4ef6\u54cd\u5e94<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u200c<strong>\u6269\u5c55\u5efa\u8bae<\/strong>\u200c<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u5982\u679c\u9700\u8981\u589e\u52a0\u200c<strong>\u8868\u4e00\u81ea\u8eab\u91cd\u590d\u68c0\u6d4b<\/strong>\u200c\uff08\u9ed1\u5e95\u767d\u5b57\uff09\uff0c\u53ef\u5728\u4ee5\u4e0b\u4f4d\u7f6e\u63d2\u5165\u4ee3\u7801\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>' \u5728\u8868\u4e8c\u6821\u9a8c\u903b\u8f91\u524d\u63d2\u5165<br>If Application.WorksheetFunction.CountIf(ws1.UsedRange, valCheck) >= 2 Then<br>    cell.Interior.Color = RGB(0, 0, 0)<br>    cell.Font.Color = RGB(255, 255, 255)<br>    Exit For  ' \u8df3\u8fc7\u540e\u7eed\u5224\u65ad<br>End If<br><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u8be5\u4ee3\u7801\u901a\u8fc7\u4e09\u7ea7\u6761\u4ef6\u5224\u65ad\u5b9e\u73b0\u667a\u80fd\u683c\u5f0f\u6807\u8bb0\uff0c\u7279\u522b\u9002\u5408\u9700\u8981\u6570\u636e\u6821\u9a8c\u7684\u5f55\u5165\u573a\u666f\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>VB\u4ee3\u7801 \u8981\u6c42\uff1aexcel\u8868\u4e00\u5f55\u5165\u6570\u636e\u5982\u679c\u8868\u4e8c\u4e0d\u5b58\u5728\u76f8\u540c\u503c\u5219\u8868\u4e00\u5f53\u524d\u5355\u5143\u683c\u5e95\u8272\u84dd\u8272\u5b57\u4f53\u767d\u8272\uff0c\u5982\u679c\u8868\u4e8c\u6709\u4e24\u4e2a\u4ee5\u4e0a<br \/><a class=\"moretag\" href=\"http:\/\/www.x4s.cn\/?p=702\">+ Read More<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-702","post","type-post","status-publish","format-standard","hentry","category-apps"],"_links":{"self":[{"href":"http:\/\/www.x4s.cn\/index.php?rest_route=\/wp\/v2\/posts\/702","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.x4s.cn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.x4s.cn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.x4s.cn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.x4s.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=702"}],"version-history":[{"count":3,"href":"http:\/\/www.x4s.cn\/index.php?rest_route=\/wp\/v2\/posts\/702\/revisions"}],"predecessor-version":[{"id":705,"href":"http:\/\/www.x4s.cn\/index.php?rest_route=\/wp\/v2\/posts\/702\/revisions\/705"}],"wp:attachment":[{"href":"http:\/\/www.x4s.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=702"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.x4s.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=702"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.x4s.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=702"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}