使用用户窗体中的数据将值从一张纸复制到另一张纸

2024-04-07

我有一个用户表单,其中包含您可以填写的以下值:

TextBoxLopnummer.Value
TextBoxFragestallare.Value
TextBoxMottagare.Value
TextBoxDatum.Value

Picture:

当有人填写日期值时:TextBoxDatum.Value我想在整个工作簿中搜索该值,并将该单元格所在的整行粘贴到工作表“Lägg in ärende”单元格 A15 内。请注意,该值可以位于工作簿中的不同工作表中,并且可以在同一工作表内多次出现。因此,在单元格 A15 及以下单元格中可以有很多行。

我已经开始实施这一点,但老实说我不知道​​如何完成它:

'in the rows below I wanna write so that ".Value=copies the value from the sheets where it finds eg. the date".
emptyRow = WorksheetFunction.CountA(ws.Range("A:A")) + 14
Cells(emptyRow, 1).Value =
Cells(emptyRow, 2).Value =
Cells(emptyRow, 3).Value =
Cells(emptyRow, 4).Value =
Cells(emptyRow, 5).Value =
Cells(emptyRow, 6).Value =
Cells(emptyRow, 7).Value =
Cells(emptyRow, 8).Value =

请注意,您可以同时搜索多个日期,您可以根据 4 个条件进行搜索,请参见上图。当您填写 2 个条件时,代码应将这两个条件与整个工作簿中具有相同条件的行进行匹配,并复制该行等。

此外,TextBoxLopnummer 将始终位于单元格 A2 中,并在其被搜索的工作表中向下。TextBoxFragestallare 位于单元格 B2 中,TextBoxMottagare 位于单元格 C2 中,TextBoxDatum 位于单元格 D2 中。

我怎样才能继续解决我的问题?


这将使您大部分完成您想要做的事情。根据您原来问题中的评论,我相信这就是您所需要的。

Process:

  • 在用户窗体代码上为搜索按钮添加一个单击事件。在示例中,它是 Button1。根据自己的需要命名。

  • 每次运行前清除目标表(每个请求)

  • 从文本框值设置一个数组,其中每个值的索引与要搜索的列号匹配

  • 循环遍历每个工作表(目标工作表除外)。

  • 一次一行,将相应列的值与与其匹配的数组索引进行比较。

  • 如果找到匹配项,则“match”变量设置为 true

  • 循环遍历数组中的其余文本框值,如果其中任何一个不匹配,则“match”变量设置为 false,并以失败的方式中断对文本框的循环。

  • 如果在搜索工作表的 ROW 循环结束时“match”为 true,则循环遍历第 1 至 8 列,将搜索工作表中的值设置为目标工作表。

  • 下一行完成循环

  • 下一个工作表完成循环

可能要检查的问题:

  • 您可能需要对日期进行一些转换,但如果工作表上的日期与用户表单上的日期格式相同,那么它应该可以工作。

  • 如果工作表中的文本具有 0.0 或不同的小数位,则数字可能会出现类似的问题。

  • 如果发生任何此类问题,只需使用本地窗口并逐步执行代码以查看其执行情况。您收到的类似错误可能是类型不匹配。通过使用“本地”窗口进行调试,您将知道哪些特定值需要格式化才能与文本框进行比较。如果单步执行时间太长,请设置断点。

未经测试:有问题评论。

Private Sub button1_click()

Dim ws As Worksheet
Dim lastRow As Long, lRow As Long, tRow As Long
Dim tempValue As String
Dim targetSheet As String
Dim tempList(1 To 4) As String
Dim i As Long
Dim match As Boolean

match = False

'Set TargetSheet and clear the previous contents
targetSheet = "Lägg in Ärende"
tRow = 15
lastRow = Sheets(targetSheet).Range("A" & Rows.count).End(xlUp).row
Sheets(targetSheet).Range("A15:H" & lastRow).ClearContents

'Set an array of strings, based on the index matching the column to search for each
tempList(1) = TextBoxLopnummer.Text       'Column "A" (1)
tempList(2) = TextBoxFragestallare.Text   'Column "B" (2)
tempList(3) = TextBoxMottagare.Text       'Column "C" (3)
tempList(4) = TextBoxDatum.Text           'Column "D" (4)

    'Search through each worksheet
    For Each ws In Worksheets
        If ws.name <> targetSheet Then
            'Get last row of sheet
            lastRow = ws.Range("A" & Rows.count).End(xlUp).row

            'Search through the sheet
            For lRow = 2 To lastRow
                'Using the array of values from the TextBoxes,
                'Each column number matches the index of the array.
                'Only testing the array values that have text in them,
                'If any don't match the loop is broken and returns to main search.
                For i = 1 To 4
                    If tempList(i) <> "" Then
                        If ws.Cells(lRow, i).Text = tempList(i) Then
                            match = True
                        Else
                            match = False
                            Exit For        'If any of the values is false, exit i loop
                        End If
                    End If
                Next i

                'If there was a match, copy the data from Searched ws to targetSheet
                If match = True Then
                    'Get the first Empty row on target sheet
                    For lCol = 1 To 8
                        Sheets(targetSheet).Cells(tRow, lCol).Value = ws.Cells(lRow, lCol).Value
                    Next lCol
                    tRow = tRow + 1
                End If
            Next lRow
        End If
    Next ws

End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用用户窗体中的数据将值从一张纸复制到另一张纸 的相关文章

  • 我需要使用 VBA 将数据从 Excel 插入 SQL Server

    我需要插入test vba xlsx将数据写入 SQL Server 到特定数据库 Sub insertion Dim conn As ADODB Connection Dim rs As ADODB Recordset Dim sConn
  • excel公式剥离html

    我想从文本值的左侧和右侧剥离所有 html 我有这个
  • 在 Access VBA 中获取 Combobox.Value

    我有这个代码 If Me Combobox Value My Text Then 然而 由于我想测试 我的文本 是否是唯一选择的值 因此跳过了条件 我也尝试过 Me Combobox Column 1 and Me Combobox Tex
  • vba Excel 中的多个查找请求(在查找中查找)

    我正在尝试执行一种嵌套查找请求 用例是我需要在一个工作表上查找组 如果找到 则从找到的行中的单独列中获取用户 ID 值 然后在另一张纸 然后它应该执行一系列操作 然后在第一张表中找到下一个出现的组 我的代码是 LookupGroup Spl
  • 如何从Excel调用VBA函数

    我有一个 excel 文件 我必须在其中放置验证规则 我有一个单元格表示 客户时间 用户可以在其中输入时间 但它是自定义时间 用户可以这样输入时间 23 45 98 20 100 30 用户不能输入字符串 并且不能输入除冒号之外的特殊字符
  • 使用Excel宏执行命令并关闭cmd窗口

    这是我现在正在尝试的 Sub del BJSFM files Call Shell cmd exe S K cd d C UTAS SA del f s q BJSFM gt nul vbNormalFocus End Sub 问题是命令窗
  • 随着数据的增加自动填充公式并动态排序[重复]

    这个问题在这里已经有答案了 我想对工作表中的数据进行排序 该工作表每天都会在第二个工作表中获取新行 问题是 如果我使用 SMALL 函数并自动填充单元格直到最后一行 A102482 或类似的内容 我的文件会变得非常巨大且滞后 gt 20mb
  • 在Excel中过滤后打印可见区域的宏

    我有一个根据过滤表的宏column A价值观 现在我想打印only过滤器后的可见行 但遗憾的是它打印了所有行 包括过滤期间隐藏的顶部和底部行 在我的工作表中 有来自的数据Column A I 但打印区域只能是Columns C I 过滤后的
  • MS Office SaveAs 类型 FileDialog 在 vb 中带有过滤器

    我想创建一个带有过滤器的 另存为 文件对话框 但这似乎无法使用 FileDialog 类 Microsoft Office 12 0 对象库 实现 文档实际上提到了这一点here http msdn microsoft com en us
  • VBA按空格分割字符串

    我想要一个 Excel 函数 我可以调用该函数并将单元格传递到其中 输入 Firstname Lastname email protected cdn cgi l email protection Firstname midname Las
  • Excel 公式或 VBA:在具有 2 列条件的单独表中查找匹配的地址 - 无辅助列

    我需要公式结构方面的帮助 我有2张桌子 我想找到 a 列和 b 列相等的匹配项并获取表 2 中的地址 它们将是唯一的条目 例如 项目信息表 A B C 1 Name Company Project 2 Chris Evans Apple I
  • 在没有加载项的情况下加载 Excel

    All 我编写了一个电子表格应用程序 用户通过双击我提供的图标来加载它 问题是用户有很多插件 这会降低 Excel 的速度 如何使用命令行开关加载 Excel 来禁用所有加载项 该问题适用于 Excel 2003 和 Excel 2007
  • 如果单元格包含 1 个或多个关键字,则更改不同单元格的值

    我有一个列 其中包含一些字符串描述 例如 Bob davids mowing the lawn tipping cows 此外 我将在不同的工作表或列上列出关键字列表 例如工作关键字列表1 davids work 播放关键字列表 mowin
  • 如何从包含许多表的 Excel 工作表中解析数据帧(使用 Python,可能使用 Pandas)

    我正在处理布局糟糕的 Excel 工作表 我正在尝试解析这些工作表并将其写入数据库 每个工作表可以有多个表 尽管这些可能的表格的标题是已知的 但哪些表格将位于任何给定的工作表上 它们在工作表上的确切位置也不是已知的 表格不以一致的方式对齐
  • 解析未完全加载 VBA 的网站

    尝试进行简单的网络解析 我的问题是页面在向下滚动之前无法完全加载 谷歌搜索已经提出可能使用硒 但由于我不知道如何使用它 我想我会在这里问 我使用的代码 Sub gfquote Dim oHttp As MSXML2 XMLHTTP Dim
  • 用于更新 Word 文档中所有字段的宏

    多年来 我构建了一个 vba 宏 该宏应该更新 Word 文档中的所有字段 我在发布文档进行审查之前调用此宏 以确保所有页眉和页脚等均正确 目前 它看起来像这样 Sub UpdateAllFields UpdateAllFields Mac
  • VBA C# DLL 未注册

    我制作了一个 C NET dll 我想从 VBA 运行它而不注册它 我找到了解决方案there https stackoverflow com a 13333819并且它可以完美工作 但前提是程序集是使用 Framework NET 3 5
  • 从嵌入的谷歌地图中提取标记坐标

    对此还很陌生 所以请耐心等待 我需要从嵌入的谷歌地图中提取标记坐标 示例链接是http www picknpay co za store search http www picknpay co za store search我想提取搜索时地
  • 在 Django(Python) 中向用户提供 Excel(xlsx) 文件下载

    我正在尝试使用 Django 创建和提供 Excel 文件 我有一个 jar 文件 它获取参数并根据参数生成 excel 文件 并且它可以正常工作 但是 当我尝试获取生成的文件并将其提供给用户下载时 文件损坏了 它的大小为 0kb 这是我用
  • alasql 需要已包含的 xlsx

    我正在尝试使用将数据导出到 Excel 工作表alasql and xlsx 我已遵循此处的所有准则 https github com agershun alasql wiki Xlsx https github com agershun

