首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何调整代码以获得更好的性能

如何调整代码以获得更好的性能
EN

Stack Overflow用户
提问于 2013-01-23 21:52:21
回答 1查看 122关注 0票数 0

我正在尝试从excel文件中制作边缘关系,这些文件是按行组织的,

A,B,C,

D,E

目标是从每一行创建关系:

A、B

A、C

B、C

我有以下代码,问题是当行的长度相等时,代码是有效的,但例如,对于上面的行,它还创建了以下边(关系):

D,“”

E,“”

这给大数据集带来了很大的问题。我想知道是否有人可以帮助我调整代码,以创建边缘列表的方式,直到每行填充单元格。如果有其他更有效的方法,我将不胜感激。

太感谢你了,会对你有很大帮助的。

我的代码:

代码语言:javascript
运行
AI代码解释
复制
Sub Transform()

Dim targetRowNumber As Long
targetRowNumber = Selection.Rows(Selection.Rows.Count).Row + 2

Dim col1 As Variant
Dim cell As Range
Dim colCounter As Long
Dim colCounter2 As Long

Dim sourceRow As Range: For Each sourceRow In Selection.Rows

    For colCounter = 1 To Selection.Columns.Count - 1


        col1 = sourceRow.Cells(colCounter).Value
        For colCounter2 = colCounter + 1 To Selection.Columns.Count
            Set cell = sourceRow.Cells(, colCounter2)

            If Not cell.Column = Selection.Column Then
                Selection.Worksheet.Cells(targetRowNumber, 1) = col1
                Selection.Worksheet.Cells(targetRowNumber, 2) = cell.Value
                targetRowNumber = targetRowNumber + 1
            End If

        Next colCounter2

    Next colCounter

Next sourceRow

End Sub
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-25 09:56:02

我已经玩过了--这个应该能行得通。如果需要,我们可以通过输出到另一个变量数组来加快速度,但这对我来说运行得相当快:

代码语言:javascript
运行
AI代码解释
复制
Sub Transform_New()

Dim rngSource As Range, rngDest As Range
Dim varArray As Variant
Dim i As Integer, j As Integer, k As Integer

Set rngSource = Sheet1.Range("A1", Sheet1.Cells(WorksheetFunction.CountA(Sheet1.Columns(1)), 1)) 'Put all used rows into range
Set rngDest = Sheet1.Cells(WorksheetFunction.CountA(Sheet1.Columns(1)), 1).Offset(2, 0) 'Set target range to start 2 below source range

varArray = Range(rngSource, rngSource.Offset(0, Range("A1").SpecialCells(xlCellTypeLastCell).Column)).Value

For i = LBound(varArray, 1) To UBound(varArray, 1) 'Loop vertically through array
    For j = LBound(varArray, 2) To UBound(varArray, 2)    'Loop horizontally through each line apart from last cell
        k = j
        Do Until varArray(i, k) = ""
                k = k + 1
                If varArray(i, k) <> "" Then
                    rngDest.Value = varArray(i, j)
                    rngDest.Offset(0, 1).Value = varArray(i, k)
                    Set rngDest = rngDest.Offset(1, 0)
                End If
        Loop
    Next
Next

End Sub
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14490095

