我有这样的excel表:
Category Gender Age Max male age
A M 49
F 38
F 47
M 41
B M 49
F 38
F 47
M 41
我想显示最大值 每个类别的男性年龄.每个类别中的人数不固定.这可能是使用excel公式,还是我必须使用VBA?
我有一个端口上运行的serversocket,如我的服务器上的7761,ip说10.2.110.43现在有很多客户端在不同的服务器上运行,等待端口7761上的连接,并将ascii格式的数据写入该端口.
我希望serversocket验证client-ipadress,然后接受来自客户端的连接.
有没有办法做到这一点?
我试图使用VBA在Excel中的单元格区域内自动清除值.调试以下代码时,我一直收到类型不匹配错误.我哪里做错了?
Sub autosumtest()
Dim total As Integer
Worksheets("Sheet1Test").Select
Range("F16:G20").Select
total = CInt("=SUM(Selection.Values)")
MsgBox (total)
End Sub
Run Code Online (Sandbox Code Playgroud)
EDIT 1: 以下是我的测试数据的简单示例,名为Autosum Range:

我希望通过将通配符搜索集成到参考公式中的多条件多数组函数来对数值求和.
我的数据结构如http://bit.ly/Xv8tHP中的摘录

我在C2中的公式的目标是:
在这个例子中输出到C2的结果是C24 + 80.99美元+ C3 = $ 119.94美元38.99美元.
对于第一个条件,以下公式代码段有效:= SUMIFS($ C $ 3:$ C $ 24,$ A $ 3:$ A $ 24,"="&A2,[...]
但是,在集成第二个条件时,无论是使用ISERROR(SEARCH [...])= FALSE,还是使用INDEX或其他参考函数,我都很难过."包含"部分条件似乎很麻烦.
有没有人有建议?
非常感谢!
我想知道是否可以在VBA(Excel 2007)中显示Msgbox,而不将任何按钮设置为默认值?我有一个是\否按钮,我不希望用户点击返回或空格键并意外触发默认按钮.
任何人都知道这是否可行,以便我的表单上的任何一个按钮都没有设置为默认值,强制用户单击是或否?
If MsgBox("Message goes here", vbYesNo + vbQuestion ) = vbYes Then
'Something
Else
'Else
End If
Run Code Online (Sandbox Code Playgroud) 我正在处理一些Excel文件,这些文件通常在单元格中有很多文本.我想运行检查以确保所有文本都是相同的字体(特别是Calibri).
目前,我有这样做的方式.但它运行得非常慢.
Function fnCalibriCheck() As String
Dim CurrentCell As Range ' The current cell that is being checked
Dim SelectedRng As Range ' The selection range
Dim F As Long
Set SelectedRng = ActiveSheet.Range(Selection.Address) ' Defines the selection range
For Each CurrentCell In SelectedRng ' Goes through every cell in the selection and performs the check
For F = 1 To Len(CurrentCell)
If CurrentCell.Characters(F, 1).font.Name <> "Calibri" Then
fnCalibriCheck = "not calibri"
End If
Next
Next
End Function
Run Code Online (Sandbox Code Playgroud)
问题似乎是Font.Name属性特有的.例如,如果我运行相同的代码,但我搜索特定字符而不是Font.Name,那么它运行完全正常.虽然如此,我当前的宏可能需要几秒钟才能运行,偶尔会崩溃.
我想知道是否有人可以提出更好的选择.
我有以下代码返回50个随机颜色编码的数字:
Sub RandomNumberColor()
Dim Numbers, i As Integer
Dim MyRange As Range
Set MyRange = Worksheets("Rnd").Range("A1:A50")
For i = 1 To MyRange.Rows.Count
Numbers = Int((10 - 1 + 1) * Rnd + 1)
Worksheets("Rnd").Cells(i, 1) = Numbers
Worksheets("Rnd").Cells(i, 1).Interior.ColorIndex = Worksheets("Rnd").Cells(i, 1).Value
Next i
End Sub
Run Code Online (Sandbox Code Playgroud)
我试图找到一种方法来找到该列(A)中的所有唯一值,并将它们返回到列(B).由于某种原因,我有问题解决这个问题,任何帮助将不胜感激!
我有一个理论问题,如果你在这里建议我会很感激.
说,我们有这两段代码.第一:
For Each cell In rng1
collectionOfValues.Add (cell.Value)
Next
For Each cell In rng2
collectionOfAddresses.Add (cell.Address)
Next
For i = 1 To collectionOfAddresses.Count
Range(collectionOfAddresses.Item(i)) = collectionOfValues.Item(i)
Next i
Run Code Online (Sandbox Code Playgroud)
在这里,我们将一个范围的地址添加到某个集合,将另一个范围的值添加到第二个集合,然后使用这些值填充这些地址上的单元格.
这是第二个代码,它是相同的:
For i = 1 To rng1.Rows.Count
For j = 1 To rng1.Columns.Count
rng2.Cells(i, j) = rng1.Cells(i, j)
Next j
Next i
Run Code Online (Sandbox Code Playgroud)
所以,问题是 - 两种情况下执行的时间是什么时候?我的意思是,很明显第二种情况是O(n ^ 2)(为了使我们更容易假设范围是正方形).
第一个怎么样?For Each被认为是嵌套循环吗?
如果是这样,是否意味着第一个代码的时间是O(n ^ 2)+ O(n ^ 2)+ O(n ^ 2)= 3*O(n ^ 2),这与第二个代码时间?
一般来说,这两个代码是否与第一个代码在创建集合时需要额外内存的事实不同?
非常感谢提前.
如何在VBA中加入集合.在VB.net中,我通常使用Join(...,"delimiter)连接数组,但我无法弄清楚如何使用VBA中的集合来完成此操作.
Dim oColl As New Collection
Dim r As Range
Set r = ThisWorkbook.Sheets("Work1").Range("D13:D263")
For Each cell In r
If IsEmpty(cell) Then
Else
oColl.Add ("a = ''" + cell.Text + "'' ")
End If
Next
Run Code Online (Sandbox Code Playgroud)
我现在需要将所有集合值连接成一个字符串
我想计算一下我公司每月收到的课程注册数量.]
到目前为止,我已经能够使用SUMPRODUCT,(例如:
=SUMPRODUCT(--(DATE(YEAR($A$2:$A$10),MONTH($A$2:$A$10),1)=DATE(2013,1,1))))
但它很多,我希望有一个更简单的方法.
我总共有大约16,000个注册,注册日期从2003年到2014年.每个注册都有以下信息:
注册日期,课程名称,课程日期,姓名,职务,公司,城市,州,类型和付费.
我现在真正想要做的是显示我们每月收到多少班级注册,但是私人和公共类型的注册分开.我还没弄明白怎么做.
请帮忙!
我试图包含我当前excel电子表格的一部分图像,但它说该网站告诉我,我需要"至少10个声望才能发布图片"
excel ×9
vba ×6
excel-vba ×4
big-o ×1
collections ×1
excel-2010 ×1
excel-2013 ×1
java ×1
join ×1
pivot-table ×1
serversocket ×1
sockets ×1