小编Jak*_*MWP的帖子

对于VBA中的循环行为不端,而不是按照我想要的方式运行

我在这里做的是将存储为文本的字符串转换为整数.不幸的是,只是将格式从一般格式更改为数字格式并不能解决问题,而我之前所做的就是手动查找/替换每个单独的数字(即使用excel查找替换为0,1,2,3等)

我在下面的代码中遇到的问题是它只会替换一些数字,但不是全部.我甚至无法弄清楚它所做的设定模式.据我所知,for语句应该为每个"数字"值从0到9运行吗?那么为什么不替换所有字符串呢?

Dim Digit As Integer
Dim ReplacementRange As Range

Set ReplacementRange = Range("Table1[AR]")`

Digit = 0


For Digit = 0 To Digit = 9

    ReplacementRange.Replace What:=Digit, Replacement:=Digit, LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False         
    Digit = Digit + 1

Next
Run Code Online (Sandbox Code Playgroud)

excel vba

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

对象'_Global'的方法'范围'选择范围时失败的错误VBA

所以我使用这个宏只提取我需要执行回归的数据,样本集包含了我需要的相当多的无用信息.当我尝试从CCDetail工作簿中选择列时 - 我得到对象'_Global'失败'的''范围'错误.有关为什么会这样的想法?

Sub ExtractCCDetail()

Dim WorkbookName As String
Dim CCDetail As Workbook
Dim Harvester As Workbook
Dim RAWData As Worksheet
Set CCDetail = Workbooks(2)
Set Harvester = ThisWorkbook

WorkbookName = CCDetail.Name
CCDetail.Activate
Set RAWData = Worksheets("Department Totals")
RAWData.Select
    'This is where the code will break
    Range( _
        "D:D,E:E,F:F,M:M,X:X,Y:Y,Z:Z,AA:AA,AC:AC,AD:AD,AE:AE,AF:AF,BD:BD,BF:BF," _
        ).Select
        Selection.Copy
    Harvester.Activate
    Sheets.Add After:=Sheets(Worksheets.Count), Count:=1
    ActiveSheet.Name = WorkbookName
    ActiveSheet.Paste
End Sub
Run Code Online (Sandbox Code Playgroud)

*作为附注 - 我已经测试过手动执行此操作,我没有遇到任何问题.我也试过打电话

ActiveSheet.Range (wanted Range)

RAWData.Range (wanted range)

但这些都没有奏效.

excel vba

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

标签 统计

excel ×2

vba ×2