Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >连接两个工作表;第一个工作表包含一个范围列表,第二个工作表包含可能在第一个工作表范围内的数据。

连接两个工作表;第一个工作表包含一个范围列表,第二个工作表包含可能在第一个工作表范围内的数据。
EN

Stack Overflow用户
提问于 2015-06-15 14:08:51
回答 1查看 49关注 0票数 0

我正在把两个excel工作表结合起来。在开始之前,我想提到我也有mysql工作台,所以我愿意在sql或vba中处理这个问题(我应该同时学习两者)。我正在处理.bed文件,这些文件是基因组坐标的列表。简而言之,数据是以染色体数(即:chr2 2)为索引的,然后在染色体上有一个数字的开始和停止位置。这些数字位置可以跨越很大的范围(即:100-10,000),也可以是单个位置(即: 999-1000)。我有一个大范围的坐标列表,在一个单独的文件中,我有一个单一位置的列表。

具有范围的文件示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
chromosome    start   stop
chr1          4561    6321
chr3          9842   11253

具有单个位置的文件示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
chromosome   start   stop
chr1          5213   5214
chr3          10254  10255

我希望将这些工作表组合起来,以便如果在我的范围列表中的范围内找到了我的单职位列表中的位置,则这两个位置都将在同一行中列出。列表是1000 s的位置长,所以我也希望这个程序循环每一行。使用上面列出的示例数据,我希望输出如下所示:

期望输出的示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
chromosome  start   stop  chromosome  start  stop
chr1         4561   6321    chr1      5213   5214
chr3         9842  11253    chr3     10254  10255

有一个很大的可能性,多个单一的位置将在一个范围内,我希望这些被列为单独的行。

我很感激我能得到的任何帮助!提前谢谢你。我渴望学习!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-15 17:19:07

下面是一个基本大纲,它查询两个表,分别命名为“Range”和“Position”,并在一个名为“结果”的工作表上输出结果。

输入表应该有标题,并从左上角单元格(A1)开始。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Sub SqlJoin()

    Dim oConn As New ADODB.Connection
    Dim oRS As New ADODB.Recordset
    Dim sPath
    Dim sSQL As String, wb As Workbook

    Set wb = ThisWorkbook

    sSQL = " select a.chromosome, a.start, a stop," & _
            " b.chromosome, b.start, b.stop " & _
            " from <ranges_table> a, <positions_table> b" & _
            " where b.start >= a.start and b.stop <= a.stop"


    sSQL = Replace(sSQL, "<ranges_table>", _
           Rangename(wb.Worksheets("Ranges").Range("A1").CurrentRegion))

    sSQL = Replace(sSQL, "<positions_table>", _
           Rangename(wb.Worksheets("Positions").Range("A1").CurrentRegion))

    If wb.Path <> "" Then
      sPath = wb.FullName
    Else
      MsgBox "The workbook must be saved first!"
      Exit Sub
    End If

    oConn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" & sPath & "';" & _
                 "Extended Properties='Excel 12.0;HDR=Yes;IMEX=1';"

    oRS.Open sSQL, oConn

    If Not oRS.EOF Then
        wb.Worksheets("Results").Range("A2").CopyFromRecordset oRS
    Else
        MsgBox "No records found"
    End If

    oRS.Close
    oConn.Close

End Sub

Function Rangename(r As Range) As String
    Rangename = "[" & r.Parent.Name & "$" & _
                r.Address(False, False) & "]"
End Function
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30855809

