所在分类:  Amazon 所属圈子: 软件技术和工具 Amazon

工具能转化成生产力----------自制亚马逊运营小工具分享,第一期,索赔统计

发帖4次 被置顶3次 被推荐2次 质量分0星 回帖互动105次 历史交流热度18.78% 历史交流深度0%
最近在学编程,制作一些无关紧要,但对运营有一点点促进作用的小工具免费分享给大家,先从最简单的开始。

楼主开始分享的一些都是VBA小工具,因为VBA上手简单,而且比较容易传播,不是每个人都有安装pycharm的,但所有人都会有excel,我也在持续学习过程中。

亚马逊经常会重新测量库存产品的体积,有的时候测的有问题,大家就要下载费用预览,Fee preview这个报表来进行定期查看,一般楼主每两个星期会查一下,然后把这次FBA费用高于上次的统计出来,在看一下要不要进行重测,这个过程不是很复杂,但是分享嘛,先从简单的开始,而且这种也比较好实现,楼主一点一点学习,希望大家收藏关注一下给点动力。

首先建议大家都要下载excel2016以上的版本,或者wps企业版,wps个人版要安装visual basic for application插件,而且容易出各种各样的问题,所以建议大家直接用excel2016以上的版本,网上很多破解版,某宝某鱼一个也就三四块钱起。然后大家打开excel-文件-选项-excel选项-信任中心把宏启用,把加载项什么的启用,话不多说,上表格,
https://assert.wearesellers.com/questions/20221125/efdd2c23187dcf6a2a990c9b8a16aae6.png https://assert.wearesellers.com/questions/20221125/7b5195673db4970a6de4ff92992da3af.png https://assert.wearesellers.com/questions/20221125/9c5a21cd6e6b2dfa60a68b3a82903d3a.png https://assert.wearesellers.com/questions/20221125/44df30890c7126a3c9350cec854f5e60.png https://assert.wearesellers.com/questions/20221125/3c4ca7bf0fb9f4b2db3bc228ad3b0360.png https://assert.wearesellers.com/questions/20221125/06b0a93b1b8d9fb6642fcbf70ffe0607.png
大家先把第一页和第二页ctrl+a全删掉,一页放之前上次的费用预览表格,一页放最近的费用预览,然后点击任意一页的一键统计就可以了,如果是多个人负责的就再筛选一下,或者你们也可以再D列加一个IFNAVLOOKUP的辅助列,筛选一下,有点excel基础的应该都会用。下面是代码,我写的比较复杂,也不美观,但能用就行,大家可以跳过,不下载我的表格,直接在开发工具-visualbasic里面插入个模块,把代码复制粘贴进去
-------------------------------------------------------------------------------------------------------------------------------------
Sub 费用变化()
Excel.Application.ScreenUpdating = False
On Error Resume Next
Dim r, a, b, j, i, x, z, k, y, m, n, o
    Set r = Sheets("统计"): Set a = Sheets("现在费用"): Set b = Sheets("之前费用"): j = 2: x = 2: i = 2: z = 2
        r.Cells.Clear
        r.Cells.Clear
        r.Cells.Clear
        a.Range("A1:A" & [A1].End(xlDown).Row).Copy r.Range("A1")
        b.Range("A2:A" & [A1].End(xlDown).Row).Copy r.Range("A" & [A1].End(xlDown).Row + 1)
        r.Range("A1:A" & [A1].End(xlDown).Row).Select
        Selection.RemoveDuplicates Columns:=1, Header:=xlNo
        r.Select
        Range("B1") = "现在费用": Range("C1") = "之前费用": Range("D1") = "费用差"
        
        For Each k In Worksheets
        If Right(k.Name, 2) = "费用" Then
            i = 2
            Do While k.Range("Y" & i) <> ""
                If k.Range("Y" & i) = "--" Then
                    k.Range("Y" & i) = k.Range("W" & i)
                End If
                i = i + 1
            Loop
            End If
        Next
  
    With Excel.Application.WorksheetFunction
        Do While Range("A" & x) <> ""
            For i = 2 To Sheets.Count
                Range("C" & x) = .VLookup(Range("A" & x), b.Range("A:Y"), 25, 0)
            Next
            x = x + 1
        Loop
        Do While Range("A" & j) <> ""
            For i = 2 To Sheets.Count
                Range("B" & j) = .VLookup(Range("A" & j), a.Range("A:Y"), 25, 0)
            Next
            j = j + 1
        Loop
    End With
    
    Do While Range("A" & z) <> ""
    Range("D" & z) = Range("B" & z) - Range("C" & z)
    z = z + 1
    Loop
    With Range("a1").CurrentRegion
     .AutoFilter
     .AutoFilter Field:=3, Criteria1:=">0"
     .AutoFilter Field:=2, Criteria1:=">0"
     .AutoFilter Field:=4, Criteria1:="0"
    End With
   
    Rows("2:" & [A1].End(xlDown).Row).Select
    Selection.Delete Shift:=xlShiftUp
    ActiveWindow.ScrollRow = 1
    Range("A1:D27").AutoFilter Field:=4
    With ActiveSheet.AutoFilter.Sort
        With .SortFields
            .Clear
            .Add Key:=Range("D1"), Order:=xlDescending
        End With
        .Header = xlYes
        .Apply
    End With

    Columns("A:A").AutoFit
    Sheet1.UsedRange.AutoFilter
    With Range("a1").CurrentRegion
     .AutoFilter
     .AutoFilter Field:=3, Criteria1:=">0"
     .AutoFilter Field:=2, Criteria1:=""
    End With
    Range("A:A").Copy Range("Z1")
  With Excel.Application.WorksheetFunction
        If Range("C2") > 0 Then
            m = .TextJoin(",", 1, Range("Z2 : Z" & [A1].End(xlDown).Row)) & "断货或者停售了"
        Else: m = "没有产品断货或停售"
        End If
    End With
    Columns("Z:Z").Delete Shift:=xlToLeft
     Sheet1.UsedRange.AutoFilter
     With Range("a1").CurrentRegion
     .AutoFilter
     .AutoFilter Field:=3, Criteria1:=""
     .AutoFilter Field:=2, Criteria1:=">0"
     End With
    Range("A:A").Copy Range("Z1")
   With Excel.Application.WorksheetFunction
        If Range("D2") > 0 Then
            n = .TextJoin(",", 1, Range("Z2 : Z" & [A1].End(xlDown).Row)) & "为新品或者断货补上了"
        End If
    End With
    Columns("Z:Z").Delete Shift:=xlToLeft
    Sheet1.UsedRange.AutoFilter
    
        With Range("a1").CurrentRegion
     .AutoFilter
     .AutoFilter Field:=3, Criteria1:=">0"
     .AutoFilter Field:=2, Criteria1:=">0"
     .AutoFilter Field:=4, Criteria1:=">0"
    End With
    With Excel.Application.WorksheetFunction
        If Range("D2") > 0 Then
            y = .TextJoin(",", 1, Range("A2 : A" & [A1].End(xlDown).Row)) & "或许需要重测"
        Else: y = "不需要重测"
        End If
    End With
 
      MsgBox "主人," & y & Chr(10) & m & Chr(10) & n
Excel.Application.ScreenUpdating = True
End Sub
------------------------------------------------------------------------------------------------------------------------

有什么问题可以问我,知无不允许xlsm格式,大家一定要把表格用excel打开,之后可以保存成xlsm格式,基本excel会一点的应该就会操作,祝大家黑五网一爆单~
已邀请:

小仙女本仙 - 皮一下很开心(*^▽^*)

赞同来自: Leaves kimutaku 简约煎鱼

大概瞄了一眼,脑子还没跟上,收藏再说,哈哈哈,谢谢楼主

要回复问题请先登录注册

问题反馈
x 点击咨询