随机推荐

  • 代码镜像。禁用垂直滚动条

    我目前正在使用 CodeMirror 在浏览器的文本区域中编辑代码 如果我有超过 20 行代码 它会在右侧添加一个垂直滚动条 但我不需要这个滚动条 相反 我需要编辑器大小垂直增长 有人可以帮忙吗 在 CodeMirror 3 中 有一个选项
  • 带复选框的嵌套对象 - 即使使用 Accept_nested_attributes_for 也可以进行批量分配?

    我认为应该有一个简单的解决方案来解决这个问题 因为 Rails 2 3 具有这种新奇的嵌套表单功能 基本上我想创建或更新用户并同时为他们分配角色 似乎我做的一切都是正确的 但我收到了错误警告 无法批量分配这些受保护的属性 roles atr
  • 椭圆曲线上的点数

    如果您有以下形式的椭圆曲线 y 2 x 3 a x b mod p 有没有一个好的程序来计算这条曲线上的点数 我已经阅读过有关 Schoof 和 Schoof Elkies Atkin SEA 算法的信息 但我正在寻找开源实现 有谁知道一个
  • “工具提示”不能有逻辑或视觉父级

    我有以下问题 当我尝试为切换按钮设置工具提示样式时 我不断收到 工具提示 不能有逻辑或视觉父错误 什么地方出了错 当我取出 ToggleButton ToolTip 下的工具提示控件时 它可以工作
  • 如何在 Windows 上将 Ruby 添加到 PATH 变量?

    我已经安装了 Ruby 但仍然需要将其添加到 PATH 变量中 我在网上找到了一些关于如何使用命令行手动添加它的信息 set PATH C Ruby200 x64 bin PATH 但在尝试之前 我想确保它不会覆盖 PATH 变量中当前的内
  • 打印后出现奇怪的分段错误

    写了一个简单的交换程序 效果很好 但给出了一个分段故障打印完所有内容后 include
  • WIX 3.9 及更高版本的自定义操作 RegisterComPlus 发生错误

    在 Microsoft 我们长期以来一直使用 WIX 工具集版本 3 5 2519 0 来为我们名为 System Center Service Manager 又名 SCSM 的产品构建安装程序和补丁 最近我们需要更新到 WIX Tool
  • 如何消除混淆矩阵中的白线?

    有谁知道为什么这些白线将我的混淆矩阵分成四部分 我已经更改了许多参数 但无法弄清楚 唯一让它们消失的是如果我根本不标记这些块 即 0 1 但这显然不是我想要的 任何帮助 将不胜感激 Code def plot confusion matri
  • 识别录制声音中的音符 - Python [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想知道是否可以使用 Python 从录制的声音中提取一系列音符 这是我第一次考虑使用 Python 来完成此任务 帮助真的很棒 您想
  • 如何在任何/所有电子表格上使用 Google Apps 脚本?

    我正在尝试使用 Google Apps 脚本实现电子表格应用程序 但我有几个问题不符合我的要求 我研究了这些问题 但未能找到答案或更好的替代方法来实现此功能 要求 编写可管理 可测试的代码 不是将脚本下载到每个电子表格中 而是以某种方式在安
  • Wicket 重定向:如何传递参数并保持 URL“漂亮”?

    考虑一个重定向到另一个页面的 Wicket 网页 基于此处省略的一些逻辑 public class SomePage extends WebPage public SomePage PageParameters parameters set
  • Python ElementTree find() 在 kml 文件中不匹配

    我正在尝试使用元素树从 kml 文件中查找元素 如下所示 from xml etree ElementTree import ElementTree tree ElementTree tree parse history 03 02 201
  • 为什么在构建视图时要指定数据上下文类?

    当使用下图所示的 添加视图 对话框向 ASP NET MVC 5 项目添加新视图时 我被邀请选择一个模板和一个模型类 这使我能够快速生成一个表单来创建模型的新实例或显示模型属性的视图 但是视图为什么要关心数据上下文类是什么 在我的项目中 无
  • 在 ActionCable 中未找到订阅类“MyChannel”

    我在使用 Action Cable 时遇到问题 每当我运行程序时 我都会收到一条错误消息 Subscription找不到类ConversationChannel 当我尝试发送消息时 我收到此日志 成功升级到WebSocket REQUEST
  • 二维码回车

    如何在 QR 条形码中编码回车符 例如 如果我用 Android 扫描它 它就会出现 A B C 我努力了A d013B d013C等等 但它总是显示转义字符 在我发现的其他方法中 这些方法似乎都不起作用 您只需将正确的字节序列放入 QR
  • 正则表达式中的负向前瞻以排除 R 中的百分比 (%)

    我希望提取具有任意小数的数字 小数点两边至少各有一个数字 但是not模式后跟百分比 因此 我相信我需要一个负前瞻 这样它就可以看到数字后面是否有百分号 为了清楚起见 我想提取 123 123 但不想提取 123 123 我尝试了十几种语法安
  • 如何在tcl中搜索数字即进程ID并杀死进程ID

    我尝试搜索存储在变量 say 缓冲区中的进程 id i e 6762 nohup tcpdump ni eth0 s0 2 gt 1 null 1 6762 You have new mail in var mail root 如果匹配的话
  • 参数类型“对象?”无法分配给参数类型“Map

    我在以下行 var map Map from snap snapshot value 中的 snap snapshot value 参数上出现错误 错误是 参数类型 对象 无法分配给参数类型 Map class HomePageState
  • 用于调整图像大小和创建缩略图的 ImageMagick 或 GD 库?

    我一直在使用其他人编写的图像调整大小类来调整图像大小或创建缩略图 这是我一直在使用的类的链接 http www white hat web design co uk articles php image resizing php http
  • 使用用户窗体中的数据将值从一张纸复制到另一张纸

    我有一个用户表单 其中包含您可以填写的以下值 TextBoxLopnummer Value TextBoxFragestallare Value TextBoxMottagare Value TextBoxDatum Value Pictu