Tag: excel vba

可见的公式

我尝试通过VB从CSV文件加载到Excel的值。 我有一些问题,我可以计算并显示在Excel中。 但是,在这种情况下,我想单击该单元格时显示公式。 例如:A1: 3 ,B1: 4 ,C1: =A1 + B1 每当列A和B有值,它会自动计算在VB中,但我想单击到C1或C2。 它会显示公式如何计算它。

获取列名称

编码是 dim a,b as double a = application.workbookfuncation.counta(thisworkbook.sheets(1).Range("A:A")) b = ThisWorkbook.Sheets(1).Range("A1").CurrentRegion.Columns.Count 值得关注的是,我无法知道如何从“A1”select数据到列columnaddress(b) & a 请build议如何解决?

行正在被复制并从一个工作簿粘贴到另一个时复制行

我有一个代码,允许我根据我想复制的国家进行过滤,并将其从一个工作簿粘贴到另一个工作簿。 然而,我面对的问题是当我运行的代码不止一次,find重复的行。 我不知道如何对代码进行改进,以允许代码防止重复行发生。 以下是我目前的代码。 它从外部工作簿复制时给了行的重复。 我想search的条件是“新加坡”,它在外部工作手册“主动主项目”中出现了不止一次。 因此,下面的代码将帮助find所有包含“新加坡”的行,并将其粘贴到另一个名为“新即将开展的项目”的工作簿中。 但是,当代码运行多次时,它将复制先前已经被复制的行。 外部工作簿将每月添加新行,因此下面的代码将允许search“新加坡”并将行粘贴到另一个工作簿中。 但是,它也复制了以前被复制的行。 因此,我有点卡在当前的代码。 Sub UpdateNewUpcomingProj() Dim wb1 As Workbook, wb2 As Workbook Dim ws1 As Worksheet, ws2 As Worksheet Dim copyFrom As Range Dim lRow As Long '<~~ Not Integer. Might give you error in higher versions of excel Dim strSearch As String Set wb1 = Application.Workbooks.Open("U:\Active […]

如果不是先前存在的话,从一列(newrawdata)导入/附加单元格到另一列(centrallibrary) – 匹配函数的date错误

下面的代码使用匹配函数来检查存储在列C的单元格中的新的一组值是否存在于存储在列A中的预先存在的范围内。 如果是,则在msgbox提示符下,显示与该值对应的行。 否则,使用“if iserror”语句来处理错误n / a,该语句会将有问题的值附加到列A中的下一个空行 问题: 这适用于文本和数字,但匹配函数似乎不正确返回date。 date值会附加到列A的底部,无论预先存在。 可能的错误: 在匹配函数中格式化或date值 要注意: 下面是一条设置为注释的行,但是在取消注释的date时创build一个错误 – 用于显示列A中的数据 'MsgBox(“Data pre-exists in row”&MatchAns) 很高兴提供例子。 Option Explicit Sub AppendNewRecords() 'example used – Column A, listed with a number of values including numbers, dates and text, 'Column C contains new raw data some matching Column A and some not, 'append new […]

如何从单元格中提取基于字体颜色的文本,并使用多种颜色的文本,并使用分隔符分隔多个单词?

如何基于多种颜色文本的单元格中的字体颜色提取文本 我有一列数据(A)。 列(A)中每个单元格中的数据是半个颜色和另一个颜色。 如果他们在不同的地方,我必须提取由分隔符分隔的每个单词。 我尝试了上述链接的解决scheme,但无法进行更改以适应我的目的,因为我是vba的初学者。 请build议方法来解决这个问题。 (A)原件……….(B)红色 abcdefgh ………. abc,gh

将VBA复制到Word的Excel范围如图所示

