小编Dmi*_*liv的帖子

如果另一列中存在单元格值,请保留行

如果我在Excel中有以下3列布局...

column1  column2    column3
one      three      info about three

two      one        info about one

three    two        info about two

four     six        info about six

         seven      info about seven

         eight      info about eight
Run Code Online (Sandbox Code Playgroud)

...如何删除或隐藏或删除第2列中没有第1列值的任何行?

我的最终结果应该是这样的......

column1  column2    column3
one      

two      one        info about one

three    two        info about two

four     
Run Code Online (Sandbox Code Playgroud)

excel

4
推荐指数
1
解决办法
3904
查看次数

类型不匹配循环形状

我在循环幻灯片中的形状的行中出现类型不匹配13错误.我可以看到它oShNothing,但如果我.Count的形状,幻灯片中有很多形状.这有什么意义?

简要代码:

Dim oPP As PowerPoint.Presentation
Dim oS As Slide
Dim oSh As Shape
For Each oS In oPP.Slides
    For Each oSh In oS.Shapes '<-- this line is the error line
        On Error Resume Next
        If oSh.Type = 14 _
                Or oSh.Type = 1 Then
            'do stuff            
        End If
        On Error GoTo 0
    Next oSh
Next oS
Run Code Online (Sandbox Code Playgroud)

完整代码:

Sub PPLateBinding()
    Dim pathString As String
    'no reference required
    Dim PowerPointApplication As PowerPoint.Application
    Dim oPP As …
Run Code Online (Sandbox Code Playgroud)

excel powerpoint vba excel-vba

4
推荐指数
1
解决办法
1390
查看次数

嵌套函数是否可以在VBA中使用?

我试图通过从私有范围内的函数中剥离参数来清理代码,如下所示:

Function complicatedFunction(x as Double, param1 as Double, param2 as Double)
    ...
End Function

Function mainActionHappensHere(L as Double, U as Double ...)
    Function cleaner(x)
        cleaner = complicatedFunction(x, L, U)
    End Function
    ...
    cleaner(x)                       'Many calls to this function
    ...
End Function
Run Code Online (Sandbox Code Playgroud)

这可能吗?编译器抱怨"预期结束函数",因为我在结束外部函数之前开始执行函数.谷歌没有帮助:( PS我不能在mainActionHappensHere()之外定义cleaner(),因为那时正确的L和U不会被传递到它.

vba parameter-passing inline-functions nested-function

4
推荐指数
2
解决办法
1万
查看次数

两个范围数组的交集

我目前有两个数组,每个数组包含范围.你将如何获得这两个数组的交集.换句话说,我想得到一个范围数组,它只包含两个原始数组中包含的范围.我尝试过.Intersect,但是在我学习的时候这对数组不起作用.

array1 :(范围("A1"),范围("B1"),范围("C1"))array2 :(范围("A1"),范围("A2"),范围("A3"))

结果:(范围("A1"))

arrays vba intersection range

4
推荐指数
1
解决办法
3739
查看次数

使用 join 更新 Linq

我有这两个合集

var materials = new List<Models.Material>();
materials.Add(new Models.Material { Number = 111, Value = null });
materials.Add(new Models.Material { Number = 222, Value = null });

var db_materials = new List<Models.DB_Material>();
db_materials.Add(new Models.DB_Material { Number = 111, ValueColumn = 10});
db_materials.Add(new Models.DB_Material { Number = 222, ValueColumn = 20 });
db_materials.Add(new Models.DB_Material { Number = 333, ValueColumn = 30 });
db_materials.Add(new Models.DB_Material { Number = 444, ValueColumn = 40 });
Run Code Online (Sandbox Code Playgroud)

我需要使用db_materials集合中的ValueColumn更新材料集合中的所有Value属性。

这个怎么做 ?

c# linq

4
推荐指数
1
解决办法
1万
查看次数

ByRef Argument类型与布尔不匹配

我在Access窗体中有一些vba代码,在下列情况下调用时会产生"ByRef Argument type mismatch"错误.

我有一个小功能

NullAndHide(ctl as control,displayitem as Boolean) 
Run Code Online (Sandbox Code Playgroud)

当我这样称呼时,它按预期工作.

Call NullAndHide(Me.Control,True)
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用以下case语句尝试根据另一个控件设置displayitem的值:

Dim PerPersonOption, PerRoomOption As Boolean

    Select Case PriceType_ID
Case Is = 1 'Per Person
    PerPersonOption = True
    PerRoomOption = False
Case Is = 2 'Per Room
    PerPersonOption = False
    PerRoomOption = True
End Select
Run Code Online (Sandbox Code Playgroud)

然后

Call NullAndHide(Me.Control,PerPersonOption) 我收到错误:

ByRef参数类型不匹配

我已经测试了PerPersonOption的值

msgBox PerPersonOption 
Run Code Online (Sandbox Code Playgroud)

并返回正确的布尔值.

我的函数需要一个布尔值,我给它一个布尔值 - 那我为什么会得到这个错误?

ms-access vba access-vba

3
推荐指数
1
解决办法
1020
查看次数

如何在谷歌电子表格中对数据验证输入列表进行排序

鉴于以下数据验证设置,我只能按照我在食物列表中输入的方式选择食物.在我能够选择这些之前,有没有办法对这些进行排序?

在此输入图像描述

google-docs

3
推荐指数
2
解决办法
9741
查看次数

计算平均值中单元格和范围之间的差异

假设103.6, 104.8, 106.2 , 105.7,105.6单元格中有5个数字[E2:E6].如果我跑过=AVERAGE这5个数字,那我就得到了105.18.

但是,我在VBA的即时窗口中执行以下操作.我会得到一个不同的答案.

?worksheetfunction.Average(cells(2,"E"), cells(6,"E")) 104.6

但如果我使用范围而不是细胞,答案是正确的.

?worksheetfunction.Average(range("E2:E6")) 105.18

为什么使用单元格和范围存在这种容易计算的差异?这真让我困惑.

excel vba excel-vba

3
推荐指数
1
解决办法
1300
查看次数

变量中的IF条件

我有变量的条件.我试着检查条件是否正确.

在下面的示例中,我将条件"1 = 1"(这是真的)分配给变量MyCond.我正试图检查MyCond中的情况是否属实.你有帮助吗?


Sub Test()

    MyCond = "1=1"
    If MyCond = True Then
        MsgBox "That is true"
    Else
        MsgBox "That is false"
    End If
End Sub
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba

2
推荐指数
1
解决办法
126
查看次数

如何根据excel中的单元格值更改公式?

我列出了我在Excel中的所有支出.每一天都需要一条线.

我想要的是根据另一个细胞的值比较2天之间的差异.配方示例.= A250 - A191.我想改变这个250和191,只需在任何另一个单元格中写入321和192,自动将公式更改为:= A321-A192.

有可能吗?

excel vba excel-vba excel-formula

2
推荐指数
1
解决办法
644
查看次数