Tag: macros

使用VBA – 超链接是可变的(基于地址和匹配公式)

我希望有人可以帮助我,因为我很好,真的卡住了。 我正在尝试编写一个macros,它将跟随另一个电子表格中单元格的超链接。 我select使用超链接的原因是我需要单元格引用是可变的。 我写的公式如下: =HYPERLINK("#'Label Editor'!"&ADDRESS(MATCH(A1,'Label Editor'!$B$1:$B$1001,0),3),"Go to label") 公式工作正常 – 但问题是当我试图logging一个macros。 它不是跟随超链接,而是logging一个固定的单元格引用,如下所示: Sub Test1() ' ' Test1 Macro ' ' Keyboard Shortcut: Option+Cmd+q ' Range("G1:I1").Select **Application.Goto Reference:="'Label Editor'!R125C3"** Selection.Copy Sheets("5×13").Select Range("A2:A22").Select ActiveSheet.Paste End Sub 我试图find一种方法来整合macros中的超链接,但迄今无济于事。 我试着用Lookup公式replace它,如下所示: **Application.Goto Reference:=Application.VLookup([A1], [Label Editor], [$b$1:c$1000], 2, False)** Selection.Copy Sheets("5×13").Select Range("A2").Select ActiveSheet.Paste Range("I2:I254,G2:G254,E2:E254,C2:C254,A2:A254").Select Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _ False, […]

VBA来格式化基于另一个单元格不工作的单元格

解决:find我自己的工作表错误我遇到的问题是试图在同一个工作簿中使用两个工作表change_change。 因为我认为这是可能的,当我收到一个错误时,我只是重命名工作表事件,没有考虑到这一点。 当我的原始代码和答案提供了工作,当我的其他worksheet_change事件结合起来。 感谢大家。 原始要求: 我正试图运行一个这样的macros: 每当单元格r6发生更改时,运行一个macros查看单元格s9中的值是否大于或等于1,然后基于此格式化单元格s9:t100。 我有自己的macros来做第二部分: sub macro1() If Range("S9").Value < 1 Then Range("S9:S100,T9:T100").Select Selection.NumberFormat = "0.0%" Else Range("S9:S100,T9:T100").Select Selection.NumberFormat = "#,##0" End If end sub 这个macros自己运行,完全按照我的想法和格式化单元格。 然后我有工作表事件来调用这个macros: Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$R$6" Then Call Macro1 End If End Sub 当它运行时调用相同的macros,它不格式化单元格。 无论单元格r6何时改变,它们都保持为%。 任何想法为什么工作表事件导致macros不起作用?

Excelmacros不同的邮件提取后的文件名

这是我的代码: Sub TestRun() ' Define variables Dim file As String, folder As String ' Define working directory folder = "E:\MainFolder\Appointments\" ' Define type of file to search for file = Dir(folder & "*.zip") ZipPath = "E:\MainFolder\Appointments\" & file Call UnZip(folder, ZipPath) End Sub 我想提取后有不同的文件名。 我希望它是约会而不是文件

Excel VBA添加右键点击button来加载

我正在尝试使用Pivot右键单击button来制作Addin。 所有的macros都在我打开的每一个工作簿上完美地工作。 问题在于,右键单击button不会出现在其他工作簿中 – 只能在具有插件的工作簿中出现。 截图 正如你所看到的,我已经在ThisWorkbook模块中编写了代码,并且Subs是Private的。 – 我想这里的问题是这个地方的问题。 如果有人能帮忙,会非常感激。

如何识别以检查是否另一个工作簿已经打开

目前我正在使用TASK MANAGER打开工作簿,有些时候以前的任务没有完成,即仍然macros已经在运行另一个工作簿,所以在这里我要检查是否有其他工作簿已经打开或运行macros; closures当前打开工作簿由任务pipe理器,我有简单的代码,如下所示,但我想尝试其他: If thisworkbook.name <> activeworkbook.name then call sendemail ' don't need code else Call Run_Dashboard End if

使用基于search的dynamic行参考来定位范围

