Tag: excel vba

运行时错误438,excel VBAmacros – AutoFilter

所以在过去的几天里我一直在做这个工作,而且我似乎无法做到这一点。 Sub Button3_Click() Dim DeleteValue As String Dim rng As Range Dim calcmode As Long With Application calcmode = .Calculation .Calculation = xlCalculationManual .ScreenUpdating = False End With 'Fill in the value that you want to delete 'Tip: use DeleteValue = "<>ron" to delete rows without ron DeleteValue = "<>assap" 'Sheet with the data, you […]

Excel – 在A1中input一个数字值,它指的是C +数值的值

我正在寻求一个Excel问题的帮助,我试图弄清楚: 假设C54的值为123, C55的值为321 如果我让A1 = 54然后B1 (目标单元格)成为单元格C54的值(“C”和val( A1 )= C54 = 123 如果A1 = 55那么B1成为C55 = 321的值 因此,在A1中input的数值是指列C中的(数值)行: 这是可能的,通过一个公式,或通过VBA

运行macros后保存并closures工作簿而不提示?

我想通过VBScript保存并closures在其中执行macros(模块:modBex,Sub:Test)的Excel文件。 下面的代码工作正常,除了Excel文件( macro_file.xlsm )没有得到保存。 这是我的代码: Option Explicit Dim xlApp, xlBook Set xlApp = CreateObject("Excel.Application") Set xlBook = xlApp.Workbooks.Open("C:\macro_file.xlsm", 0, True) xlApp.Run "modBex.Test" xlApp.DisplayAlerts = False xlBook.Save xlApp.Quit Set xlApp = Nothing Set xlAddin = Nothing Set xlBook = Nothing WScript.Quit

对象variables或块variables未设置 – 错误

我正在运行一个简单的VBA代码如下: Sub TransferData() 'transfer stuff from workbook 1 to workbook 2 Dim strPath1 As String Dim strPath2 As String Dim wbkWorkbook1 As Workbook Dim wbkWorkbook2 As Workbook 'define paths and filenames strPath1 = "C:\blp\data\grid1.xls" strPath2 = "Z:\24AM\Risk Managemen\Risk Management Processes.xlsm" 'copy the values across wbkWorkbook2.Worksheets("FXDUMP").Range("A1:Z2000").Value = wbkWorkbook1.Worksheets("Book1").Range("A1:Z2000").Value 'close the two workbooks wbkWorkbook1.Close (False) wbkWorkbook2.Close (True) […]

创build一个运行SQL查询的macros,并将数据粘贴到Excel中

所以这里是我的困境我试图创build一个macros,运行一个查询位于单元格(表(“SQL”)。范围(“G1”)),并将该查询中的数据粘贴到表(“数据 “)。范围(” B1" )。 我想到了下面的代码,但我不断收到一个编译错误:用户定义的types没有定义。 请任何有关我在做什么错误的见解将不胜感激。 Sub ConnectSqlServer() Dim conn As ADODB.Connection Dim rs As ADODB.Recordset Dim sConnString As String Dim StrSQL As Variant Application.ScreenUpdating = False Application.Cursor = xlWait Set cnPubs = New ADODB.Connection Set rsPubs = New ADODB.Recordset StrSQL = " SET NOCOUNT ON " ' Create the connection string. sConnString = "Provider=SQLOLEDB; […]

将最后一个logging复制并粘贴到第一个空白行的VBA

我是VBA新手,所以我的查询可能(希望)是一个简单的! 我有一个大型的客户端详细信息数据库,并且希望为工作表编写一个macros,它将查找最后一个非空行,复制行,并将“格式”和“validation”粘贴到第一个空行。 我希望macros能够自动运行(所以即使在添加更多的客户端时,第一个空白行也将始终具有与上述行相同的格式)。 到目前为止,我已经写了这个,当我按下Run Sub它是第一次,但是如果我在最后一个空行添加细节,我得到一个错误。 当我尝试debugging时,突出显示“复制最后一行: Private Sub Worksheet_Change(ByVal Target As Range) 'Copy last row Range("C" & Rows.Count).End(x1Up).Rows.Select Selection.Copy 'Paste format and validation into next blank row Range("C" & Rows.Count).End(x1Up).Offset(1).Rows.Select Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False Selection.PasteSpecial Paste:=xlPasteValidation, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False Application.CutCopyMode = False End Sub 另外,我正在运行基于列“C”的代码,因为这是一个必填字段,所以对于任何logging都不会空白。

分配单元格值将更改其types

我的函数返回不同的string值。 例如: 8:15 : 8:15或7或B 我把它分配给这样一个单元格: MonthDaysRange1.Cells(1, i).Value = DayValue(i, MonthNum) 之后,Excel将单元格的格式更改为“时间”。 细胞变成8:15:00 。 我不想那样。 即使我用这个: MonthDaysRange1.NumberFormat = "String" 单元格值仍然是8:15:00 我只想用文本填充单元格,而不对格式进行任何更改。

根据单元格值复制整行并粘贴到新的工作表中,停在空白单元格上

我想弄清楚如何复制一整行,并将其粘贴到特定的工作表基于该行中的一个特定的单元格中的值。 我已经拼凑了几个不同的代码来做我所需要的,除非我需要它结束,一旦它到达一个空白单元格,我不知道如何修改,因为我没有使用循环。 以下是我到目前为止的代码。 任何帮助将不胜感激!! 此外,这段代码似乎需要很长时间才能运行,所以我可以清理它,使其运行更平滑也将有所帮助! Option Explicit Sub test2() Dim sh33tname As String Dim issuetyp3 As String Dim i As Long Dim startrow As Long Dim typ3 As String Dim ws As Worksheet Dim sheetexist As Boolean Dim sh As Worksheet sh33tname = "Issues List" issuetyp3 = "E" startrow = 22 Set sh = Sheets(sh33tname) […]

分隔成单元格内的新行

我想修改/格式化单元格中的文本,如: 如果文本包含“;” 或子弹,做一个新的行。 简而言之,我将该单元格复制到noteped(.txt)中,并将多个项目符号复制到一行或“;”中。 我想创造一个新的行。 现在,我手动修改它。 谢谢! 编辑: Sub foo1() Dim txt As String Dim i As Integer Dim FullName As Variant Dim oldText As String txt = Cells(2, 5) FullName = Split(txt, ";") For i = 0 To UBound(FullName) oldText = Cells(2, 1).Value Cells(2, 1).Value = oldText & vbCrLf & "•" & FullName(i) Next […]

在Excel VBA中添加两个二维数组

我只是想知道如何在Excel中使用VBA添加两个二维数组。 我试图在互联网上search,在我看来,唯一的方法是循环每个元素。 我是对的还是有更好/更快的方法? 作为一个必然的问题:最好是循环或复制到Range,并使用PasteSpecial选项,如问题答案的精神, 如何添加数组 ?