簡體   English   中英

excel vba 將數據從查詢復制到其他工作表

[英]excel vba copy data from query to other sheet

您好,我在 excel(見圖)中得到了這個數據,數據是從一個.csv 文件中導入的。 我想將所有具有相同名稱(Z 列)的行提取到不同的工作表中。 例如:新工作表“P7”包含 Z = P7 的所有行。 表格的長度可以變化,我不知道表格中有多少點(P7,P6)。 任何幫助表示贊賞!

在此處輸入圖像描述

我通常不會看這個,因為到目前為止你還沒有展示你嘗試過的代碼。 話雖如此,這是一個有趣的小問題,我將其視為編碼練習。 以下使用字典D列獲取唯一值,並使用鍵來創建新工作表並設置過濾器以復制數據。 讓我知道事情的后續。

Option Explicit
Sub test()
Dim d As Object, x, LngRow As Long, i As Long
Dim ws1 As Worksheet, ws2 As Worksheet

Set ws1 = Sheets("tempoary_csvData")
Set d = CreateObject("scripting.dictionary")

x = Application.Transpose(Range("D5", Cells(Rows.Count, "D").End(xlUp)))

For LngRow = 1 To UBound(x, 1)
    d(x(LngRow)) = 1
Next

For Each x In d.Keys
    If x <> "" Then
        With ThisWorkbook
                Set ws2 = .Sheets.Add(After:=.Sheets(.Sheets.Count))
                For i = 1 To Worksheets.Count
                    If Worksheets(i).Name = x Then
                        MsgBox "The sheet " & x & " already exists - macro stopped"
                        Exit Sub
                    End If
                Next i
            ws2.Name = x
        End With

        With ws1.Cells(4, 1).CurrentRegion
            .AutoFilter 4, x
            .Copy Sheets(x).Cells(1, 1)
        End With
    End If
Next x

ws1.AutoFilter.ShowAllData

End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM