T之家 7 月 18 日消息,英偉達近日面向舊款 Quadro 和 GeForce GTX 系列顯卡發布新 vBIOS 固件,重點修復了通過 DisplayPort 1.3/1.4 接口外接顯示器時,開機 Win10 / Win11 系統過程中出現黑屏問題。
英偉達還推出了一款特殊軟件工具,可以自動檢測特定的顯卡是否需要更新,下載并自行安裝。
英偉達新版固件主要修復通過 DisplayPort 外接顯示器的兩個問題:開機畫面黑屏以及首次打開時卡死,Titan XP、Titan X(Pascal)、Titan 750 Ti 等顯卡升級后應該可以修復這兩個問題。
英偉達還表示修復了 Pascal 顯卡型號和 Maxwell Quadro 顯卡上的這些問題,但是官方并未提供明確的顯卡列表。
IT之家在此附上,有需求的用戶可以點擊升級。
前面我們發布過將多個Excel工作簿中的工作表合并到一個工作表簿中,就有網友提了一個問題,如何講一個Excel工作簿中的工作表拆分成多個工作表,其實實現的方法很多,如果數據少的話,我們直接采用Excel的篩選,然后復制粘貼就可以了,如果數據比較多,或者是日常工作的話,每天這樣復制粘貼,就很麻煩~,或者我們使用透視表也可以。我們這講就來使用VBA的方法來實現,這個方法很簡單,只需要復制代碼(代碼也是小編從網上找的,然后修改了下,這樣通用性就更強了,更多精彩請關注公眾號:word_excel_ppt),運行就可以了。
1、素材文件
素材文件
我們的素材文件是以某公司為例,數據記錄了公司旗下有7家店鋪,從2016年1月1日到2018年12月31日,每天銷售的流水數據。
存放數據的工作表名稱已修改為“數據源”,工作表的第一行為標題行,一共有2195行數據。
現在我們想按照店鋪名稱,將整個工作表拆分開。
2、操作步驟
打開我們的工作表文件以后,將需要拆分的工作表名字修改成“數據源”。然后按鍵盤上面的Alt+F11,彈出VBA編輯的窗口,將代碼粘貼進代碼編輯器中(代碼見最后附件);
代碼窗口
重要的事情重復一次,因為我們代碼里面,要拆分的工作表名稱叫"數據源",所以你直接把你要拆分的工作表名稱修改成“數據源”才能正常運行。
3、運行程序
在VBA編輯器中,點擊示例中的綠色三角(見上圖),或者是按鍵盤上面的F5都可以。
選擇標題行
此時會讓我們選擇標題行,我們通過鼠標點擊標記標題行(第1行)就可以了;
選擇拆分字段
接下來會讓我們選擇,需要按照哪個字段拆分,我們就選擇門店名稱(B1)單元格,然后直接點確定。
搞定
這個時候程序就會自動運行,鼠標會閃動,我們需要等一下,運行的時間就和你電腦的配置以及要拆分文件的大小有關,以我們的素材為例,大概需要10秒鐘,就可以搞定,然后會彈出一個提示完成的消息框,我們點確定就可以。
運行結果
回到我們的文件里面,可以看到程序已經給我們拆分好了,是不是覺得很方便呢?
附程序代碼(程序在Win7+Excel 2016 運行可行):
視頻演示,稍后發布在頭條專欄中
Sub 按照指定字段拆分工作表() '本程序來源于網絡,原作者不詳,特留此句對原作者表示感謝; '本程序中,云淡風輕微課堂(公眾號:word_excel_ppt)進行了部分修改,適用性更廣 Dim myRange As Variant Dim myArray Dim titleRange As Range Dim title As String Dim columnNum As Integer myRange = Application.InputBox(prompt:="請用鼠標點擊標題行:", Type:=8) myArray = WorksheetFunction.Transpose(myRange) Set titleRange = Application.InputBox(prompt:="請用鼠標點擊要拆分的字段,必須是第一行,且為1個單元格", Type:=8) title = titleRange.Value columnNum = titleRange.Column Application.ScreenUpdating = False Application.DisplayAlerts = False Dim i&, Myr&, Arr, num& Dim d, k For i = Sheets.Count To 1 Step -1 If Sheets(i).Name <> "數據源" Then Sheets(i).Delete End If Next i Set d = CreateObject("Scripting.Dictionary") Myr = Worksheets("數據源").UsedRange.Rows.Count Arr = Worksheets("數據源").Range(Cells(2, columnNum), Cells(Myr, columnNum)) For i = 1 To UBound(Arr) d(Arr(i, 1)) = "" Next k = d.keys For i = 0 To UBound(k) Set conn = CreateObject("adodb.connection") Select Case Application.Version * 1 '設置連接字符串,根據版本創建連接 Case Is <= 11 conn.Open "Provider=Microsoft.Jet.Oledb.4.0;Extended Properties=excel 8.0;Data source=" & ThisWorkbook.FullName Case Is >= 12 conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.FullName & ";Extended Properties=""Excel 12.0;HDR=YES"";""" End Select Sql = "select * from [數據源$] where " & title & " = '" & k(i) & "'" Worksheets.Add after:=Sheets(Sheets.Count) With ActiveSheet .Name = k(i) For num = 1 To UBound(myArray) .Cells(1, num) = myArray(num, 1) Next num .Range("A2").CopyFromRecordset conn.Execute(Sql) End With Sheets(1).Select Sheets(1).Cells.Select Selection.Copy Worksheets(Sheets.Count).Activate ActiveSheet.Cells.Select Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False Application.CutCopyMode = False Next i conn.Close Set conn = Nothing Application.DisplayAlerts = True Application.ScreenUpdating = True MsgBox " 已經拆分完成" & vbCrLf & vbCrLf & "更多內容敬請關注公眾號:word_excel_ppt", vbInformation, "云淡風輕微課堂" End Sub
更多精彩請關注公眾號:word_excel_ppt