标签: vba

宏可以在我的Excel上运行,但不适用于其他人

我在下面创建了这个宏.它应该找到一个特定的行,复制它,删除它并将其粘贴到同一工作簿中的单独的工作表上.

它对我来说非常好,但不是我的同事.绿色代码正常工作并正确移动行,红色代码不起作用.它找到行并删除它们但不将它们移动到另一个工作表.

代码截图

实际代码:

 With ActiveSheet
  If .AutoFilterMode Then .AutoFilterMode = False
  .Range("A1:Q1").AutoFilter 8, "*L5P*"
  With .AutoFilter.Range.Offset(1)
     .Copy Sheets("L5p Orders").Range("A" & Rows.Count).End(xlUp).Offset(1)
     .EntireRow.Delete
  End With
  .AutoFilterMode = False
End With

With ActiveSheet
  If .AutoFilterMode Then .AutoFilterMode = False
  .Range("A1:Q1").AutoFilter 8, "*Powerstroke 6.0L*"
  With .AutoFilter.Range.Offset(1)
     .Copy Sheets("L5p Orders").Range("A" & Rows.Count).End(xlUp).Offset(1)
     .EntireRow.Delete
  End With
  .AutoFilterMode = False
End With

With ActiveSheet
  If .AutoFilterMode Then .AutoFilterMode = False
  .Range("A1:Q1").AutoFilter 8, "*Powerstroke 7.3L*"
  With .AutoFilter.Range.Offset(1)
     .Copy Sheets("L5p Orders").Range("A" & Rows.Count).End(xlUp).Offset(1)
     .EntireRow.Delete
  End With
  .AutoFilterMode = …
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba

0
推荐指数
1
解决办法
60
查看次数

通过MS Acces s vba将一个文件夹中的CSV文件合并为一个文件

嗨,所以我完成了一个程序部分,计算和导出带有结果的csv.(最终约1600个csv文件),每个文件只有1列,在20到0行之间.我希望我的MS Access VBA程序将它们连接成一个更大的CSV.所以相同的标题只在新文件的顶部一次.

我到目前为止的程序似乎在它试图导入Reg的部分失败了.文件号.

Dim db As DAO.Database
Set db = CurrentDb
MTH = Format(Date, "mmm")
UserInput = InputBox("Enter Country Code")
Dim strSourcePath As String
Dim strDestPath As String
Dim strFile As String
Dim strData As String
Dim x As Variant
Dim Cnt As Long
Dim r As Long
Dim c As Long
Dim wks As Excel.Worksheet

    Application.Echo False

    'Change the path to the source folder accordingly
    strSourcePath = "Q:\CCNMACS\AWD" & CTRY

    If Right(strSourcePath, 1) <> "\" Then strSourcePath = …
Run Code Online (Sandbox Code Playgroud)

csv excel ms-access vba excel-vba

0
推荐指数
1
解决办法
100
查看次数

期望数组,编译错误

    For j = 0 To 20
        For i = 0 To 20

            ReDim atoms(0 To 20, 0 To 20)
            ReDim atomschange(0 To 20, 0 To 20)
            atomschange(j, i) = 0

            If i Mod 2 = 0 And j Mod 2 = 0 Then
                [B2].Offset(j, i).Interior.ColorIndex = 37
                atoms(j, i) = 1
            Else
                [B2].Offset(j, i).Interior.ColorIndex = 36
                atoms(j, i) = 0
            End If
        Next i
    Next j
End Sub
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

excel vba excel-vba excel-2010

0
推荐指数
1
解决办法
235
查看次数

Excel VBA:错误处理打破中间代码

代码循环执行大量执行计算的数据.适用于前两本工作簿.第三个工作簿,突然错误处理中断 - 不再有效.想法为什么?

1) Break on Unhandled Errors在选项中正确标记

2)每个错误处理之后是On Error GoTo 0

3)这打开On Error Resume Next和On Error GoTo ErrHandler.

我以为OERN无视任何其他错误处理?

这是冗长的代码.我拿出了几个变量定义来缩短它.

amount = lastcolumn / 6
totalstrikes = 0
Do Until amount = 0
    currentcolumn = amount * 6 - 5
    i = 2
Do Until Sheets("Data").Cells(i, currentcolumn).Value = ""
    currentminute = Sheets("Data").Cells(i, currentcolumn).Value
    If oldminute <> 0 Then
    On Error GoTo ErrHandler
        If WorksheetFunction.MRound(currentminute - oldminute, 1 / 86400) >= 0.0007 Then
            'Do Stuff
        End If
5        End …
Run Code Online (Sandbox Code Playgroud)

error-handling excel vba excel-vba

0
推荐指数
1
解决办法
77
查看次数

SQL行抛出错误3134(插入语法)

我已经浏览了类似的帖子,并且无法在这里找出导致我的错误的确切原因.从我可以告诉我的语法是正确的,我已经包含了我的构建代码,它正常运行直到执行SQL行.

