新的VBA用户在这里,感谢您的耐心等待。 我想复制和粘贴作为值从单个封闭的工作表到活动工作表的范围。 具体来说,我想在活动工作簿中使用VBA从TOOL.XLSM中的“AllData”选项卡复制范围A1:HW6000,同时closuresTOOL.XLSM,并将活动工作表中的范围A1:HW6000中的活动工作簿粘贴为值。 我有代码,将执行此操作(关心裴在堆栈溢出,谢谢你!),但代码永远运行(超过45分钟),因为运行代码似乎重新计算新的工作簿和导入工作簿在相同时间,而导入工作簿(TEST.xslm)非常大。 我在Mac上运行。 这是我现在的代码: Sub ImportData() Dim App As New Excel.Application 'create a new (hidden) Excel ' remember active sheet Dim wsActive As Worksheet Set wsActive = ThisWorkbook.ActiveSheet ' open the import workbook in new Excel (as read only) Dim wbImport As Workbook Set wbImport = App.Workbooks.Open(Filename:="/Users/cwight/Desktop/TOOL.xlsm", UpdateLinks:=True, ReadOnly:=True) 'copy the data of […]
我有一个Microsoft Excel电子表格(Mac 2011)。 一些行在A,C,D,E,F和G列中有数据。我将调用这些行PARENT行。 其他行只在列B中有数据。我将称它们为CHILD行。 每个CHILD行实际上是PARENT行上面的一个子集。 每个PARENT行在其下面有1到20个CHILD行。 这个模式通常是:父行,下面有几个孩子行,然后是另一个父行,下面有几个孩子行,还有另外一个孩子行,等等。 我在尝试着: [a]复制每个PARENT行的内容并将它们添加到它下面的CHILD行。 [b]一旦复制,删除原始的父行。 电子表格中有超过40,000行,我不知道如何创build一个macros。
我坚持一个问题在Excel中,也是新的VBAmacros。 我有一个excel文件中的4张(sheet 1,sheet 2,sheet 3,sheet 4),它由所有表格中的相同的两列组成。 列“人名”和“序列计数”我的工作表是这样的: 表1 人名| 序列号 约翰 约翰 约翰 马修 王子 拉吉 拉吉 鲸 工作表2 人名| 序列号 约翰 约翰 马修 马修 王子 王子 拉吉 拉吉 拉吉 鲸 鲸 表3 人名| 序列号 约翰 约翰 约翰 约翰 马修 王子 沙 拉吉 拉吉 拉吉 鲸 现在运行所需的macros后,我需要这种格式的输出 表1 人名| 序列号 约翰1 约翰2 约翰3 马修1 王子1 […]
我在WKBK 1中devise了一个标准模板,用于对教师进行评分。 WKBK 1有15个不同的工作表,每个老师1个。 在WKBK 2 ,我有一个表格用于保存不同function的分数。 我正在使用macros(或试图)来提取WKBK 2数据并将其转储到WKBK 1 。 当我试图在整个工作表中循环macros时,macros从老师1拉,并分配给老师2-15。 Sub Scorecard() Dim Current As Worksheet For Each Current In Worksheets Range("TeacherYTD") = "='[Teacher Formula.xlsx]Sheet1'!R3C2" Range("B7:C7").Select Range("TeacherCCO") = "='[TeacherFormula.xlsx]Sheet1'!R3C3" Range("F6").Select Next End Sub 我正在使用“定义”在工作簿中将一个单元格指向另一个单元格。 我不确定这是否是首选的方式,但对于初学VBA程序员来说,这是最直接的。 有人可以帮我弄清楚如何“下一步”到下一行来收集适当的老师的分数?
每当我尝试在Mac的Excel中logging一个macros以查看代码并尝试对其进行自定义时,就没有代码可以看到。 我所看到的是: Sub MacroN() ' ' ' End Macro() 为什么我不能查看代码,所以我可以开始对我的macros进行调整?
我正在尝试在Excel VBA for Mac中编写我的第一个代码。 我想要做的就是添加两个数字。 听起来很难,对吗? 我不断收到这个错误: 编译错误:无效的财产使用。 然后debugging器窗口打开,第一行突出显示。 Sub abbas() 'adds two numbers 'from e2 and e3 and puts the result in e4 Sheets("SHEET 1").Select Range("e2").Select A = ActiveCell.Value Range("e3").Select B = ActiveCell.Value Range("e4").Select ActiveCell.Value = A + B Range ("e5") End Sub
我想运行下面的macros,在Mac上的Excel中运行良好的Windows。 macros保存ActiveWorkBook (在一个特定的目录),并通过电子邮件发送。 Sub SauveEnvoi() Dim file As String Application.DisplayAlerts = False file = Macros.Cells(4, 2).Value & Macros.Cells(1, 2).Value ActiveWorkbook.SaveAs file Application.DisplayAlerts = True Application.Dialogs(xlDialogSendMail).Show Macros.Cells(2, 2).Value, Macros.Cells(3, 2).Value SetAttr file, vbReadOnly Application.Quit End Sub 从下面的评论 Macros.Cells(4, 2)等于C:\LPO Solutions\Commandes OGY\ , Macros.Cells(1, 2)等于CDE.xlsm , Macros.Cells(2, 2)等于xxxx@yyyy.fr , Macros.Cells(3, 2)等于Commandes
我实际上正在处理一个简单的macros来将活动工作表保存为具有特殊名称的PDF文件。 我创build的macros正在工作,但是它将每张纸保存在多个PDF中,并将该工作表的名称放在文件名的末尾。 如果你能帮助我,这将是伟大的,我看不出有什么问题… 这是我的macros: Sub PrintPDF() Dim wksSheet As Worksheet Dim strFile As String Set wksSheet = ActiveSheet 'strFile = Format(Now(), "yyyymm") _ & ".pdf" strFile = "blabla" _ & "_" _ & Format(Now(), "yyyymm") _ & "_" _ & "name2" _ & " " _ & Replace(Replace(wksSheet.Cells(1, 2).Value, " ", ""), ".", "_") _ […]
我是VBA的新手,但我正在尝试。 在名为“DataFile.xlsm”(存储在共享networking驱动器上)的Excel for Mac 2011工作簿中,我需要一个清除表单1(名为“Data”)当前内容的macros,然后遍历一个标识的文件夹也在共享networking驱动器(及其子文件夹)上find任何名称以“ Info Sheet ”开头的Excel工作簿。 对于每个这样的工作簿,我需要复制Sheet 1 C2:C12,转置这些单元格,并将它们粘贴到“DataFile”的Sheet 1(名为“Data”)的新行A列中。 我已经搞砸DIR和MacID的东西,但无法弄清楚。 因此,我只能在工作表级别上工作(一个工作簿内的所有数据),但是我需要它在工作簿级别(一个文件夹内的所有数据)工作。 请帮忙。 我已经花了很多时间在这里,并没有得到任何好处。 这是我在工作表级别上的工作: Sub copy_studentsheets_to_datasheet_withclearing() Dim ws As Worksheet 'clear contents from target sheet Sheets("Data").Select Range("a3:k600").ClearContents Range("a3:k600").ClearFormats 'copy specified range from each worksheet (other than the "Data" worksheet) and paste and transpose to new row in Data worksheet For Each ws […]
我有两个工作簿。 我想dynamic地从一个到另一个绘制信息。 我一直在研究几天,似乎唯一的方法是使用Visual Basic,但是我不知道如何使用VB。 我愿意学习,但有人需要给我一步一步的指示,最好是截图,如何做到这一点。 以下是具体细节。 我想要代码检查Workbook1,Sheet1,ColumnK的特定值,让我们说“西”。 如果ColumnK中有一行有“West”,我想将整行复制并粘贴到下一个可用行的Workbook2,Sheet2中。 我希望这是dynamic的,以便每当向Workbook1添加新信息时,代码都会检查并将相关信息提供给Workbook2。 如果无法将其绘制到Workbook2中,则反而将其绘制到Workbook1,Sheet2中。 我刚从另一个Stack Overflow线程复制了一个代码,在同一个Workbook1中工作。 Sub CopyRow() Application.ScreenUpdating = False Dim x As Long Dim MaxRowList As Long Dim S As String Dim wsSource As Worksheet Dim wsTarget As Worksheet Set wsSource = ThisWorkbook.Worksheets("ASK") Set wsTarget = ThisWorkbook.Worksheets("Petty Cash") iCol = 1 MaxRowList = wsSource.Cells(Rows.Count, iCol).End(xlUp).Row For x […]