将偏移量添加到VBA代码

时间:2018-02-07 05:40:39

标签: excel vba offset

向VBA代码添加偏移量。

目前,我有一块VBA代码可以很好地将不同的行分隔到不同的标签中。

Sub Country_Seperator()

Dim lr As Long
Dim ws As Worksheet
Dim vcol, i As Integer
Dim icol As Long
Dim myarr As Variant
Dim title As String
Dim titlerow As Integer

vcol = 1
Set ws = Sheets("FILTERED")
lr = ws.Cells(ws.Rows.Count, vcol).End(xlUp).Row
title = "A1:E1"
titlerow = ws.Range(title).Cells(1).Row
icol = ws.Columns.Count
ws.Cells(1, icol) = "Unique"

For i = 2 To lr

    On Error Resume Next

    If ws.Cells(i, vcol) <> "" And Application.WorksheetFunction.Match(ws.Cells(i, vcol), ws.Columns(icol), 0) = 0 Then
        ws.Cells(ws.Rows.Count, icol).End(xlUp).Offset(1) = ws.Cells(i, vcol)
    End If

Next

myarr = Application.WorksheetFunction.Transpose(ws.Columns(icol).SpecialCells(xlCellTypeConstants))
ws.Columns(icol).Clear

For i = 2 To UBound(myarr)

    ws.Range(title).AutoFilter field:=vcol, Criteria1:=myarr(i) & ""

    If Not Evaluate("=ISREF('" & myarr(i) & "'!B7)") Then
        Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = myarr(i) & ""
    Else
        Sheets(myarr(i) & "").Move after:=Worksheets(Worksheets.Count)
    End If

    ws.Range("A" & titlerow & ":A" & lr).EntireRow.Copy Sheets(myarr(i) & "").Range("B7")
    Sheets(myarr(i) & "").Columns.AutoFit

Next

ws.AutoFilterMode = False
ws.Activate

End Sub

我的主要问题是这个代码在A1上输出数据,我希望它能够被偏移(例如,通过A1输出到B7)

0 个答案:

没有答案