我能够在C列中获得B列的时间戳。
Private Sub Worksheet_Change(ByVal Target As Range)
'Update 20140722
Dim WorkRng As Range
Dim Rng As Range
Dim xOffsetColumn As Integer
Set WorkRng = Intersect(Application.ActiveSheet.Range("B:B"), Target)
xOffsetColumn = 1
If Not WorkRng Is Nothing Then
Application.
我有以下Excel工作表
使用下面的.Find()函数,我找到了我需要的值和单元格。
Dim finalResult as Range
Dim finalValue as String
Dim headValue as string
finalValue = "Banana"
headValue = "Food"
Set finalResult = Worksheets("mySheet").Range("A1:A20").Find(finalValue, LookIn:=xlValues, After:=headV
我正在做一个宏VBA项目。我目前被困在一个For循环函数中。我有5个不同的范围(范围O,P,Q,S,T),范围P,Q,S,T的结果取决于范围O的值。在运行代码后,我得到了一个错误,说“类型错配”,但我似乎不知道我的错误在哪里。希望有人能帮我提个主意或解决方案。(非常感谢:)
**错误从第二行ElseIf行开始
我现在的密码是:-
Sub TestSort()
'
' TestSort Macro
'
Dim r As Long
lastrow = Range("A" &
我试图将特定的数据"1“和"2”从一个单元格移动到另一个单元格,但我在代码中遇到了问题。单元格数据移动了,但我一直得到"false“,而不是数据移动。有人能帮帮我吗?谢谢! ? Sub tested()
Dim rng As Range
Dim lrow As Integer, irow As Integer
With ActiveSheet
lrow = .Range("A" & Rows.Count).End(xlUp).row
For Each rng In .Range
我知道以前有人问过这个问题,但我没有找到一个很好的答案。我无法进行windows更新,因为此表单在全国多台计算机上使用。
我有24个复选框,默认情况下是隐藏的,根据组合框的值,它们变得可见。如果我在保存文件时隐藏了复选框,那么一旦我打开它,所有的复选框都将位于一个位置(而不是它们应该在的位置)。如果我保存它的复选框是可见的,那么我打开它,一切都很好。
这是最糟糕的
这才是好的
我让它工作的唯一方法是,如果我保存它与所有的复选框被隐藏,然后我隐藏当工作簿打开。如果用户不正确地保存它,这可能是一个问题。像这样
'if the row the row is hidden then
假设我有这个html:
<div class="edit" contenteditable="true">
<b>Example text</b>
Text outside
<b>
<i>
<u>underlined and italic and bold</u>
italic and bold</i></b>
more Text
<br>
after the lin
我编写了一个简短的脚本,用于根据单元格值隐藏列。
该脚本可以工作,但是它非常慢,而且常常是Excel错误,其中列数很大,例如> 200列。
Sub Bouton_hidingColumns()
Dim NumColonne As Integer
For NumColonne = Range("I11").Column To Range("IH11").Column Step 3
If WorksheetFunction.Sum(Range(Cells(11, NumColonne), Cells(119, NumColonne))) = 0 Th
下面的代码用于锁定工作簿的每个工作表中满足条件的单元格。代码在单个工作表上工作得很好,但是当我想要应用于整个工作簿时,错误消息"unable to set the locked property to the range class“。
工作簿循环过程也是正确的,谁能告诉我是什么导致了这个错误?
非常感谢!代码如下,很抱歉我不知道如何在这里显示正确的格式:
Sub selectnumbers()
Dim ws_count As Integer
Dim n As Integer
ws_count = ActiveWorkbook.Worksheets.Count
在Win 10中使用Excel 365
在定位/识别正在使用的工作表单元格时,我遇到了一个非常小的问题。例如,在单元格A1和cell H5中有常量。Cell B2包含可溢出的动态数组常量:
={1,2,"",4,5,6;7,8,9,"",11,99;100,"",0,0,100,0}
由于此表同时包含公式和常量,所以我尝试了我的信任:
Sub LocateCellsWithStuffInThem()
Dim rng As Range
With ActiveSheet.Cells
Set rng = Un
我正在用Excel VBA做一个应用程序,我需要从一个变量的不同工作表中复制一些范围。
所有范围的列数相同,但行数不同。我在考虑制作一个矩阵。只需将每个工作表的UsedRange添加到另一个工作表...但不可能
For i = 1 To wbDataFile.Sheets.Count
Set wsCPDataFile = wbDataFile.Sheets(wbDataFile.Sheets(i).Name)
If Not DataRng Is Nothing Then
Set DataRng= DataRng (Append??)
Else
我能够用以下代码用所需的格式更新word文档的标题:
Dim myRange As Range
With ActiveDocument
Set myRange = .Sections(1).Headers(wdHeaderFooterPrimary).Range
.Fields.Add Range:=myRange, Type:=wdFieldEmpty, Text:="STYLEREF Title", PreserveFormatting:=True
myRange.Collapse wdCollapseSta
如果Row(8:8)满足某些条件,我目前正在尝试隐藏某些列。我的For Each循环目前无法工作。有人能给我指明正确的方向吗?
Sub hide()
' hide Macro
'
Dim rng As Range
For Each rng In Range("F:BJ").Columns
If Rows.Range("8") = "Test" Or Rows.Range("8") = "Test1" Then
Column.rng.EntireCol
宏应将负值移动到右侧的单元格,并使其为正。如果右边的单元格中已经有一个值,宏会将它们相加。
我可以用下面的代码完成第一步。
Sub tested()
Dim rng As Range
Dim lrow As Integer
Dim nextcell As Long
With ActiveSheet
lrow = .Range("L" & Rows.Count).End(xlUp).Row
For Each rng In .Range("L3:L" & lrow)
我试图编写一个Move or Delete数组中所有列的UDF。
这部分我有。
我还想要Delete or Move数组中的所有列not,而这个部分我被困住了。
这是函数的例2和例4。
如对此有任何帮助,我们将不胜感激
编辑:用David G提供的答案更新
Function InvertRng(shtName As String, r As Range) As Range
Dim rng As Range
Dim Rng1 As Range, Rng2 As Range
Set Rng1 = GetUsedRange(shtName, 1, True)
For Each rng In Rng
我在下面的宏中定义了14个范围。我想要做的是复制并粘贴在一个for循环中,而不是单独的。我本来打算像这样构造for循环,但是我不确定如何连接对象名和变量i的语法,如果能提供任何帮助,我们将不胜感激。
Sub GenerateNewReport()
Dim rng1 As Range
Set rng1 = FindHeader("Category", "Detail")
Set rng2 = FindHeader("RXCUI", "Detail")
Set rng3 = FindHeader("NDC", &
你好,我是VBA的新手,我有一个excel工作表,如下图所示,我希望运行每一行,直到最后一行删除"/“前面的字符。
下面是我的VBA代码。但是,我的代码目前只能在一个单元格上工作,我不知道如何将其更改为一个For循环,以便在所有行中运行到最后一行。另外,有些单元格不包含"/“,我只希望它是一个空单元格。我需要一些帮助我该如何解决这个问题?谢谢,如果有人能帮我做这件事的话,你真的很感激。
Sub String()
' String
Dim stringOriginal As String
stringOriginal = Range("A2").
Sub GetMaxl()
Dim nMonths As Integer, nRegions As Integer
Dim iRow As Integer, iCol As Integer
Dim regionMax As Double, monthMax As Double
Dim maxScore As Integer
With wsSales.Range("A3")
nMonths = Range(.Offset(0, 1), .Offset(0, 1).End(xlToRight)) _
.Columns.Count
nRegions = Ran
在Excel VBA中,我需要清除一个非常大的命名内容范围(但不是格式),然后将取自不同命名范围的公式粘贴到其中。问题在于清除然后粘贴操作的性能。他们相当慢。但是,在工作表上手动执行的相同操作要快得多。板材始终处于手动计算模式。下面是我为此编写的代码:
Sub loadFormuals_(nm_rng_formula As String, nm_rng_control As String, nm_rng_paste As String, nm_rng_clear As String)
Dim rAbs As Integer
Dim rRel As Integer
Dim rng_formul
我刚开始在JavaScript中创建对象。我需要制作一个不经常重复的随机数生成器(我还没有尝试在下面的代码片段中实现这个部分)。如何从n中的函数RNG(n)访问RNG.prototype.rand?就像我现在写的那样,它在我的编辑中显得遥不可及。我也不确定该从RNG还是RNG...rand()回来
function RNG(n) {
this.n = n;
}
RNG.prototype.rand = function() {
var arr = [];
var num = Math.floor(Math.rand()*n);
//keep array of gener
我试图从一个目录中导入多个图像到excel中。我拥有的宏,感谢Google,使图像与单元格的大小一致。我要做的是将每幅图像的高度设置为100 px,同时保持高宽比,并将其插入单元格中。这有可能吗?
这是我发现的宏:
Sub InsertPictures()
Dim PicList() As Variant
Dim PicFormat As String
Dim Rng As Range
Dim sShape As Shape
On Error Resume Next
PicList = Application.GetOpenFilename(PicFormat, MultiSelect:=Tr
首先从源工作簿获取非空单元格的范围。然后在目标工作簿中选择类似的单元格范围。如何才能做到这一点?
完整法典:
Public Sub ConvertTo_K()
Dim rng1 As Range
Dim rng2 As Range
Set rng1 = Workbooks("Source.xls").Worksheets("Source").Range(Cells(2, "A"), Cells(Rows.Count, "A").End(xlUp).Resize(, 1))
Set rng2 = Workbooks(
我想根据可见行的列表获取活动单元格的下一个或上一个单元格。
为此,我测试了两种方法
第一种方法:
获取可见行的范围,如下所示。
Public rng_arr As Range
Public Sub UserForm_Activate()
Set rng_arr = Range(ActiveCell, Cells(ActiveCell.End(xlDown).Row, 1)).Rows.SpecialCells(xlCellTypeVisible)
End Sub
但我不知道如何将选定的单元格与其在范围rng_arr中的对立面相对应,以获得下一个或上一个单元格。
第二种方法:
获取活动单元格
我编写了一个函数,以在一定范围内找到具有特定值的单元格。但是我总是在行上得到'object required‘错误:如果rng是空的。
如果将函数参数(Searchvalue)类型设置为string,则不会发生此错误,只有在函数参数(Searchvalue)类型是变体时才会发生此错误。
这是我的代码:
Function TgtCell(SearchRange As Range, Optional SearchValue As Variant) As Range
For Each Rng In SearchRange
If IsMissing(SearchValu
这可以创建一个返回临时工作表的函数吗?假设我得到了Sub如下所示
Sub My_Sub()
Dim harm As Worksheet
Set harm = Sheets("my_sheet")
Dim lastRow As Long, arr
lastRow = harm.Range("A" & harm.Rows.Count).End(xlUp).Row
arr = harm.Range("T2:V" & lastRow).Value
MsgBox arr