Tag:

根据值移动单元格

对于excel来说,我对于VBA非常有帮助。 我有一个产品表,产品可以有多个类别。 链接到产品的类别可以包含子类别,它们位于其旁边的列中。 如果产品有多个类别,则这些类别位于产品下方一行。 见图1。 我想要实现的是:每次执行脚本时,产品信息行上的当前类别都需要用它下面的类别replace,直到到达下一个产品。 如果没有新的类别可replace,则产品行可以被删除。 (在这个例子中,我需要运行脚本3次)。 所以我最终会以此结束: 第一次运行脚本: 第二次运行脚本: 运行脚本第三次: 我到目前为止的代码是: Sub MoveEmpty() Dim i as Long, j as Long Application.ScreenUpdating = False j = Range("A" & Rows.Count).End(xlUp).Row For i = j to 3 Step -1 If Range("A" & i) <> "" Then Range("C" & i -1) = Range("C" & i).Resize(,3) Range("A" & […]

采取单元格的值,并添加下面的许多行

我有一个Excel工作表,在A1到A10范围内有不同的数字。 我需要从单元格的值,并添加该单元格下的许多行。 让A1表示为3,macros应在A1下面加2行。 我曾尝试使用“行”function,但我找不到出路。 请帮忙。

删除其中有数千行的多个数据集中具有零的行

亲爱的Stackoverflow社区, 我需要一些帮助我的数据分析。 我目前对于如何删除具有成千上万行的多个数据集中的0的行感到困惑。 我非常肯定,我可以使用Visual Basic来做到这一点,但由于我没有太多的编程经验,我希望你能帮上忙。 我附加了一个图像,我突出显示了两个我想要删除的行的示例。 我希望所有的红色和黄色都被删除,而绿色和白色的所有东西都被单独留下。 如果任何人有任何想法如何做到这一点,请帮助! excel数据的图像 谢谢你的时间和考虑! 最好的祝福, BurekKebab

使用开放的XML创buildexcel文件

我正在尝试使用Open XML来创build一个文件,但是当试图添加头文件的第一行文件被损坏,我无法打开,任何人都可以告诉我我在做什么错在这里? using (SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Create("C:\\testpdfs\\mytest.xlsx", SpreadsheetDocumentType.Workbook)) { // Add a WorkbookPart to the document. WorkbookPart workbookpart = spreadsheetDocument.AddWorkbookPart(); workbookpart.Workbook = new Workbook(); // Add a WorksheetPart to the WorkbookPart. WorksheetPart worksheetPart = workbookpart.AddNewPart<WorksheetPart>(); worksheetPart.Worksheet = new Worksheet(new SheetData()); // Add Sheets to the Workbook. Sheets sheets = spreadsheetDocument.WorkbookPart.Workbook. AppendChild<Sheets>(new Sheets()); // Append a […]

增量计数器基于单元格值的变化

我试图把一个公式,可以迭代窗口的计数。 window应该随着binary的变化而增加。 理想情况是这样的。 给定列id和binary , window应该增加值在0和1之间的binary变化。 像这样的东西: 有没有一个公式可以解决这个问题,或者是VBA的方式?

获取最后一行,但将结果偏移到另一列

基本上我为我的macros设置了一个范围,但是我希望能够获得最后一行,因为每次都会使用不同的数据库进行更改。 Sub GetRegion() Dim res As Variant Dim RegionRange As Range, InitialRange As Range, c As Range Set RegionRange = Range("K2:K4657") Set InitialRange = Sheets("Matching Table").Range("A3:C114") For Each c In RegionRange res = Application.VLookup(c, InitialRange, 3, False) If Not IsError(res) Then c.Offset(0, 5).Value = res End If Next c End Sub 它会下拉所有的结果让我们从C列,这是在列K,但抵消列P(每行)

创build一个新行并select一个单元格

我想让用户能够添加行到表单,但是我需要他们以编程方式执行,以便新行包含与已分配给它的macros的checkbox。 我的解决scheme是插入一个InputBox的行,这很好。 Dim rowloc As String rowloc = InputBox("Location to Insert Row", "What row do you want to insert the new row ABOVE?") Rows(rowloc).Select Selection.Insert Shift:=xlDown 但是我有一段时间去那个新行的列B并插入checkbox。 我在VBA中创build一个新button没有问题,只是到了另一个单元就是这个问题。 Rows(rowloc).Offset(0, 1).Select 也不起作用。 任何有用的提示或解决scheme?

如果单元格为空,则隐藏下n行VBA

在工作表“场景”中,我试图根据该行的B列中的单元格值是否包含文本“不包含”来隐藏整行的组。 例如,在范围B19:B77,我有5个行中的帐户部分。 每个部分的第一行都有帐户名称或“不包含”。 如果它说“不包括”,我想隐藏该行和后续的4行(例如,行19到23)。 我知道如何根据单元格的值隐藏整行(代码如下),但我想弄清楚如何隐藏额外的行。 Private Sub Worksheet_Change(ByVal Target As Range) Application.ScreenUpdating = False For Each xRg In Range("B19:B77") If xRg.Value = "" Then xRg.EntireRow.Hidden = True Else xRg.EntireRow.Hidden = False End If Next xRg Application.ScreenUpdating = True End Sub 提前谢谢你的帮助!

Excel:为一个给定的范围在一行中标识2+个单独的实例

上面的图片是左下方的工作人员和上方的一年中的天数的电子表格。 周末是蓝色的。 对于给定范围的date,我想要实现的每一行都是为了确定两个或更多个不同的缺席事件。 一些代码被认定为缺席,即IL – 疾病,PR – 个人理由,有些不是DE – 牙医,MW – 助产士。 最上面的一行就是一个有两个或两个以上单独缺席的好例子。 一个缺席不限于一天,所以如果同时缺席有点像MA的例子,那么他们将被视为缺席。 尽pipeMA不会代表产假。 抱歉不提供任何代码,因为我卡在哪里开始。 即使是正确的方向提示将有所帮助。

Excel VBA确定列的最后一个非值(IE可能有一个公式,但没有值)行

我有一个列在每个行字段中有一个公式。 该公式从另一个excel spreasheet传播数据。 如果行字段中没有任何内容,则该行保持空白。 我在google上find很多例子来获得列中的最后一行。 然而,他们失败了,因为他们检测到这个公式就是有一些东西在里面。 这就说得通了。 但是,如何获得忽略公式的列中的最后一行,并只尝试检测列字段中的值? 我目前使用两种方法来search一个列中的最后一行,其中两个都失败: 函数lastRowA(rngInput As Range)As Variant Dim WorkRange As Range 昏暗我作为整数,CellCount整数 Application.Volatile 设置WorkRange = rngInput.Rows(1).EntireRow 设置WorkRange =相交(WorkRange.Parent.UsedRange,WorkRange) CellCount = WorkRange.Count 对于i = CellCount为1步-1 如果不是IsEmpty(WorkRange(i))那么 lastRowA = WorkRange(i).Value 退出function 万一 接下来我 结束function 和 函数lastRow(列作为string,可选的plusOne作为布尔值) 如果(plusOne = False)那么 Plusone精选=假 万一 如果(plusOne = False)那么 lastRow = Replace(Range(column&“65536”)。End(xlUp).Address,“$”,“”) 其他 lastRow = Range(column&“65536”)。End(xlUp).Address […]