Tag: 工作表

Excel VBAbutton将工作表复制到新的Word文档

下面的代码复制工作表中的表格,并将其粘贴到新的Microsoft Word文档中。 唯一的问题是,当粘贴在word文档中时,它会切断一半的表格。 有什么build议么? 谢谢。 Sub btnExport() Dim objWord As Word.Application Range("C2:D60").Copy Set objWord = CreateObject("Word.Application.14") With objWord .Documents.Add .Visible = True .Selection.Paste End With End Sub 我正在使用的工作表

需要更快地计算数据

我正在努力与这个代码,请帮助我。 我想logging在这个代码中的变化,但是它逐渐变成单元格,使得它变慢。 我的活动工作表运行200毫秒,这是非常快的代码时,它的工作价值改变。 有没有什么方法可以同时显示数值,而不是去每个单元格。 如果我的请求没有任何意义,请你原谅我的思想混乱。 Private Sub Worksheet_Change(ByVal Target As Range) Const Scope = "G9:H9,G11:H11,G13:H13,G15:H15,G17:H17,G19:H19,G21:H21,G23:H23,G25:H25,G27:H27,G29:H29,G31:H31,G33:H33,G35:H35,G37:H37,G39:H39,G41:H41,G43:H43,G45:H45,G47:H47,G49:H49,G51:H151,G53:H53,G55:H55,G57:H57,G59:H59,G61:H61,G63:H63,G65:H65,G67:H67" ' monitoring area Static oData As New Dictionary Dim rCells As Range Dim oCell Dim dDelta Set rCells = Application.Intersect(Target, Target.Parent.Range(Scope)) If Not rCells Is Nothing Then For Each oCell In rCells With oCell dDelta = oData(.Address) .Offset(0, 1).Value = […]

无法从传入的工作表中访问Sub中的单元格

我试图写一个自定义的DeleteRows Sub,我可以从我的代码中的各个点调用,但我遇到了一个问题,我传递的工作表似乎没有任何关联的单元格,运行时出现“types不匹配”错误。 我sorting得到一个特定的值出现在开始,然后循环查看有多less单元格出现,然后删除这些行。 Option Explicit Public Sub DeleteRows(ByRef MySheet As Worksheet, RowsToDelete As Long, ColumnToUse As String, ValueToSearch As String, UseAsInt As Boolean) Dim MyLong As Long If UseAsInt Then 'We are looking for a numeric value MyLong = CLng(ValueToSearch) Do While MySheet.Cells(RowsToDelete, ColumnToUse).Value = MyLong RowsToDelete = RowsToDelete + 1 Loop Else Do While […]

VB.Net:作为文本写入Excel工作簿

我写了以下function… Public Function writeAUTLSheet(doc As XDocument, myNameSpaces As Dictionary(Of String, XNamespace), theSheet As Excel.Worksheet) 'Grab the number of the last row to not overwrite Dim rowNumber As Integer = getLastRow(theSheet) For Each myName As XElement In doc.Descendants.Elements(myNameSpaces("ns4") + "autl") theSheet.Cells(rowNumber, 1) = doc.Descendants.Elements(myNameSpaces("ns") + "number").Value theSheet.Cells(rowNumber, 2) = myName.Descendants(myNameSpaces("ns") + "id").Value theSheet.Cells(rowNumber, 3) = myName.Descendants(myNameSpaces("ns") […]

Excel工作表更改事件不会在多个单元格被删除时发生

我有代码来触发一个改变事件,将诉诸我的数据。 该图表在AD栏中有信息。 代码触发数据随时在列D中的值改变。 当我input新的数据时,以及当我删除列D中的单元格的内容,但是,如果我select在某一行的列AD中的信息,然后点击删除,删除所有四个单元格的内容与数据在那一行,事件不会触发。 为了做到这一点,我需要改变什么? 代码是 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 4 Then Application.EnableEvents = False Range(Cells(1, 1), Cells(90, 1)).Select ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Add Key:=Range(Cells(2, 1), Cells(90, 1)) _ , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Sheet2").Sort .SetRange Range(Cells(1, 1), Cells(90, 4)) .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply […]

如何在Excel中呈现SpreadsheetML,只给出Sheet1.xml

我在XLSX格式中有一个损坏的工作簿,但zip压缩文件(xl \ worksheets \ Sheet1.xml)中的Sheet1.xml文件似乎完好无损。 有没有办法在Excel内渲染? 我确实想过创build一个新的工作簿,然后覆盖在压缩包中的工作表,但有没有办法直接在Excel中打开/转换/呈现Sheet1.xml文件, 作为工作表 ? 似乎没有共享的string部分。

VBA工作表更改无法正常工作?

我在我的工作表中写了下面的代码,所有的范围都在这张表中。 Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("DistMatrix")) Is Nothing Then Dim out1() As Double out1 = OutStat(bucket(Target), Range("RegScale")) FwdOut = outright(bucket(Target), Range("RegScale")) Call NewScatter(FwdOut, out1) End If End Sub 如果我在DistMatrix范围内select一个单元格,我想要运行一个被调用的子类。 这部分工作。 我必须点击范围内的一个单元格,就好像我想写入它,然后select另一个被调用的子程序来运行。 然而,我想要我select细胞后立即运行。 我不想去双击它,就像编辑它,然后select另一个它运行。

如何忽略特定的工作表名称?

我的代码如下,它是一个用户窗体上的combobox,允许用户从其他工作表中select某些数据。 我的问题是,它也显示我的“摘要”表作为一个可select的选项。 如何获取它显示列表索引中的所有工作表,不包括“摘要”工作表? Private Sub cmb_copycontact_Change() If cmb_copycontact.ListIndex <> -1 Then With ActiveWorkbook.Sheets(cmb_copycontact.Value) txt_MailAdd1.Value = .Range("B21").Value txt_mailadd2.Value = .Range("B22").Value txt_mailburb.Value = .Range("B23").Value cmb_mailstate.Value = .Range("B24").Value txt_pcode.Value = .Range("B25").Value End With End If End Sub

如何使用公式返回单元格中工作表的名称?

如何使用Excel公式返回另一个工作表的单元格中的工作表名称? (不使用VBA)

VBA使用代码在电子表格中select多个选项卡

我有一个电子表格3个选项卡。 我需要下面的代码来select前两个选项卡。 我几乎拥有它,但Sheets(Array(c)).Select部分返回一个错误。 基本上我需要最后一节返回作为表(数组(“Sheet1”,“Sheet2”)) Sub HideUnhide2() Dim a As String Dim b As Double Dim c As String Application.Calculation = xlManual For I = 1 To 100 If Range("d5") <> "Entity:" Then Exit For 'Start c = c & ", " & Chr(34) & ActiveSheet.Name & Chr(34) 'End b = b + 1 ActiveSheet.Next.Select Next […]