Tag: 抵消

消息框不工作的方式应该和循环复制数据

有没有更简单的方法来做到这一点? 就像在一次点击和数据去我想要的地方? 或者也许这个更短的代码? 由于工作表可能会有所不同,但细节都是一样的..请参阅转让表2和3中的差异… C列中的某些单元格可能是空白的(指的是我从哪里复制),但我想复制它,以便每行的细节不会混乱。 可以这样做吗? 即使它有一个空的单元格复制? 另外,我的第二个和第三个循环的东西是错误的…第二个,当我点击一次,没关系,但如果意外,你再次点击它的数据将重复..有没有办法阻止这种重复发生? 我尝试使用一个消息框,但它不工作的方式,我希望它是..我希望消息框,只有当我第二次点击它…我想这是因为我用的偏移量…但我真的不知道。 Sub TransferSheet1() Dim i As Long Dim LastRow As Long Dim wb As Workbook Dim sec As Worksheet Dim sht1 As Worksheet Set wb = ThisWorkbook Set sec = wb.Sheets("SECOND") Set sht1 = wb.Sheets("Sheet1") 'Find the last row (in column c) with data. LastRow = sht1.Range("C:C").Find("*", […]

问题与复制数据从一张表到另一张

我通过循环方法开发了一个脚本,将数据从一个表格复制到另一个表格,然后刷新第一个字段。 除了一个问题,脚本运行良好。 在第二个表格中,它应该find列A中的最后一个非空白单元格(即“x”),并从下一行中读取数据。 问题是它正在粘贴“x + 11”行中的数据。 我需要帮助确定这是为什么发生。 请注意,这里i = 11是因为第10行中的数据是标题,所需数据从第11行开始。 这是我做的macros: Option Explicit Sub CopyPaste() Dim i As Integer Dim x As Long Dim y As Long Dim c As Range i = 11 Do While Cells(i, 1).Value <> "" 'ActiveSheet.CopyPast x = i y = 0 For Each c In Worksheets("CDS").Range(Cells(x, 1), Cells(x, 11)) […]

根据表1中的数据input自动填充工作表2中的date和用户名

在VBA方面我相对缺乏经验,所以我希望我的问题能够快速解决你掌握的所有问题: 背景我有一个用作数据input文件的字段,不同的人在不同的列和不同的行中插入数据。 我之前在同一张纸上有一种“签收”部分,其中一个单元格自动填充了用户名和date。 因此,当有大量的用户时,已经清楚1)由谁,2)在什么时候,数据已经被插入到文件中。 我需要的帮助为了减less同一张纸上的信息量,现在我想在另一张纸上有“签收”部分。 也就是说,当史蒂夫将数据插入到表格1中的单元格F:15和G:34中时,我希望他的用户名和date自动填充到表单2中的相同单元格中(即F:15和G:34) 。 数据input范围在表1中,从第3列到第36列和第4行到第44行。为了简单起见,我将使第2页看起来与第1页完全相同。因此,第2页的同样的“输出”范围。 当前的代码这是我的老代码,我需要帮助重写,以便用户名和date在工作表2: Private Sub Worksheet_Change(ByVal Target As Range) Dim c As Range If Target.Column >= 3 And Target.Column <= 36 And Target.Row >= 4 And Target.Row <= 44 Then For Each c In Target If c.Value = "" Then c.Offset(0, -6).Value = ClearContents Else c.Offset(0, -6).Value = Environ("username") […]

根据所选单元格的偏移位置将数据复制到另一个表单中

我select工作表1中的单元格。我试图保存该单元格的位置,然后将上面的数据3个单元格复制到工作表2“A1”,然后返回到工作表1并偏移该选定单元格的4个单元格并复制数据转换成表格2“C1”。 每次使用这个macros时,我将select一个不同的单元格,因此为什么它必须围绕当前选定的单元格旋转。 我只是坚持如何保存选定的单元格位置,然后通过子使用它。 我的解决scheme Sheets("Income").Select ActiveCell.Select Selection.Copy Sheets("Claim APR").Select Range("D92").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Sheets("Income").Select ActiveCell.Offset(1, 0).Select Application.CutCopyMode = False Selection.Copy Sheets("Claim APR").Select Range("F93").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

仅返回唯一标准的结果,具有多个标准。 OFFSET(),FREQUENCY(),SUMIF()

这里是我想要做的事情的概述。 我有6列A是字母数字B是文本C,D是二进制数据E是文本F是我想用二进制数据填充的列 为了简化,我想根据一组标准testingB,C,D,E列(每一列都有自己的testing标准)。 如果所有B,C,D和E都是“真”,我想在F列中返回“1”。 现在,我遇到了这个问题。 基本上A是一个ID#,而B,C,D,E是每个必须满足的条件才能在F列中返回“1”。问题是每个ID#有多行。 哪个ID#实例并不重要,但是我只想在列F中为每个唯一ID#返回一个“1”。 一旦返回一个特定的ID#1,我不需要实际检查剩余的ID#行,它可以移动到下一个ID#如果需要的话。 为了简化问题,我返回了“1”,但最终我想要有多个标准集,并返回与每个集合相对应的字母而不是“1”。 防爆/ 第1行A =“1D45”,B =真,C =假,D =真,E =真 – 返回F =“0” 第2行A =“1D45”,B =真,C =假,D =真,E =假 – 返回F =“0” 第3行A =“1D45”,B =真,C =真,D =真,E =真 – 返回F =“1” 第4行A =“1D45”,B =真,C =真,D =真,E =真 – 返回F =“1”,但我希望它显示0 第5行A =“1D45”,B =真,C =假,D =真,E =假 – 返回F =“0” […]

