精华内容
下载资源
问答
  • word去自动编号宏.txt

    2020-06-28 16:42:14
    微软的office软件允许用户自己编写,叫VBA的脚本来增加其灵活性,进一步扩充它的能力。如完打开word文件同时要打开某个文件的功能,必须要自己编写一段称之为宏的脚本。具体做法是在“工具”菜单“宏”-“宏”弹出...
  • vba 自动编号字段 row_number counter

    千次阅读 2014-12-21 14:08:21
    清空表全部记录后重置自动编号起始值 来源 :www.microsoft.com  点击数 :2395  评论数 :0  评论  |  收藏  |  复制 时 间 :2012-05-17 06:33:34 作 者 : www.microsoft.com  ...

    SELECT a.ID, 
           a.AText, 
           (SELECT Count(ID) 
            FROM table1 b WHERE b.ID <= a.ID 
            AND b.AText Like "*a*") AS RowNo
    FROM Table1 AS a
    WHERE a.AText Like "*a*"
    ORDER BY a.ID;
    


    SELECT x.ID,count(*) as RowNumber 
    FROM 
    (select distinct * from KZS_AllClass Where id in(3,6,9)) as x 
    inner join 
    (select distinct * from KZS_AllClass Where id in(3,6,9)) as y 
    on x.ID>=y.ID 
    group by x.ID


    清空表全部记录后重置自动编号起始值

    时 间:2012-05-17 06:33:34
    作 者:www.microsoft.com   QQ:77239897  点击这里给网行者发消息
    摘 要:清空表全部记录后重置自动编号起始值
    正 文:

    点击下载此附件

    Function ChangeSeed(strTbl As String, strCol As String, lngSeed As Long) As Boolean
    '清空表全部记录后重置自动编号起始值
    'You must pass the following variables to this function.
    'strTbl:包含自动编号字段的表
    'strCol:表中自动编号的字段名
    'lngSeed:新自动编号的起始值
    '必须同时引用 Microsoft ActiveX Data Objects 2.x 和 Microsoft ADO Ext 2.x for DDL and Security Libraries(其中 2.x 是指 2.1 或更高版本)

        Dim cnn As ADODB.Connection
        Dim cat As New ADOX.Catalog
        Dim col As ADOX.Column
        
        DoCmd.RunSQL "Delete * FROM " & strTbl & ""
        
        Set cnn = CurrentProject.Connection
        cat.ActiveConnection = cnn
        Set col = cat.Tables(strTbl).Columns(strCol)

        col.Properties("Seed") = lngSeed
        cat.Tables(strTbl).Columns.Refresh
        If col.Properties("seed") = lngSeed Then
            ChangeSeed = True
        Else
            ChangeSeed = False
        End If
        Set col = Nothing
        Set cat = Nothing
        Set cnn = Nothing

    End Function



    http://access.mvps.org/access/tables/tbl0005.htm

     Have Autonumber field start from a value different from 1

    Author(s)
    Dev Ashish &
    Alden Streeter

    (Q)    Can I change the starting value of a counter type field?

    (A)    Yes, you can.. to do this:
    Create the first table that contains the counter type field that you want to start on another number. Don't enter any records.Create a second table, with a single long integer number type field that has the same name as the counter field in the first table. Create a record in the second table by entering a number one less than the number you want to start the counter at in the  first table. Create an append query, to append the one record in the second table to the first table, and run it Delete the second table, delete the record that you appended to the first table, and start entering data.

    Alternative method:

    You can make an Append query that just appends a value from a parameter, to just the auto-number field (as long as no other fields are required), e.g.:

    PARAMETERS [Number] Long;
    INSERT INTO tblAuto ( intNumber )
    SELECT [Number] AS Expr1;


    http://club.excelhome.net/thread-863167-1-1.html

    Sub Macro1()
        Dim myData As String
        Dim myDb As DAO.Database
        Dim myTbl As DAO.TableDef
        Dim f As DAO.Field
        myData = ThisWorkbook.Path & "\abc.mdb"
        myTable = "清单"
        mytablc = "基本信息"
        On Error Resume Next
        Kill myData
        On Error GoTo 0
        Set myDb = CreateDatabase(myData, dbLangChineseSimplified)
        Set myTbl = myDb.CreateTableDef(myTable)
        With myTbl
            Set f = .CreateField("序号")
            f.Type = dbLong
            f.Attributes = dbAutoIncrField
            .Fields.Append f
    '        .Fields.Append .CreateField("序号", dbLong, 50)
            .Fields.Append .CreateField("定额编号", dbText, 50)
            .Fields.Append .CreateField("工程名称", dbText, 200)
            .Fields.Append .CreateField("单位", dbText, 20)
            .Fields.Append .CreateField("人工费", dbSingle)
            .Fields.Append .CreateField("材料费", dbSingle)
            .Fields.Append .CreateField("机械费", dbSingle)
            .Fields.Append .CreateField("基价", dbSingle)
            .Fields.Append .CreateField("计算式", dbText, 255)
        End With
        myDb.TableDefs.Append myTbl
        
        myDb.Close


        Set myDb = Nothing

    End Sub




    excel中的sql没有排名函数,比较蛋疼,否则用now_number()可简单解决

    不过你可以用多个组合字段使其唯一从而达到结果
    select *,(select count(*)+1 from tb where a+b+c > t.a+t.b+t.c) as id from tb as t

    其实更简单的方法是你在源表中按某种方式排完序后直接填充序列即可


    Access数据库自增长字段值的修改及初始值的设置是本文我们主要要介绍的内容,Access的自增长字段的值的修改,发现原来Access自增长比起SQL Server的标识列有一定的灵活性。比如Access的自增长字段可以直接insert记录时指定数值,但是不要和已经有的记录的该字段值重复了,会主键冲突的,而SQL Server就不行了。

    并且如果某个自增长序号已经有记录了,那么删除这条记录后还可以设定该值作为新记录的序号值。但是对于已有的记录,就不能修改自增长字段的值了,如果确需修改,有两种方法,要不就是删除原记录,重新插入数据时指定该字段值。要不就是去除自增长属性,修改成一个不重复的值保存后再将该字段类型设置成自动增长。

    那么,如果想设定Access数据库自增长字段的初始值该怎么办呢,这个较为简单,可以通过特定SQL语句即可实现。

    如果创建表结构时想设定自增长字段的初始值可以这条语句:

    CREATE TABLE 表名 ( 自增长字段名 AUTOINCREMENT (1000, 10), ItemId LONG, Quantity LONG)

    如果表结构已经存在,可以通过这条语句修改:

    ALTER TABLE 表名 ALTER COLUMN 自增长字段名 COUNTER (2000, 50)

    如果想复位自增长种子重新开始,可以这样:

    ALTER TABLE 表名 ALTER COLUMN 自增长字段名 COUNTER (1, 1)

    好了,SQL Server和Access两种数据库的自增长(标识列)都可以修改字段值了。有什么用呢,呵呵,很有用,对于我目前手同的工作来说,就是可以在程序中增加数据导入导出文本文件了,并且导入后一些关键的排序主键字段值不会发生改变,能保持原有数据的编号。

    关于Access数据库自增长字段值的修改及初始值的设置的相关内容就介绍到这里了,希望本次的介绍能够对您有所收获!


    展开全文
  • VBA实现表单自动编号

    2019-03-04 11:56:00
    效果:每次提交或刷新标段,表单案指定格式实现自动编号。如当天日期加数字编号的格式 即 2019年2月3日产生的第一张表单产生的编号格式为20190203-001 以此类推第二张表单编号为20190203-002 如果日期发生变化,...

    效果:每次提交或刷新标段,表单案指定格式实现自动编号。如当天日期加数字编号的格式 即 2019年2月3日产生的第一张表单产生的编号格式为20190203-001 以此类推第二张表单编号为20190203-002 

    如果日期发生变化,那么日期后面的编号也从1开始。如2019年2月4日那么,他的编号20190204-001 如果是当天,他产生多章表单那么编号会自动递增。 如果表单编号所在单元格为空那么也将从001开始

    产生编号。

    代码:

    Sub autonum()
        a = Right([c2], 2)
        cdat = Format(Now(), "yyyymmdd")
        pc = Left([c2], 8)
        va = ThisWorkbook.Sheets("a3").Range("c2").Value
        MsgBox va
        With ThisWorkbook.Sheets("a3")
            If va = "" Or cdat <> pc Then
                c = Format(Now, "yyyy") & Format(Now, "mm") & Format(Now, "dd") & "-" & Format(1, "000")
                .Range("c2").Value = c
            Else
                c = Format(Now, "yyyy") & Format(Now, "mm") & Format(Now, "dd") & "-" & Format(a + 1, "000")
                .Range("c2").Value = c
            End If
        End With
    End Sub
    

      

    转载于:https://www.cnblogs.com/luoye00/p/10469879.html

    展开全文
  • VBA自动填充序号

    2019-10-01 15:42:15
    Sub 自动填充序号() Dim A As CommandBar '代表容器应用程序中的一个命令栏 Dim B As CommandBarControl '代表一个命令栏控件 Dim i As Long Cells.Clear '清除所有单元格 For Eac...

    使用Excle自带的工具栏图标填充

    填充效果图如下:

    image

    代码如下:

    Sub 自动填充序号()
        Dim A As CommandBar '代表容器应用程序中的一个命令栏
        Dim B As CommandBarControl '代表一个命令栏控件
        Dim i As Long
        Cells.Clear '清除所有单元格
        For Each myshape In Worksheets(1).Shapes
            If myshape.Name <> "myButton" Then
                myshape.Delete '删除名字不为myButton的图形对象
            End If
        Next
        On Error Resume Next
        Application.CommandBar("FaceID").Delete
        On Error GoTo 0
        '创建以个自定义的工具栏FaceID
        Set A = Application.CommandBars.Add(Name:="FaceID")
        Set B = A.Controls.Add(Type:=1)
        For i = 1 To 30
        B.FaceId = i
        B.CopyFace '复制命令按钮的Icon
        Cells(1, 1).Select
        With Worksheets(1)
            .Paste '将复制的命令粘贴到Icon
            .Shapes(.Shapes.Count).Top = .Cells(i, 2).Top
            .Shapes(.Shapes.Count).Left = .Cells(i, 2).Left
            .Cells(i, 1).Value = i
            End With
        Next i
        A.Delete '删除临时的自定义工具栏FaceID
        Set B = Nothing
    End Sub

    注意事项:在本代码中出现的“myButton”指的是Excle中的按钮,修改按钮名称如下图:

     

    image

     

    附件下载

    转载于:https://www.cnblogs.com/OliverQin/p/7326580.html

    展开全文
  • 此工具是VBA开发,有录入绑定数据功能,可根据不同需求变更设置,扫描绑定数据自动录入Excel,可用于不同环境,工厂记录关联数据等
  • Excel VBA 自动添加新行并递增ID

    千次阅读 2017-05-06 18:56:06
    Excel VBA 自动添加新行并递增ID用Excel 2010的VBA功能来处理数据,主要根据IP网段和网段IP个数,来生成每个IP地址,并进行ID编号。Sub AutoInsert() Line = 1531 Count = Cells(Line, 5).Value ''Count = 5 For ...

    Excel VBA 自动添加新行并递增ID

    用Excel 2010的VBA功能来处理数据,主要根据IP网段和网段IP个数,来生成每个IP地址,并进行ID编号。

    Sub AutoInsert()
        Line = 1531
        Count = Cells(Line, 5).Value
        ''Count = 5
    
        For i = 2 To Count
            ''Copy
            Range(Cells(Line + i - 2, 1), Cells(Line + i - 2, 6)).Select
            Selection.Copy
    
            ''Insert
            Range(Cells(Line + i - 1, 1), Cells(Line + i - 1, 6)).Rows.Insert
    
    
    
            '' Change Id and Ip Cell Value
            ''Id: ESP004001
            IdVal = Cells(Line + i - 1, 2).Value
    
            If i = 2 And InStr(IdVal, "ESP") = 0 Then
    
                ''FH00318 ---> FH00318001
                 Cells(Line + i - 1, 2).Value = IdVal & "001"
    
            Else
    
                LastZeroPosInId = InStrRev(IdVal, "0")
    
                IdPrefix = Left(IdVal, LastZeroPosInId)
    
                If Len(IdVal) = LastZeroPosInId Then
                    IdValPart = 0
                Else
                    IdValPart = Right(IdVal, Len(IdVal) - LastZeroPosInId)
                End If
    
                NewId = IdValPart + 1
    
                ''Remove one zero, if NewId lengthen.
    
                If Len(NewId) + Len(IdPrefix) > Len(IdVal) Then
                    IdPrefix = Left(IdPrefix, Len(IdPrefix) - 1)
                End If
    
                Cells(Line + i - 1, 2).Value = IdPrefix & NewId
            End If
    
            ''Ip: 202.123.176.63
            IpVal = Cells(Line + i - 1, 4).Value
            LastDotPos = InStrRev(IpVal, ".")
            IpPrefix = Left(IpVal, LastDotPos)
            IpValPart = Right(IpVal, Len(IpVal) - LastDotPos)
    
            NewIp = IpValPart + 1
    
            Cells(Line + i - 1, 4).Value = IpPrefix & NewIp
    
    
    
        Next i
    
        ''ActiveWorkbook.Save
    End Sub
    

    处理前:

    原始数据格式

    处理后:

    处理后的

    这样可以从繁重的重复劳动中解放出来。

    展开全文
  • 在excel打开时编号自动+1,可记录上次保存的最大编号,通过示例了解一下vba的使用。 1 、另存a.xls文件为a.xlsm启用宏的工作簿; 2 、在Excel选项中勾选开发工具选项卡,将出现开发工具菜单; 3 ...
  • word vba script for format the muti-level title and single-level level, support the bullet style and number style.
  • 然后我制作一张简单的样表,A2设置为输入序号,B2里放日期和时间,当A2输入内容后,B2自动输入当前日期和时间。那么B2列里设置函数=IF(A2="","",NOW()) 开始以为就这么简单,但是发现这个表格如果重新打开后,所以B...
  • 如何在EXCEL中实现连续编号自动更新打印? 用下列方法,无论你需要输入连续编号的单元格是否改变,均不需要改变代码。 第一步:将下列代码拷贝到宏中(方法请问度娘,搜代码的人应该会的)。 Sub 连续编号() [编号]....
  • vba word 自动插入题注

    2013-01-08 22:41:53
    vba word 自动插入题注 简单测试
  • Word vba 获得当前表的序号

    千次阅读 2019-10-18 10:37:44
    Sub 获得当前表的序号() With Selection If .Information(wdWithInTable) = True Then If .Cells.Count = 1 Then StrAddr = "T" & Selection.Tables(1).Range.Start &...
  • VBA程序可以批修改CAD中的文字,例如选中区域内的所有文字中某一字符,可对文字中数字进行自动编号等修改。
  • power designer 自带VBA脚本语言,在某些情况下编程可实现自动化操作; 1 创建表和列 代码大体如下; Set mdl = ActiveModel set table = mdl.Tables.CreateNew table.Name = "tablename" table.Code = "table...
  • 说实话,CSDN的这个插入代码的控件很好用,特别是自动添加行号的功能。...对你选中的行,从1开始自动编号。你也可以把这段代码设置成一个按键,每次只要选中希望编号的行,然后点一下按键运行一下即可。   有
  •  '取出段落序号 num = Trim(.ListFormat.ListString)  '取出Heading的内容 content = Trim(.Text) End With If num <> "" Then num = Replace(num, ".", "_")  With ActiveDocument.Bookmarks  ....
  • Vba Excel 自动分级

    2020-03-14 17:28:36
    Sub classification() Dim LastRow, max_level As Integer Dim i, j, m, a, b As Integer Dim st1, st2, s1, s2 As Integer On Error Resume Next Application.... End Sub 作用:根据序号 对大量数据进行分级,分类。
  • vba】vab自动化及宏命令

    千次阅读 2019-09-03 23:20:33
    设置自动语法检测 快速注释 对象浏览器 使用对象编号访问对象 With ActiveSheet.Shapes(1) 这里的对象编号是不分对象类型的。 MkDir “C:\Study” 新建文件夹 RmDir "C:\Study"删除文件夹 立即...
  • word去除自动编号的宏但是保留序号

    千次阅读 2018-08-24 17:20:45
    打开宏编写 “宏”可以在“开发工具”菜单栏找到,可是,... Excel VBA如何去掉WORD中的全部自动编号的格式,但数字还保留着?-Word-ExcelHome技术论坛 - http://club.excelhome.net/thread-873309-1-1.html
  • 可以批量修改选中的图形内的所有的文字,可以自动进行编号修改
  • 最近使用VBA自动处理EXCEL的数据,用着用着觉得很方便,于是写了一些小脚本,不过水平有限,代码很冗余。 个人使用的脚本一般都是符合个人使用的特定场景,不像高手写的有很强的复用性。 不过既然写了,方便了个人的...
  • Sub 生成序号() On Error Resume Next Dim l As Integer, i As Integer l = InputBox("请输入序号所在的列号(1-n)") Columns(l).Clear For i = 1 To 101 Cells(1, l) = "序号" Cells(i, l) = i - 1 Next With ...
  • 编程往往与数据库密不可分,一个项目往往有很多的表,很多时候通过excel来维护表结构,记录表名,字段,类型,注释等等信息,将表结构整理到excel已经是件很累的事了...excel提供vba编程,我们可以通过一段小脚本来...
  • VBA制成的可根据模板工作表,批量生成新的工作表,并能自动编号及工作表命名。
  • SQL中自动生成序号

    2019-09-25 14:34:36
    随笔: 1、ROW_NUMBER() OVER ( PARTITION BY ...根据Code进行生成序号,当按Code分组排序重新生成序号 2、ROW_NUMBER() OVER ( ORDER BY Code) AS rowindex 根据Code进行全量生成序号 转载于:https://www.cnb...
  • 自动更新序号.xlsx

    2020-04-27 23:38:13
    自动更新序号,不用每次插入行,删除行都要填充公式,是excel中回用到的一个常用函数,学习他很有用哦,希望大家能学会,谢谢大家的支持
  • & a & ":H" & a).Value = Sheets("提款申请").Range("G" & rng1.Row & ":I" & rng1.Row).Value Sheets("清分明细").Range(a & ":" & a).Interior.Color = 65535 End If Next Next End Sub 自动填写数据 Private Sub ...
  • VBA 操作SAP

    千次阅读 多人点赞 2019-04-24 14:36:17
    为后期自动化做准备,找了很多资料,尝试了不少语言,最后选择了VBA。 在我看来SAP是一个数据库管理系统,记得20年前刚解除计算机,曾学了一点foxbase,做过一个图书馆管理系统。当然SAP很复杂,因为SAP本身有自己...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,137
精华内容 854
关键字:

vba自动序号