Tag: excel vba

带文本variables的macros改变列

macros很好,直到文字的位置改变列。 我使用“查找”文本string,然后想要将光标向右和向下移动2,然后将数据复制到另一个工作表。 该macros很好地工作,直到文本string在后续的电子表格中移动。 如何根据find的文本string将选定范围变为可变的? 在下面的例子中,我如何获得Range("H7:H180").Selectvariables? Range("A1").Select Cells.Find(What:="reg", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _ xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _ , SearchFormat:=False).Activate Range("H7:H180").Select

按一列对多列进行sorting

我在Excel中制作了一个三列的电子邮件列表。 在工作表上,我有两个button,“按名称sorting”和“按添加datesorting”。 我想按所选button对所有三列进行sorting,这样我可以更快地find条目(以后我还会input一个单独的查找函数)。 基本上,我想要在工作表中已经在工具栏上的sortingfunction,你可以按它,它知道哪个列已经sorting。 我已经看到macros和VBA的东西,但所有这些都是由单独的参数sorting列,而我需要这些列链接。

插入sendToBack图像后

我有一个正在处理插入照片的代码,但我不能发回它。 我已经尝试从这个职位复制行.ZOrder,但我正在与对象不操作.. 这里是我的代码: Private Sub CommandButton13_Click() Dim p As Object Dim rng0 As Range Dim sh As Worksheet: Set sh = ActiveSheet Set rng0 = Range("Q3:S5") Application.ScreenUpdating = False If UserForm1.txtImage = "" Then rng0.Borders(xlEdgeBottom).LineStyle = xlContinuous Exit Sub Else sh.Range("Q3:S5").Merge Set p = sh.Pictures.Insert(UserForm1.txtImageBackground) sh.Shapes(p.name).LockAspectRatio = False If rng0.Cells.Count = 1 Then Set rng0 […]

在excel vba中为另一个工作簿制作function专用

首先,我的英语很抱歉。 我还在学习….我想知道如何使一些function或模数不可用的另一个工作簿。 相比之下,我需要将这些function公开于工作簿内的所有模数。 我让自己清楚? 例如:我需要打开两个包含具有相同名称的函数的工作簿,但是这些函数执行的操作有点不同。

HYPERLINK即使缩短Bitly也找不到长链接

使用Excel VBA,我使用Bitly API来缩短长链接。 macros运行完美,我可以将所有的长链接转换为短链接。 现在,当我复制/粘贴这些链接到浏览器,他们工作正常,例如http://bit.ly/1FVcuRx但是当我用它们: =HYPERLINK(A1, 2) 其中A1 = http://bit.ly/1FVcuRx ,然后我点击它,它的错误:“找不到[某个文件,本地目录]”。 我不知道如何使其工作,因为链接工作正常,但超链接不起作用。 另外,我注意到一点,对于较短的链接(less于255个字符),当我运行macros时,Bitly链接正常工作与HYPERLINKfunction。

由于实时数据更新,工作表正在大幅增长

我有电力阅读设备,可以更新从服务器每秒的功率变化到Excel工作表。 我正在运行一个Java程序,它可以访问这个实时数据用于我的调度目的,但是当我访问Excel时,我只需要最后更新的数据。 由于数据每秒都在更新,Excel工作表正在大幅增长。 有没有什么方法可以在Excel工作表或任何工具的帮助下编程删除超出特定限制的所有旧数据,同时保存最近十次左右的最新更新读数(我不想当我的程序试图访问最后一行数据时,任何时候都会返回null – 所以Excel中总是有读数)?

比较不同页面上的列

我在Sheet1中列A的帐号数量是可变的,我想在Sheet2列A中将它们与可变数目的帐号进行比较。 我想整理sheet3上的两列,但不重复帐户号码。 所以基本上: 工作表Sheet1: A1 a3334 a4455 a76655 Sheet2中: A1 a4455 a76655 a3024 a53525 那么sheet3最终会看起来像: 表Sheet 3: A1 a3334 a4455 a76655 a3024 a53525 提前致谢。

Excel VBA:从集合中检索自定义对象

我有一个Person对象,包括姓,名和部分。 这些商店在Excel表中的列,但我需要提取这些并将它们作为Person对象的集合传递。 我可以创build对象,显然将其中的39个添加到集合中,但是当我对集合进行foreach时,我什么也得不到。 我有debug.print似乎显示单个对象正在创build好,但是当我打印出检索到的对象时,我得到39行的空白。 Public Function PeopleList() As Collection Set PeopleList = New Collection Dim newPerson As Person Set newPerson = New Person 'hide active sheet and go to sheet holding class information SwitchSheets lastLine = GetFirstFreeLine(SHEETNAME, 1) For x = 2 To lastLine newPerson.idNumber = Worksheets(SHEETNAME).Cells(x, 1) newPerson.Forename = Worksheets(SHEETNAME).Cells(x, 2) newPerson.Surname = Worksheets(SHEETNAME).Cells(x, […]

公式复制下来时,将行参考向下移动一行

问题:当我复制Excel公式它正是我所要求的,它复制它。 不过,我想要它添加一个行,所以如果公式是=A1我希望它变成=A2等等。 码: Worksheets("Portal").Cells(i, j).Formula = Worksheets("Portal").Cells(7, j).Formula 一种select是逐行进行,并把公式放在VB中,但如果可以的话,我宁愿避免。 细节: i =每个新行的循环函数 j =每个列/单元的循环函数 i之后的数字是列,即A是1等等 公式后面的7是我重复的那一行。

从一个工作簿复制到另一个工作簿

这应该在文本工作簿中抓取一个范围,然后将其粘贴到主文件夹中: Sub activateMacro() Dim masterWKB, copyWKB As Workbook Set masterWKB = ThisWorkbook Dim masterWKS, copyWKS As Worksheet Set masterWKS = Worksheets("Data") Dim lastLineCopy, lastLineWKB As Long Dim pasteRange As Range Dim listofFileNames As Variant listofFileNames = buildfilenameArray for i = 0 to Ubound(listofFileNames) lastLineWKB = masterWKS.Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row + 1 Debug.Print lastLineWKB […]