我真的是新的VBA编码,并已经做得很好,但我现在已经打破了工作表的最后(可能比它需要更复杂)macros的墙。 我一直在努力使整个周末通过多个谷歌search工作,并使用从stackoverflow的其他问题的各种答案编译我自己的脚本,但无济于事。 这是我到目前为止(道歉的程序员,我知道这看起来像它是由一个3岁的): Sub Build_Delete() Dim rngA As Range Dim cell As Range Set rngA = Worksheets("Database").Range("D9:D177").End(xlUp) For Each cell In rngA If cell.Value = Range("A2").Value Then cell.Select Range("D" & ActiveCell.Row & ":AB" & ActiveCell.Row).Select Selection.Delete End If Next cell End Sub 上面的作品,没有错误返回,但它没有做任何明显的。 我知道这很可能是残酷的,所以这就是我想要做的: Database!D9:D177包含D到AB(4到28)列中的一组数据的标题。 有一个ActiveXsearch框,实时search单元Database!A2 ,不pipesearch结果如何(例如“Test”inputsearch框,“Test”出现在单元Database!A2中)。 当我运行这个macros的时候,我想让它检查Database!D9:D177范围,findDatabase!A2的文本string,然后删除该行的D到AB的内容(例如A2 =“test”,find“testing“在单元格D21,删除D21:AB21)。 这个行是一个dynamic的值,这是主要抛出我的东西,但列是固定的。 另外,macros的button位于单独的工作表(Front Page!)上,但脚本将只在数据库上运行! 页。 只需要在excel中工作,而不是在公开的办公室。 只有其他的事情我可以想到的是,相关的是,单元格可以在删除后留空,他们不需要填充,工作表将永远不需要打印,所以边际不是问题。 […]

在Excel中,在列中填充相同的数据。 填充的行数必须等于相邻列中的行数

我有数据说高达10行的A列,并在一些列说例如columnE和列G我有数据开始第二行,因为第一行是标题。 现在,我需要填充columnE和columnG中的数据,直到等于ColumnA的行。 数据与每列E和2N的2ND单元相同 请帮助我,因为我不是程序员。 谢谢

find标题后在右侧插入新列

如何在特定标题列的右侧插入3个新列。 以下是我的初始代码: Sub InsertColumn() Dim DischargeDate As Range Set DischargeDate = Range("A1:BV1").Find("DISCHARGE DATE") If DischargeDate Is Nothing Then MsgBox "DISCHARGE DATE column was not found." Exit Sub End If ' If DISCHARGE DATE was found in the column "AD", insert new column on this range example: ' Range("AE:AG").EntireColumn.Insert – >应该是我在这里使用的范围,因为DISCHARGE DATE有时不在“AD” End Sub 我希望我的问题很清楚。 谢谢!

select范围并粘贴到每个第n列

使用一些代码复制E列中的有效范围的单元格,然后将范围(从同一行开始)粘贴到第n列中。 复制select部分工作正常,但我不能得到粘贴部分正确的语法。 我试图设置单元格等于select,因为我不确定适当的语法来粘贴select的值。 任何帮助/指导表示赞赏! 这是我的代码: Sub Sco__copy() Dim cpval As Range Dim lastRow As Long With Worksheets("Sheet1") lastRow = .Cells(Rows.Count, "E").End(xlUp).Row .Range("E163:E" & lastRow).Select Set cpval = Selection End With For colx = 12 To 1000 Step 7 Cells(lastRow, colx).Value = cpval Next End Sub

Excel 2013数据连接 – 只读

希望有人能帮助! 我有一个“摘要”excel工作簿与其他“数据”工作簿枢轴和数据连接 当刷新连接并且用户在数据工作簿中时,刷新不再说只读(然后尝试打开数据工作簿)。 有没有办法解决这个问题?比如读取数据而不是写访问? 数据string属性如下 提供程序= Microsoft.ACE.OLEDB.12.0;用户ID =pipe理员;数据源= C:\ Test \ Test.xlsm;模式=共享拒绝写入;扩展属性=“HDR =是;”; Jet OLEDB:系统数据库= “; Jet OLEDB:全局批量交易= 2; Jet OLEDB:全局批量交易= 1; Jet OLEDB:registrypath=”“; Jet OLEDB:引擎types= 37; Jet OLEDB:数据库locking模式=新的数据库密码=“”; Jet OLEDB:创build系统数据库= False; Jet OLEDB:encryption数据库= False; Jet OLEDB:不复制区域设置紧凑= False; Jet OLEDB:紧凑无副本修复=假; SFP = False; Jet OLEDB:支持复杂数据= False; Jet OLEDB:绕过UserInfovalidation= False; Jet OLEDB:有限DB高速caching= False; Jet OLEDB:绕过ChoiceFieldvalidation= False […]