Tag: macros

VBA在Excel中创build交替标签

我真的是新的代码,所以原谅这个简单的问题: 我目前有下面的代码,在Excel中创build新的标签,从完美的作品,但是我现在有一个'模板2',我希望它创build模板1,然后模板2为每个项目在'input'选项卡使用范围F8“模板1”和G8“模板2”。 我可以得到它在模板1中的所有项目在F8中,然后在模板2中的G8中的所有项目,但我无法设法让它交替。 我最终想要创build模板1,然后创build模板2,将值复制并粘贴到新文件中并保存,然后在input选项卡中重复下一行。 先谢谢你 Sub Addnewsheets() Dim MyCell As Range, MyRange As Range Set MyRange = Sheets("Input").Range("F8") Set MyRange = Range(MyRange, MyRange.End(xlDown)) For Each MyCell In MyRange Sheets("Template 1").Copy after:=Sheets(Sheets.Count) Sheets(Sheets.Count).Name = MyCell.Value 'Renames the new worksheets Next MyCell Worksheets("End").Move after:=Worksheets(Worksheets.Count) End Sub

用于系列自动填充的Excelmacros

我想问如何创buildmacros来自动填充从A2行到串行/系列(1,2,3等),直到有数据从列B数据的末尾? 我使用这个代码: Sub FillHandle() If IsEmpty(ActiveCell.Value) Then Exit Sub If ActiveCell.Row = Rows.Count Then Exit Sub If ActiveCell.Column > 1 Then If Not IsEmpty(ActiveCell.Offset(, -1)) And Not IsEmpty(ActiveCell.Offset(1, -1)) Then Range(ActiveCell, ActiveCell.Offset(, -1).End(xlDown).Offset(, 1)).FillDown Exit Sub End If End If If ActiveCell.Column < Columns.Count Then If Not IsEmpty(ActiveCell.Offset(, 1)) And Not IsEmpty(ActiveCell.Offset(1, 1)) Then Range(ActiveCell, […]

Excel行计数不工作

我有一个VBAmacros正在处理一个非常大的数据集。 在我的数据集中,我有〜44000行。 我想在macros内计数,并尝试使用这里显示的顶部方法。 我使用variablessncountmax,并使其等于上面链接中的一个方法。 sncountmax = Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row 即使表单中包含44000行,sncountmax仍然会设置为之前设置的值。 编辑:我已经检查,没有其他的macrosfunction正在执行此表。 我试图删除重复使用macros,这不起作用,但在Excel中删除重复做。

macros查看单元格的输出而不是公式

我已经使用了微软网页上的代码,以便每当我的范围内的一个单元格发生变化时,一个消息框会自动告诉我发生了这种情况。 该页面是: https : //support.microsoft.com/en-us/kb/213612 我复制和粘贴的代码是(我已经非常轻微地编辑它 – 编辑在下面的代码中): Private Sub Worksheet_Change(ByVal Target As Range) Dim KeyCells As Range ' The variable KeyCells contains the cells that will ' cause an alert when they are changed. Set KeyCells = Range("B1:B10") If Not Application.Intersect(KeyCells, Range(Target.Address)) _ Is Nothing Then ' Display a message when one of the […]

通过单击Excelbutton在Catia中devise零件

我已经在macros编辑器中编写的Catia V5中编写了一些macros,但我无法弄清楚如何从Excel访问Catia命令。 我想知道如何创build一个简单的直筒,只有在excel文件圆柱体的半径和长度。 我想通过在Excel中input它们的直径和高度来在Catia中制作不同的压力容器,并且在点击该Excel表格中的button之后,该容器应该出现在Catia中。 如果我已经需要在卡蒂亚打开一个空的部分,我没有任何问题,但最好只是让卡蒂亚打开没有加载任何东西。 如果我有开始,看看如何从Excel中访问Catia方法,我想我可以找出完成该容器所需的其他方法,如脖子,帽子等。 谢谢。 编辑:我设法testing一些东西,我卡住了一个问题,我不知道如何设置约束在Excel VBA。 我将代码从Catia vb移到Visual Express,并设法在那里工作,但在Excel中,我没有find如何使用驱动维度的链接。 这是我的代码: Sub Main() Dim CATIA As Object Set CATIA = GetObject(, "CATIA.Application") Set openDocument = CATIA.ActiveDocument Set currentPart = openDocument.Part Set currentHybridBodies = currentPart.HybridBodies Set currentHybridBody = currentHybridBodies.Add() Set referenceHybridBody = currentPart.CreateReferenceFromObject(currentHybridBody) currentPart.HybridShapeFactory.ChangeFeatureName referenceHybridBody, "GeometricalSet" Set partOriginElements = currentPart.OriginElements Set plnYZ = currentPart.OriginElements.PlaneYZ […]

VBAmacros改变1秒的值的单元格的颜色

我正在从事Excel项目的工作,我正在处理生活中正在改变的价格,这些价格是从E栏和F栏的外部来源获得的。 我想要的是: 当这些单元格更改值时,我希望它们将颜色从橙色更改为白色,或将单元格背景更改为白色 我希望这只发生1秒或更less,并恢复到原来的单元格颜色或背景颜色 这样我可以保持我的眼睛价格,当他们改变。 这可能吗 ? 请帮忙。 谢谢

VBA /macros删除整行“只有公式”

如何删除所有只包含A列公式的行? 我需要将其删除,以便在select范围或录制macros时不会有问题。 我试过了: Selection.AutoFilter ActiveSheet.Range("$A:$L").AutoFilter Field:=1, Criteria1:="#REF!" Rows("720:720").Select Range(Selection, Selection.End(xlDown)).Select Selection.delete Shift:=xlUp ActiveWindow.SmallScroll Down:=-27 ActiveSheet.Range("$A$1:$L$719").AutoFilter Field:=1 和: Dim c As Range Dim SrchRng Set SrchRng = ActiveSheet.Range("A1", ActiveSheet.Range("A1000000").End(xlUp)) Do Set c = SrchRng.Find("=+LEFT(#REF!,2)", LookIn:=xlValues) If Not c Is Nothing Then c.EntireRow.delete Loop While Not c Is Nothing 但没有任何工作。 我尝试删除所有具有#REF或公式本身"=+LEFT(#REF!,2)"但仍然没有运气。 我需要删除只有公式的所有/整个行。 这些公式在Column A

消息框find重复项时

我试图要求macros在C列find重复的条目,然后创build一个消息框,说'find重复值,请仔细检查',这里是我的代码如下: Sub findduplicates() Range("C3").Select Do While ActiveCell.Value <> "" vtnaddress = ActiveCell.Address vtn = ActiveCell.Value Range("C3").Select Do Until ActiveCell.Address = vtnaddress If ActiveCell.Value = vtn Then MsgBox "Duplicate VTN found, please check again" Else ActiveCell.Offset(1, 0).Select End If Loop ActiveCell.Offset(1, 0).Select Loop End Sub 我的问题是,消息框不断popup(我必须杀死excel摆脱msgbox),即使只有一个重复的值find,是因为它在循环内? 我只是希望m​​sgbox消失,一旦macrosfind所有重复… 谢谢

当我打开Excel时,VBA Excel Calculation Option正在进入Manuel

我有一个Excel格式的XLAM文件的macros。 每当我打开没有我的XLAM文件,计算选项是自动的。 但是当用XLAM文件打开时,Ribbon界面的“公式”选项卡中的“计算选项”为“手动”。 就像这张图片所示。 如何让它默认为自动? 在我的整个macros观中,我从来没有用过 Application.Calculation 并做成xlManual或xlAutomatic,但仍然出现这个问题。 我试图把 Application.Calculation = xlAutomatic 在 Private Sub Workbook_Open() 如下图所示 但是,如果我这样做,然后closures并重新打开Excel,出现此错误。 这迫使我删除上面的图像中的代码。 我怎么解决这个问题? 请帮助我。 感谢Jeevan

当不是所有的Excel文件都具有相同的工作表时,将多个Excel文件和工作表导入到Access

我有一个大约75个Excel文件(.xlsx)的文件夹。 Excel文件应该都有五个命名的工作表(例如: SurveyData , AmphibianSurveyObservationData , BirdSurveyObservationData , PlantObservationData和WildSpeciesObservationData )。 不幸的是,有时Excel文件只有工作表的一个子集(即一个Excel文件可能有全部五个工作表,而另一个只有SurveyData和AmphibianSurveyObservationData工作表)。 我想将所有这些Excel文件导入到Access中,并将每个工作表中的信息放入一个单独的表中。 例如,我希望将所有Excel文件中SurveyData工作表的所有数据放入名为SurveyData的访问表中。 我发现这个VBA代码(见下文),当所有的工作表都出现在Excel文件中时,它似乎工作正常,但是当一个工作表丢失时,脚本停止,并且不会继续导入任何其他文件。 有没有办法只导入工作表,如果它存在于Excel文件,否则只是跳过导入? Function ImportExcelFiles() Dim strFile As String DoCmd.SetWarnings False ' Set file directory for files to be imported strPath = "D:\SpeciesData\MoELoadform\2015SpeciesDetectionLoadforms – Copy\" ' Tell it to import all Excel files from the file directory strFile = Dir(strPath & "*.xls*") ' […]