使用 VBA 将唯一编号添加到 Excel 数据表

2024-04-13

我有两列数字,它们在一起将是唯一的(复合键)。我想创建一个唯一的 ID 号(第三列),类似于 MS Access 使用主键的方式。我想在 VBA 中执行此操作,但我不知道如何执行此操作。

我的 Excel 中的 VBA 不太好,所以希望您能看到我已经开始尝试的内容。这可能是完全错误的......我不知道?

我不知道如何进行下一个串联,并且不确定如何正确地进入下一行。

Sub test2()

Dim var As Integer
Dim concat As String

concat = Range("E2").Value & Range("F2").Value

var = 1

'make d2 activecell
Range("D2").Select

Do Until concat = ""
    'if the concat is the same as the row before we give it the same number
    If concat = concat Then
        var = var
    Else
        var = var + 1
    End If
    ActiveCell.Value = var
    ActiveCell.Offset(0, 1).Select
    'make the new concatination of the next row?
Loop
End Sub

感谢任何帮助,谢谢。


尝试一下下面的代码,我添加了一个为每个单元格执行的循环E柱子。它检查 concat 值是否与上一行中的 concat 值相同,然后将 id 写入D cell.

Sub Test2()
    Dim Part1 As Range
    Dim strConcat As String
    Dim i As Long

    i = 1

    With ThisWorkbook.Worksheets("NAME OF YOUR SHEET")
        For Each Part1 In .Range(.Cells(2, 5), .Cells(2, 5).End(xlDown))
            strConcat = Part1 & Part1.Offset(0, 1)

            If strConcat = Part1.Offset(-1, 0) & Part1.Offset(-1, 1) Then
                Part1.Offset(0, -1).Value = i
            Else
                i = i + 1
                Part1.Offset(0, -1).Value = i
            End If
        Next Part1
    End With