复制
相关文章
将一个工作表拆分为多个工作表
最近已经不止一次被人问到:怎么将一个工作表拆分为多个工作表?一般这样的需求,是因为将1-12月的数据写在了一个工作表上,而现在又想将它拆分为12个单独的工作表,每个工作表单独一个月份.总结了一下,文艺
但老师
2022/03/22
4.4K0
将一个工作表拆分为多个工作表
python合并工作表 VS excel合并工作表,看看合并工作表哪家强!
在日常办公工作中,我们可能会碰到多个或者几百上千个数据结构都相同 sheet工作表需要你进行合并汇总。而excel和python都能进行工作表的合并,那你知道他们两个的操作谁更为好用的吗?今天就分别介绍excel和python合并工作表的方法,看看合并工作表那家强!
Python与Excel之交
2021/08/05
1.6K0
自动合并工作簿中各工作表数据
合并多表数据是工作中常见的情形。本文介绍一种在Excel及Power BI中不使用任何公式,快速合并一个工作簿中多个工作表的方法。
wujunmin
2021/09/07
1.6K0
自动合并工作簿中各工作表数据
常用功能加载宏——多个工作表合并到一个工作表
把数据复制到一个工作簿后,一般我们还需要进行数据处理,而数据处理要在一个工作表才方便,所以把多个工作表的数据复制到一个工作表再进行数据处理也会经常碰到:
xyj
2020/07/28
1.7K0
常用功能加载宏——多个工作表合并到一个工作表
Java保护Excel工作簿和工作表
出于安全原因,你可能需要保护整个工作簿或工作表。 有时,你甚至可能还需要保护某个工作表,但却保留指定的单元格进行编辑。 本文将介绍如何使用Free Spire.XLS for Java来实现这些操作。
崔笑颜
2020/06/08
1.5K0
使用VBA合并工作表
从多个Excel工作表(子工作表)中获取信息,并用子工作表中的所有数据填充汇总工作表(父工作表),这是很多朋友会提到的常见要求。如果部分数据是从添加新工作表到工作簿中而增长的,那么获得这些数据的汇总非常方便,例如,添加单独的工作表,包含新月份的数据。
fanjy
2022/11/16
1.9K0
使用VBA合并工作表
Excel破解工作表保护
宏运行 Public Sub Password_cracking() Const DBLSPACE As String = vbNewLine & vbNewLine Const AUTHORS As String = DBLSPACE & vbNewLine & _ "" Const HEADER As String = "Password_cracking" Const VERSION As String = DBLSPACE & " Version 1.0"
步履不停凡
2019/09/11
9120
Worksheet工作表对象方法
两段代码中activate和select方法的结果相同。都是将workshets(1)工作表对象激活。
无言之月
2019/10/13
2.2K0
Worksheet工作表对象基础
大家好,前面介绍了最常用的单元格Range对象,本节开始介绍Worksheet工作表对象的相关内容(基础内容已有涉及),后续会再分别介绍它的属性、方法以及事件等内容。
无言之月
2019/10/13
2.6K0
Worksheet工作表对象属性
大家好,本节主要介绍工作表对象的相关属性。上节大部分已经涉及到,下面主要汇总复习下。
无言之月
2019/10/13
2.8K0
使用VBA基于列表移动工作表
问题:工作簿中有一个汇总(Summary)工作表,它需要计算开始(Begin)工作表和结束(End)工作表之间的所有工作表中的数据,如下图1所示。
fanjy
2022/11/16
9330
使用VBA基于列表移动工作表
Power Query提取并合并工作表指定范围
合并多表数据是常见的数据处理工作之一。无论大小公司,难免会遇到需要手工收集一些数据信息,可能是临时性的,也可能IT系统没有架设好的缘故。手工报表的最大特点是:存在一定的不规范性,给整合带来困难。
wujunmin
2021/09/07
1.9K0
Power Query提取并合并工作表指定范围
VB.NET Excel操作类(获取工作簿列表和工作表列表及工作表对象)
效果展示 引用excel类 Imports Microsoft.Office.Interop Excel类代码开始 Public Class Cls_excel 返回Excel对象
办公魔盒
2019/12/03
2.6K0
VB.NET Excel操作类(获取工作簿列表和工作表列表及工作表对象)
使用VBA将图片从一个工作表移动到另一个工作表
今天跟大家分享的技巧来自thesmallman.com,一个分享Excel技巧技术的网站。
fanjy
2022/11/16
4K0
使用VBA将图片从一个工作表移动到另一个工作表
Excel技术:如何在一个工作表中筛选并获取另一工作表中的数据
问题:需要整理一个有数千条数据的列表,Excel可以很方便地搜索并显示需要的条目,然而,想把经过提炼的结果列表移到一个新的电子表格中,不知道有什么好方法?
fanjy
2022/11/16
18.6K0
Excel技术:如何在一个工作表中筛选并获取另一工作表中的数据
VBA实战技巧29:从一个工作表复制数据到另一个工作表
今天演示一个简单的例子,也是经常看到网友问的问题,将一个工作表中的数据复制到另一个工作表。
fanjy
2021/07/30
25.6K1
VBA拆分工作表代码
    Set Dic = CreateObject("scripting.dictionary")
但老师
2022/03/22
1.2K0
Excel事件(二)工作表事件
大家好,上节介绍了excel事件的基础知识,后面就按照事件的分类来介绍,本节将首先介绍vba程序开发中最常用的工作表事件。
无言之月
2019/10/13
3.6K0
给Excel工作表建立目录
有时候我们会在一个工作簿中建立很多工作表,怎样才能简单明了的管理工作表呢,当然能建一个目录最好了,这里我们就学习一种给工作表创建目录的方法。 1、在工作簿中新建一个工作表,命名为“目录”。 2、单击B
用户1756920
2018/06/20
1.6K0
从工作表函数到DAX!
👆关注“博文视点Broadview”,获取更多书讯 作者:ExcelHome创始人周庆麟 来源:《DAX权威指南》推荐序 在ExcelHome技术论坛上,经常会有这样的讨论话题:你希望下一个版本的Excel增加什么功能? 在2006年以前,很多人都说,希望Excel能提高单表处理数据的数量上限,最好能像Access那样可以建立多表查询。 自Excel 2007问世后,单表处理数据的量,从65,536行增加到了1,048,576行。 于是,很多人表示相当满意,但还是有一些人表示,只是简单增加单表的行数不够
博文视点Broadview
2023/05/06
1K0
从工作表函数到DAX!

相似问题

根据工作表中包含的数据连接重命名工作表

21

从包含工作表名称的列表中隐藏工作表?

21

Excel工作表POI工作簿已经包含工作表

11

加载包含openpyxl的工作表,忽略包含透视表的其他工作表

17

每个工作表的VBA仅在第一个工作表上工作

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文