大家好我对VBA很新,我正在努力创build一个macros。 我想复制作为数字的粘贴到Word文件倍数范围从Excel。 这是我想到的代码: Sub imagem1() Dim objWord, objDoc As Object ActiveWindow.View = xlNormalView Worksheets(2).Range("A1:O47").Select Selection.CopyPicture Appearance:=xlScreen, Format:=xlPicture Set objWord = CreateObject("Word.Application") Set objDoc = objWord.Documents.Add objWord.Visible = True objWord.Selection.Paste objWord.Selection.TypeParagraph ActiveWindow.View = xlPageBreakPreview End Sub Sub imagem2() Dim objWord, objDoc As Object ActiveWindow.View = xlNormalView Worksheets(2).Range("U1:AI47").Select Selection.CopyPicture Appearance:=xlScreen, Format:=xlPicture Set objWord = CreateObject("Word.Application") Set objDoc […]

请参阅引用应用程序的variables

我正在尝试将单元格的值放在左列(列A)中的Msgbox中。 这个值需要被挑选出来,这取决于B列中的哪个值是最低的,并且应该被重用,并且行长度是变化的(有时候是200行,有时候是230行等) 到目前为止,我写道: Sub Flow() 'Check lowest value Dim lowestValue As String lowestValue = Application.WorksheetFunction.Min(Sheets("ImportData").Range("B3:B290")) MsgBox "Lowest Flow" & vbNewLine & _ (lowestValue) & vbNewLine & _ "at " & (lowestValue.Offset(0, -1)) End Sub 很明显, lowestValue.Offset(0, -1))不起作用,但基本上这就是我想要实现的:find最低值,然后在左边看一列,并在单元格中显示该值。

代码重复一个macros

我需要在具有390行的源电子表格中为给定范围重复一个名为“DTest”的macros。 “DTest”macros创build一个新的Excel文件并转置粘贴范围并将文件名保存在给定path的单元格“B2”中的值。 Sub RepeatDTest() Range("1:1,2:2").Select Selection.Copy DTest Range("1:1,3:3").Select Selection.Copy DTest Range("1:1,4:4").Select Selection.Copy DTest End Sub 我的范围包括行1作为标题,行2到390作为新电子表格的行2中的内容。 如何编写范围(“1:1,2:2”),范围(“1:1,3:3”)…….范围(“1:1,390:390”)的代码?

VBA代码调出打开或保存选项的对话框,但我卡在那里

首先在这里发表,所以对我很好。 我正试图从网站上下载一个excel文件。 该网站有一个button,可以按下来下载Excel文件。 我看了代码,并能够想出一个URL,如果进入IE直接带我下载“打开/保存”对话框。 然后,我在Excel中使用该url在VBA中,打开下载框要求打开或保存该文件。 我想每次保存文件到相同的名称,因为我将有另一个工作簿查看数据并返回结果。 我知道这个问题已经被问了一百万次,因为我已经search,但没有代码,我已经尝试将工作。 这是我的代码到目前为止 Sub TESTING() 'Need to reference to Microsoft Internet Controls Dim URL As String 'URL = Worksheets("References & Resources").Range("URLMSL") URL = "http://cts/Tacs/OperationDrillExport/76" Dim IE As Object Set IE = CreateObject("internetexplorer.application") IE.Visible = True IE.Navigate URL Do While IE.ReadyState <> 4 DoEvents Loop End Sub 该网站是一个内部网站,所以它不会从外面工作,但我会认为代码是相同的任何方式。

有条件地将行移动到另一个工作表中

我希望有人能帮助我。 我有一张名为“细节”的另一张电子表格,另一张名为“已对帐”的电子表格。 我在Details中有1000多行,我想剪切E列(我想剪切整行)中所有具有0或者 – 的行,并将其粘贴到Sheet Details中。 如果可能的话,我想复制并粘贴标题从Reconciled到详细信息。 我试过使用这个代码(稍微修改)在另一篇文章中使用 Sub Test() For Each Cell In Sheets("Details").Range("E:E") If Cell.Value = "0" Then matchRow = Cell.Row Rows(matchRow & ":" & matchRow).Select Selection.Copy Sheets("Reconcile").Select ActiveSheet.Rows(matchRow).Select ActiveSheet.Paste Sheets("Details").Select End If Next End Sub 但是有两个问题。 因为有些值(数字是真的)会被移动,但0.00的值不会被移动,因为它们是四舍五入的(我认为这就是为什么它们没有被移动)。 此外,屏幕更新奇怪,我很抱歉,我不能解释更多。 任何帮助,将不胜感激