我需要动态构建一个下拉列表,然后在将特定文本输入单元格后,我执行一些SQL并Dropdown从返回的行构建一个.
事件如何集中在一个单元格(而不是整个电子表格)的值上?
在创建之前,我必须将SQL行值"粘贴"到电子表格中Dropdown吗?是否可以在VBA中填充,Dropdown而无需将值粘贴到电子表格中,然后突出显示它们以创建Dropdown?
谢谢
当我单击工作表上的按钮时,将调用以下事件.
我收到错误'Type mismatch'
我怀疑如果事件是由于按下按钮,我需要另一个if语句来停止评估原始IF?
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("D4") Then 'Error is here
End If
End Sub
Run Code Online (Sandbox Code Playgroud) 我希望有人可以帮助解决这段代码.如果我在A栏中找到文本'FemImplant',我想删除整行.棘手的部分是这个文本是由'$'链接的句子的一部分.所以我需要代码在'$'之前解析单元格内容,看看它是否与'FemImplant'匹配并删除该行.这是我到目前为止所做的,但它是无法工作的.
Dim cell As Excel.Range
RowCount = DataSheet.UsedRange.Rows.Count
Set col = DataSheet.Range("A1:A" & RowCount)
Dim SheetName As String
Dim ParsedCell() As String
For Each cell In col
ParsedCell = cell.Value.Split("$")
SheetName = ParsedCell(0)
If SheetName = "FemImplant" Then
cell.EntireRow.Delete Shift:=xlUp
End If
Run Code Online (Sandbox Code Playgroud)
下一个
我试图通过VBA操作Excel 2007数据透视表,以便我可以循环使用数据透视表的类别,将所有设置为不可见但只有一个,将工作表另存为pdf并继续下一个类别.为此,我使用以下代码.
Dim pf As PivotField
Set pf = ActiveSheet.PivotTables("PivotTable1").PivotFields("NAME")
Dim pi as PivotItem
For Each pi In pf.PivotItems
If pi.Visible = False Then
pi.Visible = True 'Error here
End If
Dim pi2 As PivotItem
For Each pi2 In pf.PivotItems
If pi2 <> pi Then
pi2.Visible = False
End If
Next pi2
'Saving to PDF goes here
Next pi
Run Code Online (Sandbox Code Playgroud)
循环似乎是第一次工作.取消选择每个类别,但第一个类别输出一个漂亮的PDF文件.下次进入循环时,它会在指定的行给出"无法设置PivotItem类的Visible属性"错误.我知道在一个数据透视表中必须至少选择一个项目,但这不是问题,因为我试图将可见性设置为TRUE而不是FALSE.
我尝试通过检查它来修复它,因为可能你不允许将已经可见的PivotItem设置为可见,但这似乎不起作用.
任何帮助将非常感谢!
有没有办法说错误1004出现,显示消息"消息"和如果错误9,显示消息"消息2"而不是通用的非描述符极客说话消息为最终用户?
我制作了一个电子表格,用户可以将邮政编码和数量输入2个单元格,我还有其他单元格进行计算并显示结果.
我添加了一些VBA以防止任何人删除行和列,但我想防止删除范围内的任何单元格,但也允许用户对某些单元格进行更改,但也阻止编辑具有公式的单元格.
在单元格中E4,用户可以输入邮政编码.在E6,用户可以输入数量.这些可以编辑但不能删除.E8:E9并且E11:E14都是从列表中保存数据的下拉列表(验证).这些可以使用下拉菜单更改,但不能删除.
L10:L14,L16,L23:L27,L29,L30:L33都可以有自己的数据编辑,但不会被删除.
这个VBA会是什么样子?我猜它会使用Worksheet_Change() event.
在Excel中,如果双击其右侧"边框"上的列,则可以将宽度自动调整为该列中最大值的宽度.
如何在VBA中复制此内容?
我的网站上有一个文本文件,只包含字符串"1.15"(我正在编写的应用程序版本).在初始化用户表单时,我想从其URL读取该文件并返回字符串"1.15",以便我可以根据应用程序的版本(存储为const字符串)进行检查.
这是我想要的格式......
Const version As String = "1.14"
Const currentVersionURL As String = "http://mywebsite.com/currentversion.txt"
Sub UserForm_Initialize()
If version <> GetCurrentVersionNumber() Then
MsgBox "Please update the application."
End If
End Sub
Function GetCurrentVersionNumber() As String
' What do I put here? :(
End Function
Run Code Online (Sandbox Code Playgroud)
我知道该Workbooks.OpenText方法,但我不想将字符串写入工作簿.我尝试过使用ADODB.LoadFromFile和WinHttp.WinHttpRequest.Open方法,但两者都无法读取文件.
任何有关填写内容的建议GetCurrentVersionNumber()都将不胜感激.:)
我需要什么样的语句来检查vba中的SaveAs操作是否成功?
Sub saveBookAs()
wb.SaveAs fileName:="newFile"
End Sub
Run Code Online (Sandbox Code Playgroud) 一周前我刚刚开始玩VBA.我可以打开IE并进入Facebook.我甚至可以在右侧插槽中输入我的电子邮件(因为光标已经被选中了该位置).我似乎无法找到一种方法来选择密码字段来输入我的密码.更别说按下登录按钮了.请帮忙
到目前为止,这是我的代码
Sub facebookPost()
Dim IE As Object
Set IE = CreateObject("INTERNETEXPLORER.Application")
IE.Navigate ("www.Facebook.com")
IE.Visible = True
Do While IE.Busy
DoEvents
Loop
Application.Wait (Now + TimeValue("00:00:02"))
IE.Document.all.Item("email").Value = "*******"
IE.Document.all.Item("pass").Value = "********"
End Sub
Run Code Online (Sandbox Code Playgroud)