Excel VBA – 如何将列和粘贴值复制到新列每次启动macros

我目前有一个电子表格,可以计算Z列中的差异。在本月底,我想将这些值复制并粘贴到同一电子表格中的另一列中,以跟踪每个月的差异。 我已经开发了一个macros,复制需要从列Z复制到列BK的内容。 现在我每次运行macros时都会复制列Z并将其粘贴到列BK中。 我真正想要发生的是,每次运行macros时,我都希望它复制Z列中的值,并使用以下时间表将其粘贴到新列中: 月1 =值应粘贴在列BK 第2月=值应粘贴在列BL 月份3 =值应粘贴在列BM中 月份4 =值应该粘贴在列BN中 月5 =值应该粘贴在列BO 月6 =值应该粘贴在列BP 月7 =值应粘贴在列BQ 第8个月=应该在BR列中粘贴值 月9 =值应该粘贴在列BS 月10 =值应粘贴在列BT 月11 =应该在列BU中粘贴值 月12 =值应粘贴在列BV 在第12次迭代之后,我想将列Z中的值复制到列BK(起点)中。 我相信这可以使用循环完成? 我的问题是,我很难提出循环逻辑/编码。 请参阅下面的代码…任何帮助你将不胜感激。 这是我目前的代码: Sub copyCurrentToPrevious() Dim ans As String On Error Resume Next Application.ScreenUpdating = False Sheets("Direct Materials").Activate ans = MsgBox("Are you sure you want to copy […]

如何将信息复制到与另一列中find的内容对应的列中?

我已经写了一个macros,我想复制一个保存的电子邮件及其附件的path位置到列B,但只有当找不到.csv文件。 这里是我的代码如下: Dim csv_ap As String Dim path_report As String Sheets("Mail Report").Activate csv_ap = Range("C65000").End(xlUp).Value If csv_ap = "NO" Then path_report = MAIN_PATH & "For Resolution\" & Format(today, "dd_mm_yy") & "manual_handling_" & Range("A65000").End(xlUp).Value Range("B65000").End(xlUp).Offset(1).Value = path_report End If 这是macros运行后生成的电子表格。 正如你所看到的path不与C列中的“否”alignment。 我需要macros来实现path需要与正确的行alignment。 我怎样才能做到这一点? (下面的图片是其他情况下会有所不同的例子)

运行时错误1004,而不是ActiveCell.Offest(-1,RowCount).Value =“”

我试图写一个macros。 macros应该由用户点击D列中的第一个空单元格来工作。然后它应该在C列的左边抓取跟踪号码。导航到网站。 将交付的date返回到第一次单击的单元格中,然后基本向下移动一行,并执行相同的操作,而不必再次单击下一行。 循环这个过程,直到遇到C列中的第一个单元格为止。这不能每次都从一个特定的单元格开始,因为它是一个正在进行的电子表格,每周都会添加,这将开始closures底部。 例如,本周我开始的是D2343。 这不是完成代码,但任何build议将是有益的。 我对编码相当陌生,对于VBA非常新,所以请耐心等待。 这可能比使用activecell更好的方法,但我不知道如何。 这个 Public Sub Tracking() Dim IE As Object Dim ReturnValue As String Dim ProUrl As String Dim RowCount As Integer Set IE = CreateObject("InternetExplorer.application") RowCount = 0 'THIS LINE RETURN THE ERROR Do While Not ActiveCell.Offset(-1, RowCount).Value = "" ProUrl = "https://www.rrts.com/Tools/Tracking/Pages/MultipleResults.aspx?PROS=" & ActiveCell.Offset(-1, RowCount).Value With IE […]

Excel中variables行的总和

我有一个有几个月的价值观(C43:F43),我想总结最左边的列(B43)。 当我在Col“C”中添加一个新的月份时,我希望总和公式在C43中dynamic地包含新的月份,但它移到Col D43开始。 我尝试了INDIRECT,它包含了新的列,但是,如果我在第43行之上插入一行,它会混淆公式。 然后我尝试了OFFSET公式,但无济于事。 任何有识之士将不胜感激。 我现在认识到EXCEL是相当先进的。 谢谢。

Vba即使在用“itemwidth”偏移之后仍然采用原始select,

我正在build立一个macros,find一个头,然后偏移1行以下,我想填充整个列的值。 但是,当我运行的macros正在改变的偏移量的值为必需的,但一旦它到了Selection.filldown其复制头偏移值的地方。 而且我也无法找出如何跳过,如果没有findselect。 任何人都可以帮忙吗? Sub Macro7() Rows("3:3").Select Selection.Find(What:="item_width").Select Selection.Offset(1, 0).Select ActiveCell.FormulaR1C1 = "1" Selection.FillDown End Sub