rs.MoveFirst
If Me.chkBBB = True Then
Do Until rs.EOF
    strBBB = rs!BBB
    strBrktDet1 = Left(strBBB, 2)
    strBrktDet2 = Right(strBBB, 8)
    If strBrktDet1 = "99" Then varBracket = -1
    If strBrktDet1 = "98" Then varBracket = 0
    strBPINo = Nz(DLookup("[BPINo]", "[Caliper Master]", "[BBB] LIKE" & "'*" & strBrktDet2 & "'"), "N/A")
    strCentric = Nz(DLookup("[CentricItemNo]", "[Caliper Master]", "[BBB] LIKE" & "'*" & strBrktDet2 & "'"), "N/A")
    strCardoneNo = Nz(DLookup("[A1CardoneItemNo]", "[Caliper Master]", "[BBB] LIKE" & "'*" & strBrktDet2 & "'"), "N/A")
    If …
Run Code Online (Sandbox Code Playgroud)

sql ms-access vba access-vba

0
推荐指数
1
解决办法
48
查看次数

如何使用VBA将日期重新格式化为YYYYMMDD?

我有一个电子表格,其中日期列的字符串格式为yyyy-mm-dd.我怎么能删除破折号所以我留下了yyyymmdd?

excel vba excel-vba

0
推荐指数
1
解决办法
75
查看次数

无法过滤掉0

我试图筛选出在下面的代码字段55 0的任何行,但它看起来是过滤所有行了,即使有与值字段55大于或小于0行任何援助将是巨大的.

Range("A9:BF9").AutoFilter field:=55, Criteria1:=">0", Operator:=xlAnd, Criteria2:="<0"
Run Code Online (Sandbox Code Playgroud)

非常感谢

vba filter excel-vba

0
推荐指数
1
解决办法
66
查看次数

嵌套if的问题

请允许任何人指出我在下面给出的代码中做了什么错误,我得到编译错误,对于每个EndIF,必须提前对应的IF THank:

Public Function customavg(rng As Range, nr_weeks As Integer)
Dim total As Integer, count_rng_row As Integer, count_wk As Integer, counter_rng As Integer

total = 0
count_rng_row = rng.Rows.count
count_wk = 0
counter_rng = count_rng_row


   For counter_rng = count_rng_row To 1
     If count_wk < nr_weeks Then
        If rng.Cells.Offset(0, -1) = "b" Then total = total + rng.Cells.Value
           counter_rng = counter_rng - 1
           count_wk = count_wk + 1
        End If
     'Else
      '     counter_rng = counter_rng - 0
       '    count_wk = count_wk …
Run Code Online (Sandbox Code Playgroud)

vba nested-if

0
推荐指数
1
解决办法
40
查看次数

如何使不连续的单元格范围适用于每个引用的单元格

我有一个不连续的范围,我希望用户在该范围内的每个单元格中写入的内容显示在我创建的表格的列中.在我的表的第一列中,当用户在一个指定的单元格中添加一个值直到18时,我在表中的每个生成条目中都有程序编号.我将范围中的每个单元格重命名为"Space_" (某些数字)".即使我已经写了三个指定的单元格,我的表只显示第一个指定单元格中的第一个值.

在此输入图像描述

到目前为止,这是我的代码:

Sub test2()

Dim wb As Workbook: Set wb = ThisWorkbook
Dim ws As Worksheet: Set ws = wb.Sheets("Sheet1")
Dim i As Integer
Dim rng As Range

Set rng = ws.Range("Space_7, Space_10, Space_13, Space_16, Space_19, Space_22, Space_25, Space_28, Space_31, Space_34, Space_37, Space_40, Space_53, Space_56, Space_59, Space_62, Space_65, Space_68")


ws.Range("A13:A31,B13:B31").ClearContents

For i = 1 To 18

If Not IsEmpty("rng") Then
ws.Range("A12").Offset(1).Value = i
End If
Exit For
Next i

If Not IsEmpty("rng") Then
    ws.Range("B12").Offset(1).Value = rng.Value
End If

End …
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba excel-2010

0
推荐指数
1
解决办法
65
查看次数

访问运行时错误6溢出

我有一个表单进行简单的计算,但数字非常大.

示例:xml 96276480 graphics 2931829760

我已经将数据类型声明为Long,甚至还有一个CLng(Me.txtGraphics.value),但我仍然得到溢出错误这些数字来自文本框.这是我的代码:

Dim sgm As Long
Dim XML As Long
Dim prv As Long
Dim base As Long
Dim IETM As Long
Dim Graphics As Long
Dim total As Long
Dim pgCnt As Long
Const CXML = 2.5
Const CSGM = 6
Const CGraphic = 339
Dim pcSGM As Long
Dim pcXML As Long
Dim pcGraphic As Long

If Me.txtSGM.value = "" Then
  sgm = 0
Else
  sgm = Me.txtSGM.value
End If


If Me.txtXML.value = "" …
Run Code Online (Sandbox Code Playgroud)

ms-access vba

0
推荐指数
1
解决办法
923
查看次数