Tag: 工作表

在Excel中使用C#closures的XML合并列的性能

我有一个列表,它包含9多个属性,它包含一个子列表。 例如 Public Class BaseClass { public string Item1 { get; set; } public string Item2 { get; set; } public List<ChildClass> Item3 { get; set; } ………… } Public Class ChildClass { public string Item1 { get; set; } public string Item2 { get; set; } public string Item3 { get; set; } } […]

Excel – 在列中search以查找文本是否匹配并计数string

我想从1工作表中添加值到另一个。 第一个工作表(“2011年11月”)仅包含名称和状态,但是名称重复,并且需要在第二个工作表(“销售”)上添加一个string百分比。 例如“2011年11月” AB 1 Name Status 2 McDonalds Completed 3 McDonalds Won 4 Burger King Won 5 Burger King Won 6 Wendys Completed 7 iHop Completed 8 iHop Completed 第二张工作表(“销售”)包含3列名称,完成和赢得。 但是,名称已删除重复项。 例如“销售” ABC 1 Name Completed Won 2 McDonalds 3 Burger King 4 Wendys 5 iHop 但是,我希望“销售”工作表看起来像这样: ABC 1 Name Completed Won 2 McDonalds […]

如何在整个Excel工作簿中find最大值

我有许多工作表(今天约三十,每天都在增长)的Excel工作簿。 每个工作表都根据它所包含的数据的date进行命名(例如, 02-10,02-11等)。 在每个工作表的单元格A2是一个数字,我想编写一个公式,在每个工作表中查看单元格A2,并返回最大的一个。 我创build了一个当前工作表的列表,并将其命名为DayWorksheets ,并试图使用公式获取该值 {=MAX(INDEX(INDIRECT("'"&DayWorksheets&"'!A2"),0))} (括号表示数组公式)。 但每次的结果都是“10”,这是第一个工作表在单元格A2中指定范围内(不是最大的)的数字。 我在这里做错了什么? 我见过其他几个公式,比如 =VLOOKUP(C1,INDIRECT("Sheet"&MATCH(TRUE,COUNTIF(INDIRECT("Sheet"&ROW(INDIRECT("1:10"))&"!A2:A100"),B1)>0,0)&"!A2:B100"),2,0) , 但是我不太了解那里countif函数的用途。 任何帮助,将不胜感激。

VBA Excel – 我可以在ActiveSheet中使用哪些方法/属性

我已经看了MSDN页面 ,也发现这个问题很有帮助,但我想知道如何ActiveSheet的行为。 它是否像一个工作表对象? 听起来像它只是返回或引用一个工作表对象。 普通的Worksheet方法和属性是否可以使用它? 我用它从其他来源复制的代码,但我想了解底下发生了什么。 谢谢 奖金问题:如果我有一个sheet2控件,然后将活动工作表设置为sheet1在一个用户窗体中,然后可以将它设置回到sheet2closures用户窗体时? 实质上,我可以更改表单下面的表单来显示/处理表单处于活动状态的数据吗?

VBA:定义范围内的variables而不是单元格名称

我有一个名为“select名称”的单元格,它随机放置在同一工作簿的很多表单中。 请我想知道如何在工作簿的所有工作簿中查找单元格值。我尝试了循环遍历所有工作表和第一行的所有单元格查找该string值,但我似乎无法find解决scheme,这是我做的: For Each ws In ActiveWorkbook.Worksheets col_num = ws.Range("A1").End(xlToRight).Column For Cel1 = 1 To clom_num If ws.Cells(1, Cel1).Value = "Cell Name" Then col_name = ws.Cells(2, Cel1).Name End If Next With ws.Range("col_name:col_name").Validation ' Here when i put ("L:L") it works, but that value can be in any cell .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ xlBetween, […]

Excel VBA – 与Worksheet_Change Code的问题