End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 VBA 将唯一编号添加到 Excel 数据表 的相关文章

  • 如何处理 Workbook.SaveAs 覆盖确认上的“否”或“取消”?

    我希望在 VBA 脚本开始修改内容之前提示用户保存工作簿 当 另存为 对话框出现时 如果用户单击 取消 我会引发自定义错误并停止脚本 如果他们单击 保存 并且文件名已存在 我希望询问他们是否覆盖 这是我的代码 Function SaveCu
  • 在 VBA 中使用 getElementsByClassName

    我正在使用此代码从页面获取产品名称 页面代码是 div class product shop col sm 7 div class product name h1 Claro Glass 1 5 L Rectangular Air Tigh
  • Excel 在“.xls”中发现不可读的内容。同时导出水晶报表到excel

    我正在将数据从 Crystal 报告导出到 PDF 工作正常 并显示所有记录 但是当我将其导出到 Excel 文件中并成功导出时 以及当我在 Excel 中打开它时给出错误消息 文件错误 数据可能已丢失 当我点击 确定 按钮时 在 Exce
  • 将包含换行符的文本文件导入到 Excel 中

    我有一个纯文本文件 如下所示 some text containing line breaks 我正在尝试说话excel 2004 Mac v 11 5 正确打开此文件 我希望只看到一个单元格 A1 包含上述所有内容 不带引号 但可惜的是
  • 在 VBA 中按键对字典进行排序

    我使用 VBA 创建了一个字典CreateObject Scripting Dictionary 将源单词映射到要在某些文本中替换的目标单词 这实际上是为了混淆 不幸的是 当我按照下面的代码进行实际替换时 它将按照源单词添加到字典中的顺序替
  • 我需要代码在两行之间复制并粘贴到另一张表中,并给出任何值?

    例如 我有 50 行数据 第一行有学生的名字 我需要代码将数据从 RAM 复制到 RAMESH 在这之间我有 20 行 我需要代码来复制行并将其粘贴到另一张纸中 它不应该问我名字 默认情况下 它必须采用 RAM 和 RAMESH 名称 好的
  • 如何使用 Excel Interop 获取筛选行的范围?

    我正在为我的项目使用 Excel Interop 程序集 如果我想使用自动过滤器 那么可以使用 sheet UsedRange AutoFilter 1 SheetNames 1 Microsoft Office Interop Excel
  • VBA XML V6.0 如何让它等待页面加载?

    我一直在努力寻找答案 但似乎找不到任何有用的东西 基本上 我是从一个网站上拉取的 当您在该页面上时 该网站会加载更多项目 我希望我的代码在加载完成后提取最终数据 但不知道如何让 XML httprequest 等待 Edited Sub p
  • 如何在字符串vba中包含引号

    我想存储以下文本 Test1 Monday Test Abcdef 全部在字符串中包含引号 我知道要在字符串中包含引号 我必须包含 之前 但在这里这不是一个很好的解决方案 因为我在文本中有太多这样的解决方案 知道如何一次完成这一切吗 您有两
  • 字典、集合和数组的比较

    我正在尝试找出字典与集合和数组相比的相对优点和功能 我发现了一篇很棒的文章here http www experts exchange com articles 3391 Using the Dictionary Class in VBA
  • 无法将 Excel 值的类型“double”转换为“string”

    我正在加载 Excel 文件 如网络上许多地方所示 OpenFileDialog chooseFile new OpenFileDialog chooseFile Filter Excel files xls xlsl xls xlsx i
  • MS Access - 粘贴确认事件后

    当用户将记录直接粘贴到数据表子报表中时 是否可以在显示粘贴确认消息后捕获事件 我需要它能够在审计表中创建新记录时进行记录 通过捕获更新前 更新后和插入事件 我可以轻松创建已添加的记录集合 准备将详细信息插入审核日志 但是在所有这些事件触发后
  • EPPlus Excel 行高不一致

    我已经使用 EPPlus 生成了一个 excel 文件 在 MS Office 2007 中一切似乎都很完美 但客户端使用的是 MS Office 2010 2013 并且在第 29 行之后未设置行高 这是一个非常奇怪的问题 我已经尝试了
  • VBA 字符串 255 个字符限制

    我在使用 VBA 时遇到问题 并注意到它的字符串限制为 255 个字符 我实际上正在尝试通过 POST 发送 JSON 并暂停执行 我注意到该字符串始终只有 255 个字符 有没有办法调整字符串的大小或其他什么 我在这个问题上浪费了大约 6
  • 在组合框中显示可见工作表

    您好 我有以下代码来在组合框中显示工作表 创建工作表后 工作表会自动添加到列表中 我不希望隐藏的工作表在保管箱中可见 我怎么做 Option Explicit Private Sub ComboBox1 Change If ComboBox
  • 文件夹.文件的相对路径

    我有一个 Excel 文件 在同一文件夹中还有一个包含我想要包含的 CSV 文件的文件夹 使用 来自文件夹 查询 第一步将给出以下查询 Folder Files D OneDrive Documents Health Concept2 现在
  • 无法摆脱脚本中的硬编码延迟

    我用 vba 结合 selenium 编写了一个脚本来解析网页中可用的所有公司名称 该网页启用了延迟加载方法 因此每个滚动中只有 20 个链接可见 如果我滚动 2 次 则可见链接数为 40 个 依此类推 该网页中有 1000 个可用链接 我
  • 在 VBA Excel 中查找、剪切和插入行以匹配借项和贷项值

    我在 Sheet1 中有以下设置数据 并从第 4 行 A 列开始 其中标题位于第 3 行 No Date Code Name Remarks D e b i t Cr e d i t 1 4 30 2015 004 AB 01 04 15
  • 将匹配的行复制到另一张纸中

    我有两张表 sheet1 和sheet 2 我正在查看工作表 1 的 T 列 如果工作表 2 中 T 包含 1 则粘贴完整行 该代码运行良好 但它将sheet2 中的结果粘贴到sheet1 的同一行中 这会导致行之间出现空白 任何人都可以建
  • 使用 MID、LEN 和 FIND 函数提取单元格文本的某些部分?

    我有一份 Excel 作业 但我陷入了最后部分 我被要求使用 MID LEN 和 FIND 来提取单元格内的特定字符串 我非常了解每个人的工作方式 将这三者结合起来并让它们发挥作用是我遇到的问题 我需要将城市与地址的其余部分分开 然后将其显