复制
相关文章
Mesos+Marathon对比Kubernetes
本文是我之前在技术选型时给团队做的一次分享内容,做了一次相对全面的关于Kubernetes 1.2 和 Mesos 0.28 + Marathon 1.2的对比, 其中有部分内容是它们特有的一些特性介
Walton
2018/04/13
1.2K0
Mesos+Marathon对比Kubernetes
marathon和mesos的zookeeper数据加密和验证
###zookeeper设置用户验证访问权限 ####首先你要弄明白zookeeper的验证 先给一个例子
domain0
2018/08/02
1K0
Mesos+Marathon+Docker构建docker集群化管理
由Docker引领的容器技术最近一年在生产环境叫嚣的比较厉害,由于Docker本身拥有的一些特性,使得越来越多的人愿意并且想尝试在生产环境构建Docker,有关docker相关的介绍可以看我去年发布的文章(http://my.oschina.net/xxbAndy/blog/493184 )。然而随着业务的规模不断扩大,对docker的管理和维护也对运维人员有一些挑战,使用一些开源的框架和服务满足互联网公司的基本需求是一种常见而高效的方式,本篇文章就简单介绍一下使用Mesos+Marathon来对docke
BGBiao
2018/02/26
1.8K0
Mesos+Marathon+Docker构建docker集群化管理
Mesos+Zookeeper+Marathon管理Docker(1)
.服务器信息:物理机10.1.44.35上的KVM虚拟机 名称IP服务单点10.1.44.69Mesos\Marathon\Deimos\Zookeeper\DockerMesos Master Node110.1.44.32Mesos\Marathon\Deimos\ZookeeperMesos Master Node210.1.44.50Mesos\Marathon\Deimos\ZookeeperMesos Master Node310.1.44.55Mesos\Marathon\Deimos\
早起的鸟儿有虫吃
2018/04/12
7290
如何使用Zookeeper+Mesos+Marathon搭建Docker集群管理平台
(2)添加apache-maven源 为Mesos提供项目管理和构建自动化工具的支持
星哥玩云
2022/07/25
6320
如何使用Zookeeper+Mesos+Marathon搭建Docker集群管理平台
mesos+marathon的端口占用问题 原
另外在mesos的agent上有一个resources的字段,里面也可以设置端口的范围 原则上应用首先按照marathon的配置进行端口随机划分,但是到了agent会根据具体的host上的情况,再次按照resources的设置分派并上报给marathon和mesos master (上面的结论是我猜的)
domain0
2018/08/01
4540
Mesos+Zookeeper+Marathon的Docker管理平台部署记录(1)
随着"互联网+"时代的业务增长、变化速度及大规模计算的需求,廉价的、高可扩展的分布式x86集群已成为标准解决方案,如Google已经在几千万台服务器上部署分布式系统。Docker及其相关技术的出现和发展,又给大规模集群管理带来了新的想象空间。如何将二者进行有效地结合?下面将记录使用Mesos+Zookeeper+Marathon+Docker分布式部署Paas云平台环境,其中: 1)Mesos:Mesos采用与Linux kernerl相同的机制,只是运行在不同的抽象层次上。Mesos kernel利用资源
洗尽了浮华
2018/01/22
2.7K0
Mesos+Zookeeper+Marathon的Docker管理平台部署记录(1)
Kubernetes vs. Mesos:选择容器编排工具
容器编排在今天风靡一时并不是什么大秘密。作为许多文章和会议的主题,它有时似乎是唯一值得讨论的话题。
February
2018/11/27
1.5K0
Mesos+Zookeeper+Marathon的Docker管理平台部署记录(2)--负载均衡marathon-lb
之前介绍了Mesos+Zookeeper+Marathon的Docker管理平台部署记录(1)的操作,多余的废话不说了,下面接着说下在该集群环境下的负载均衡marathon-lb的部署过程: 默认情况下,mesos marathon会把app发布到随机节点的随机端口上,当mesos slaves和app越来越多的时候,想查找某组app就变得困难。 mesos提供了两个工具:mesos-dns和marathon-lb,他们俩是mesosphere 官网提供的两种服务发现和负载均衡工具,其中: mesos-dn
洗尽了浮华
2018/01/22
1.5K0
Mesos+Zookeeper+Marathon的Docker管理平台部署记录(2)--负载均衡marathon-lb
Mesosphere要让数据中心管理像使用个人计算机
数据中心操作系统厂商Mesosphere希望可以让企业在数据中心运作分布式系统时,能够像运作一台个人计算机一样简单。在近日,Mesosphere也将DC/OS(DataCenter Operating System,数据中心操作系统)以开源形式释出。Mesosphere表示,想要变成软件定义的企业,可以使用DC/OS作为基础。DC/OS除了以Mesosphere为首外,同时还集结了超过60个企业伙伴。除了微软、思科、HPE等科技大厂外,Puppet、Chef及Datadog等DevOps厂商也没有缺席。 M
Rainbond开源
2018/05/31
4060
Mesos已死,容器永生
作者 | Tina “回顾过去,我认为 Mesos 的失败是种必然。” 4 月 7 日,Apache 宣布开始投票进程,准备将曾火极一时的 Mesos 项目移至 Attic 下。 Mesos 诞生于 2009 年,最初是伯克利大学的一个研究项目。它曾为分布式资源管理做出过一系列前沿贡献,据 Mesosphere/D2IQ 联合创始人回忆,“我们提出的 Mesos 是一套可跨越多个不同集群计算框架(类似于 Hadoop 与 MPI)实现商用集群共享的平台。”它的诞生甚至比 YARN 还早了几年,并于 201
深度学习与Python
2023/04/01
4570
Mesos已死,容器永生
DCOS之Marathon初识篇
Marathon是一个mesos框架,能够支持运行长服务,比如web应用等。是集群的分布式Init.d,能够原样运行任何Linux二进制发布版本,如 Tomcat Play等等,可以集群的多进程管理,实现服务的发现,为部署提供提供REST API服务,SSL与基础认证、配置约束,通过HAProxy、DNS实现服务发现和负载平衡,可定制化监控策略实现Task(一个App对应多个Task)的自动扩缩,Dcos架构与操作系统架构对比如图1.1所示。
zouyee
2021/02/01
5190
DCOS之Marathon初识篇
『高级篇』docker之服务编排了解Mesos(22)
Mesos是Apache下的开源分布式资源管理框架,它被称为是分布式系统的内核。Mesos最初是由加州大学伯克利分校的AMPLab开发的,后在Twitter得到广泛使用。 初见 http://mesos.apache.org/ 在你的数据中心 运行数据(很多台数据的集合),就像运行在单个的资源池一样 Mesos 抽象出来CPU,内存,磁盘和其他计算机资源从物理机或者虚拟机中,使具有容错的和可伸缩的系统更容易的构建和简单的运行。如果是没有基础的老铁,可能是认为是直接把服务器的硬件插拔出来重新组建一台新的机器,
IT架构圈
2018/11/30
5690
『高级篇』docker之服务编排了解Mesos(22)
为什么你的私有云可以很像PaaS?
在IT界数年针对私有云架构的优点的不断的争论之后,一个切实可行且企业可用(enterprise-ready)的私有云架构终于来到了我们面前。并且与其它在过去的一个世纪出现的技术方案不同,它已经在世界上的一些巨头公司,和采用先进技术的最多的公司里都证明了自己的价值。 重要的是,我们指的不是IaaS。到目前为止IaaS方案已经被尝试过太多次,难以统计,并且还没有怎样扩散开来。不断的有初创公司尝试然但无功而返,也不乏大公司步其后尘 - 包括像OpenStack这样的项目 - 结果却未能将私有的IaaS打造成为一个
静一
2018/03/22
2.6K0
为什么你的私有云可以很像PaaS?
通过Shodan发现目标应用Marathon服务的RCE漏洞
大家好,今天要和大家分享的是,作者在Shodan搜索中发现某应用系统Marathon服务的无需密码验证bug,进一步提权形成RCE漏洞。作为一名开发工程师,作者通过发现该漏洞得到的经验是:在做漏洞众测时,具备一定的开发背景经验非常重要,if you know how something works, you might be able to break it,只有了解目标应用的工作机制,才能有效地发现它存在的问题。最终作者凭借该漏洞获得厂商上万美金的奖励。
FB客服
2019/10/10
9880
通过Shodan发现目标应用Marathon服务的RCE漏洞
大家之前是不是误解了DC/OS与Kubernetes之间的关系
DC/OS 与 Kubernetes 本篇文章将主要介绍“Kubernetes on DC/OS”的实现机制与优势,不会就Mesos与Kubernetes的架构与技术细节做过多的展开。关于Mesos与DC/OS的具体功能细节,大家可以关注本公众号,本公众号后续会陆续推送不同类型的技术文章,这些文章将包括Mesos以及DC/OS的架构介绍、技术原理与实现方式,以及微服务、分布式应用、大数据平台、AI平台在DC/OS平台之上运行的最佳实践。 随着容器技术快速地发展与不断的成熟,与容器相关的生态体系也在不断地丰富
企鹅号小编
2018/01/19
1.2K0
大家之前是不是误解了DC/OS与Kubernetes之间的关系
微服务架构开发实战:如何实现微服务的自动扩展?
前面讲了一些关于自动扩展的理论知识,但如何实现自动扩展,并不是三言两语就能够说得清楚的。特别是为了实现前面提到的那些自动扩展的模式及策略,在操作系统级别方面会需要大量的执行脚本。在自动扩展方面,SpringCloud框架也并没有给出确切的答案。
愿天堂没有BUG
2022/10/28
8160
微服务架构开发实战:如何实现微服务的自动扩展?
「容器云平台」Mesos 和 Kubernetes的比较
我们将评估这种系统的期望特性。在此基础上,我们将尝试比较目前使用的两个最流行的容器编排系统Apache Mesos和Kubernetes。
架构师研究会
2020/11/24
3.7K0
「容器云平台」Mesos 和 Kubernetes的比较
『高级篇』docker之Mesos调整微服务(25)
上次已经搭建了mesos的集群环境,这次看看如何把mesos运行在集群之上,首选需要考虑的问题服务的发现,之前用docker-compose是如何在同一台机器上做的,是不是通过link的名称,link的前提就是需要在同一台主机上,我们当时是在同一台虚拟机上,通过link服务让他们都运行起来,通过名字就可以互相的访问,我们在代码的配置上,也是通过名字让他们彼此之间可以相互的访问,但是现在的情况,我们有2台slave,1台master,我们运行其中任何一个配置的时候都有可能分配到slave中的一个,所以用doc
IT架构圈
2018/12/05
5840
点击加载更多

相似问题

使用cobertura的声纳插件配置

22

定制maven校验式插件

22

cobertura插件与FindBugs的冲突

33

在声纳校验式插件中使用@SuppressWarnings

22

Maven FindBugs插件

40
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

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