我觉得这应该是你可以在excel中很容易做到的事情,但我似乎想不出该怎么做。我想要做的是根据它们的名称对值矩阵进行排序,但不是按字母顺序或值或任何其他顺序,而是按另一行名称排序。例如:
Headers A B C
Val1 1 2 3
Val2 4 5 6
sorted_headers C B A
我希望矩阵是:
Headers C B A
Val1 3 2 1
Val2 6 5 4
基于另一行的"sorted_headers",我知道我可以编写一些程序来做这件事,但这似乎是你不需要一行VBA就可以做的事情。
谢谢!
Sub RRC()
Dim noOfLists As String
With Sheets("All_list")
Application.CutCopyMode = False
Application.AddCustomList ListArray:=Range("AU2:AU4")
noOfLists = Application.CustomListCount
noOfLists = noOfLists + 1
End With
ActiveWorkbook.Worksheets("All_list").ListObjects(
由于某些原因,我似乎找不到这样的例子。
我有一张有两根柱子的桌子,县和街。
我有另一张桌子,有许多列,其中有两张是县和街。在第二个表中,每行都已经填写了County,但我需要允许用户单击每行的Street单元格并选择(从下拉菜单中)一条街。下拉列表中的街道必须动态更改,以仅显示第一个表中包含在第二个表的特定行上的县中的街道。
表1:
County | Street
-------------------
County 1 | Street 1
County 1 | Street 2
County 1 | Street 3
County 2 | Street 4
County 2 | St
我有这个VBA脚本,我不知道如何动态地使用粗体部分,这样公式将是=StripAccent(C2)、=StripAccent(C3)等等,用于每个i。
For i = 2 To 10
Cells(i, 5) = "=StripAccent(Ci)"
Next i
我读过关于双引号的文章,但在那里不管用。
我正在开发一个vba,根据第2列的单元格颜色和第1列的值对数据的动态范围进行排序。该代码只按值进行排序,但是当我添加代码对单元格颜色进行排序时,会出现语法错误。我在网上搜索了几个小时类似的情况,但都失败了。(也许我不知道正确的关键字)
下面是我正在处理的代码。请给我一点启示,谢谢!
Dim oneRange As Range
Dim aCell As Range
Dim bCell As Range
Set oneRange = Selection
Set aCell = ActiveCell
Set bCell = ActiveCell.Offset(0, 1)
oneRange.Sor
我有一个用户表单,它有一个组合框,其中包含一个名称列表,供用户选择。列表需要是动态的,因为我希望用户能够在组合框中键入名称,如果名称还不存在,但是也需要有一个已经存在的名称列表,供他们选择。几年前我在这里发现了一个类似的问题:
这里的问题是,它只适用于一个工作表,我看不出如何使用它从多个工作表中提取,也不知道如何按照字母顺序自动排序名称。
这是我正在使用的子创建动态范围,因为它是现在,链接到原始创建者是留在给予信用的信用。
Sub SupplierListDynamic()
'Source: https://powerspreadsheets.com/
'For further
我的基金名称列在一张纸(“全部”)和每周基金回报在其他表格的相应栏(“编辑”)。我将基金名称和回报定义为范围,并试图使用返回作为VBA中的键对名称进行排序。我的目标是对每一列进行排序,因为每一列代表另一个星期。我的代码在下面。提前谢谢。
Sub Sortmydata()
Dim rng As Range
Dim keyrng As Range
For i = 5 To 385
Set rng = Worksheets("All").Range(Cells(3, i), Cells(385, i))
Set keyrng = Worksheets(
我正试图用十进制数将单位从ug/Kg改为mg/Kg。为此,我使用一个函数来传递单元与原始单元(ug/Kg),并返回修改后的单元(mg/Kg)。这个问题一直试图保持同样数量的重要数字。我已经知道如何计算sig无花果,但我在修改单元格成为动态数字的正确数目时遇到了困难。我在网上看到的示例看起来类似于这个范围(A1).NumberFormat ="0.000“,但是这引用了单元格A1,我需要它来影响我试图返回的单元格。
下面的代码是我想要做的事情的一个例子,如果有人能帮忙的话,我会很感激的。
Function ToMg(rng As Range)
Dim OrigNumb As Doubl
这可能不是一个复杂的问题,但我仍然没有成功:
我有一个Excel列表,6个变量从"B14:G14“范围开始,在"B”列中,您有一个名称,而在"C:G“列中,您有要连接到该名称的公式。我使用VBA创建了一个按钮,以简化在下面的行中添加额外的名称和公式复合体,因此列表具有某种开放性。
我现在要做的是使用VBA创建另一个按钮,按第一列("B")中的名称按字母顺序排序行("B:G")。示例:
B C D E F G
Gamma =1+1 =2+2 =3+3 =4+4 =5+5
Alph
我正在尝试使用Datanitro对excel中的一系列单元格进行排序。看起来datanitro没有内置的排序方法,所以我的选项是在python中创建一个,这是Datanitro似乎已经完成的,或者使用内置的VBA方法并通过datanitro从python调用该方法。
用于排序的一个简单的VBA子程序如下:
Sub Sort_1(strDataRange As Range, keyRange As Range)
strDataRange.Sort Key1:=keyRange, Header:=xlNo, Order1:=xlDescending
End Sub
现在,我只需要从python
我正在尝试设置一个动态打印范围,以便在从同一工作簿中的另一个工作表中填充的工作簿中打印工作表。我好像有麻烦了。我在Name Manager中设置了一个名为“横向”的命名范围,如下所示:
=偏移(‘幻灯片单张打印横向’!$A$27,0,0,COUNTA(‘幻灯片打印横向’!$A:$A),COUNTA(‘幻灯片打印横向’!$1:1)
我被困在试图写VBA代码(我对VBA一无所知)我有这个.
Sub Printarea()
ActiveSheet.PageSetup.Printarea = "lateral"
End Sub
我得到一个错误“运行时错误'100
我是VBA Excel的新手。
我想为每个月创建一个数据库,用1个'Main Sheet‘作为名称列表,当我输入数据时,'Main Sheet’上的列表将自动作为一行排序,同时更新其他工作表。
我找到了这段代码,它只是在输入的工作表中进行了更新/排序(假设是“主表”)。是否可以在所有其他工作表中自动更新输入的数据和排序?
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 1 Then
Dim lastRow As Long
l
我试图创建一个UDF来替换COUNTIFS函数中使用的间接函数,以允许动态范围。
目标:
当前:
=countifs(indirect([cell reference to named range],[criteria1]...)
我正在努力实现:
=countifs(INDIRECTVBA([cell reference to named range],[criteria1...)
这个函数现在返回#值。
这是我的VBA:
Public Function INDIRECTVBA(ref_text As String)
INDIRECTVBA = Range(ref_text)
En
我正在尝试遍历垂直Excel表格中的各种元素,并使用VBA将它们传递给水平表格。垂直表是一个包含问题列表(名称、标签、值)的表单,水平表将包含使用垂直表中的问题名称的列。
代码看起来像这样:
Dim row As Range
Dim rowCount As Integer: rowCount = 1
For Each row In [tbl_QUESTIONS[name]].Rows
Sheets(ANSWERS).Cells(r,rowCount).Value = row.Value
rowCount = rowCount + 1
Next
我的问题是,如何修改表引用和列引用,使它们
我有一个大约30,8个字符串的列表(例如,"BOFAUS3N"),我想用它作为电汇数据电子表格的搜索列表。我希望在所有单元格上执行搜索,并将结果添加到三个选项卡中的一个。
示例(假设搜索到的数据在Tab 1上):
BOFAUS3N, BOFAUS6S, etc. on Tab 2
BOFAUS3M, etc. on Tab 3
BOFAUS3D, etc. on Tab 4
我不是很熟悉VBA,所以任何帮助都是非常感谢的!
我目前有一个excel文档,我想要复制已经通过复选框“选中”的名称,按字母顺序排列的姓氏,并将这些按字母顺序排列的名称复制到新生成的word文档中,然后将它们粘贴到一个3列表格中。行数是动态的,基于用户选中的复选框的数目。这是我目前拥有的代码: Dim cl As Range, txt As String, temp1 as Variant, temp2 as String
For Each cl In ThisWorkbook.Worksheets(1).Range("D6:D122")
If cl Then
我正在创建一个客户端寄存器,其中客户端可以添加使用按钮。我还有一个排序函数,允许我在klantnr上对它们进行排序。但问题是,每当我使用排序函数时,它只对klantnr进行排序,并且从表单中提供的添加信息保持不变。例如,这是我的userform:
()
这是我的excel表格:
()
当我添加另一行时,它会对klantnr进行排序,但它不接受其他值,比如Naam和Adres。因此,它需要对klantnr进行排序,并带走其他信息。
这是我的密码:
Private Sub btn_Toevoegen_Click()
Dim laatsteKlantNummer As Integer
Ran
我在excel电子表格中有一个数字数组,我试图使用用户定义的vba函数对这些数字进行排序(所有数字都>60),并且我希望将结果作为一个范围返回到同一个excel表中。
当我运行这个函数时,我会得到一个值错误,我不太确定这个错误是从哪里来的,因为我是VBA.I的新手,我非常希望能在解决这个问题方面提供一些指导。
数组Excel
Column A
200
50
23
789
Function trial(number As Range)
Dim cell As Range
Dim savearray() As Variant
Dim d As Long
F