随机推荐

  • 我们可以使用 python 生成卡方检验的列联表吗?

    我正在使用 scipy stats chi2 contingency 方法来获取卡方统计数据 我们需要传递频率表 即列联表作为参数 但我有一个特征向量 想要自动生成频率表 我们有这样的功能吗 我目前正在这样做 def contigency
  • PHP OOP MySQL 编程

    我是 PHP 编程的初学者 需要帮助解决一个小问题 请看下面的代码 PHP Code
  • Android 8.0 Oreo - 帐户

    在我的应用程序中 我需要知道是否有任何 Google 帐户或任何三星帐户 在 Android 7 之前 可以通过以下方式轻松获取此信息 Account accounts AccountManager get getContext getAc
  • 如果没有结果,如何停止 grep 创建空文件

    我正在比较两个文件的结果 其中一个文件中的行不在另一个文件中 使用grep v f file1 txt file2 txt gt result txt 假设我的文件看起来像 文件1 txt alex peter zoey 文件2 txt a
  • 在 proguard 之后运行 espresso 测试

    我正在寻找一种在 proguard 运行后运行我的 espresso 测试的方法 这应该是一个针对配置错误的 proguard 的安全网 只是在将 butterknife 更新到 7 0 后忘记更新 proguard 配置 假设您使用 An
  • 垂直对齐:基线在 Chrome 中不起作用

    老实说 我有一个非常愚蠢的问题 不管怎样 就到这里吧 我一直在尝试使用垂直对齐 基线 这本身就起作用 问题是它可以在 IE 和 Firefox 中运行 我的问题是 由于某些奇怪的原因 它在 Chrome 中不起作用 chrome 中问题的屏
  • 正则表达式用标签包装文本[重复]

    这个问题在这里已经有答案了 我需要一个 JavaScript 正则表达式来包装 hashtags span tags Example 之前 我需要 help 请 Thanks 之后 我需要 span help span 请 span Tha
  • Spring Boot 注解 @GetMapping 无法解析为类型

    我第一次尝试在本地计算机上从 Spring Initializr 创建 Spring 项目 但我收到这些错误 GetMapping 无法解析为类型 我的 pom xml 文件
  • C++ 可变参数模板 匹配任何类型参数的模板实参

    我想知道是否可以编写一个模板函数 该函数可以将任何其他任意模板作为参数并正确匹配模板名称 即不仅仅是结果类 我所知道的工作是这样的 template
  • 如何围绕 WPF 中的特定点旋转、平移和缩放控制对象

    我有一个自定义的控件 它是一个矩形 里面有一些细节 但它是一个矩形 我有一个中心点 X Y 我称之为 重心 它 代表 该点 这意味着当我为对象设置新位置时 我希望该点位于设置的位置 当我旋转对象时 我需要它围绕该点旋转 当我缩放对象时 该点
  • 我应该在 MVP(或 VM)中对我的视图进行单元测试,或者如何将视图中的代码保持在最低限度?

    我在应用程序中使用模型 视图 表示模型 我想知道是否需要为视图创建单元测试 我使用的是 net 2 0 WinForms 现在 通常视图应该非常简单 以至于没有必要为其创建单元测试 至少这是我从视图与表示模型 PM 分离的目标中得到的想法
  • Ruby 中的大乘法输出结果为负

    我写了一些代码 应该对 1 sum 0 1 1000 each do n sum n n puts n n sum sum end 由于某种原因 在数字 28 之后输出为负值 n 29 sum 20154009777005735238923
  • 在表单视图中设置当前日期

    我想将当前日期放入表单视图 dateadded 中 但当我将其加载到浏览器中时它没有显示 我正在使用后台代码 但如何显示日期和时间 这是我后面的代码 using System using System Collections Generic
  • ShaderEffectItem 的奇怪 alpha 混合结果

    我正在尝试使用以下方法在 QML 项目上应用简单的 alpha 蒙版ShaderEffectItem 这是一个最小的 非 工作示例 我有一个从红到白的渐变作为背景 并且想要在其顶部绘制一个绿色的 200x200 正方形 该正方形的 alph
  • 使用 Java 通过访问者模式从 AST 构建控制流图

    我试图弄清楚如何实现我的 LEParserCfgVisitor 类 以便从已使用 JavaCC 生成的抽象语法树构建控制流图 我知道已经存在一些工具 但我正在尝试这样做 为我的编译器期末考试做准备 我知道我需要一个将图形保存在内存中的数据结
  • 重定向 stdio 时 Linux BASH 内存泄漏

    我有内存泄漏某处 但它似乎与我的程序无关 我做出这个大胆的声明是基于这样一个事实 一旦我的程序终止 无论是通过正常方式 段错误还是中止 内存都不会恢复 如果我的程序是罪魁祸首 我会认为 MMU 会恢复所有内容 但情况似乎并非如此 仅当我将
  • 如何在javascript中编写json文件

    好的 我正在使用 js 编写一个 Web 操作系统 我使用 JSON 作为文件系统 我已经在网上寻找有关 JSON 内容的教程大约一周了 但我找不到任何有关从网页编写 JSON 文件的内容 我需要在文件中创建新对象 而不是更改现有对象 到目
  • 缺少 mingwm10.dll

    我正在使用 Qt Creator 编写一个 C 项目 一切工作正常 调试 发布 但是当我直接运行编译后的 exe 转到 exe 文件并运行它 时 它说 mingwm10 dll 丢失 对于这个问题我能做什么 您可以执行以下操作 as cha
  • 本地主机上使用 DotNetOpenAuth 的 OpenID 提供程序

    我在本地运行 DotNetOpenAuth 示例提供程序 它似乎可以通过 Web 浏览器正确处理请求 我可以在调试器中单步执行授权处理程序 我有一个项目可以通过 Google 和其他提供商进行身份验证 但无法通过示例提供商进行身份验证 示例
  • 使用 VBA 将唯一编号添加到 Excel 数据表

    我有两列数字 它们在一起将是唯一的 复合键 我想创建一个唯一的 ID 号 第三列 类似于 MS Access 使用主键的方式 我想在 VBA 中执行此操作 但我不知道如何执行此操作 我的 Excel 中的 VBA 不太好 所以希望您能看到我