我试图创build一个macros,将date放在另一个工作表上的一个单元格,当初始工作表被改变,但它给了我一个超出范围的错误。 有没有办法解决这个问题,或者我只是无法使用Worksheet_Change这个案件。 如果是这样,我可以使用什么? 我只是试图testing它,所以我只有这样到目前为止: Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False Worksheets("Sheet4").Activate Range("E1").End(xlDown).Offset(1, 0).Value = Date Application.EnableEvents = True End Sub 我现在有这个: Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Worksheets("Testing Sheet").Range("E2").Value = "" Then Worksheets("Testing Sheet").Range("E2").Value = Date Else ' Worksheets("Testing Sheet").Range("E2").End(xlDown).Offset(1, 0).Value = Date End If Application.EnableEvents = True […]

Excel VBA – 如何防止用户更改有条件的工作表

我目前正在创build一个工作簿,它有一个input标签,所有的数据都会stream入到后面的标签中。 我想阻止用户移动到任何其他选项卡上,直到input表中填写所有相关信息。 我目前正在尝试使用workbook_sheetactivate事件,但花了很多时间在这个和worksheet_change事件之间,我都无法正常工作。 任何帮助将不胜感激。

Excelmacros,每天添加新的工作表

所以我试图在Excel中创build一个日常的食物日记,我知道我想要做什么,我只是在努力实现所说的想法。 我创build了一个我希望用户每天都进入的模板,但是我不希望用户每天都必须创build一个新的工作表才能实现这一点,我想创build一个一旦Excel已经运行的macros打开并检查最后一张input表格的填写date,如果当前date较less,则创build一个新的工作表并显示要填写的表格。 这是我迄今为止所发现和尝试的,但是没有做任何事情,并且出现了错误。 Private Sub Workbook_Open() Dim sh As Worksheet Dim shName As String 'name of the sheet template shName = "Food Diary.xltm" 'Insert sheet template With ThisWorkbook If .Range("A1") < Date Then .Range("A1") = Date Set sh = Sheets.Add(Type:=Application.TemplatesPath & shName, _ after:=.Sheets(.Sheets.Count)) 'Give the sheet a name, today's date in this example On […]

循环遍历工作簿中的每个工作表

我试图循环通过工作簿中的每个工作表,但它不工作。 我认为这是ActiveWorkbook.Worksheets不识别每个工作表,只运行在活动工作表上。 任何build议将是伟大的! 我相信这是一个基本的修复,但似乎无法弄清楚。 谢谢! Sub LoopThroughWorksheets() Dim ws As Worksheet For Each ws In ActiveWorkbook.Worksheets If (ws.Name <> "Sheet1") And (ws.Name <> "Sheet2") And (ws.Name <> "Sheet8") And (ws.Name <> "Sheet42") Then With ws 'code 'Sheets("Formula").Select Range("FormulaRow").Copy 'Selection.Copy ActiveSheet.Select ActiveSheet.Range("A1").Select ActiveSheet.Paste Calculate Range("Q1:X1").Select Selection.Copy Range("Q3:X3000").Select Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False Application.CutCopyMode = False […]

Excel / VBA – Worksheet_Change只有手动更改字段时触发

嗨,并感谢您提前提供任何帮助。 我是VBA新手,我不是任何程序员。 我能够获得VBA代码工作的领域的变化,但不是手动完成领域变化时触发。 我确切的用例是我上传了一个Excel的macros本中的Salesforce和映射字段中的第三方应用程序。 该应用程序正在发送字段数据为Excel,它正在成功更改,但不会触发我的Worksheet_Change。 这里是完整的代码(基本上它显示了一个字段更改为“真”时的行)。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$K$19" And Target.Value = "True" Then Worksheets("Form").Activate Sheets("Form").Rows("20").Select If Selection.EntireRow.Hidden = True Then Selection.EntireRow.Hidden = False Else Selection.EntireRow.Hidden = True End If Sheets("Form").Rows("41").Select If Selection.EntireRow.Hidden = True Then Selection.EntireRow.Hidden = False Else Selection.EntireRow.Hidden = True End If Sheets("Form").Rows("81:89").Select If Selection.EntireRow.Hidden […]