我的应用程序(vb.net)在尝试删除AppData文件夹中的文件时有时会抛出"拒绝访问"异常,我不知道为什么.
我确认该文件在尝试删除之前是存在的,并且没有做任何事情来使它只读,等等.
有趣的是,当我使用管理员权限登录时似乎没问题.但是,我认为AppData文件夹不需要管理员权限.
任何帮助将不胜感激!
谢谢!
我有一张excel表,里面有一些巨大的数据.数据组织如下,一组7列和n行; 如表中所示,1000个这样的表水平放置,空列分开.屏幕截图如下......
...
我只想将每个"表"的数据保存到不同的文件中.手动它需要永远!那么,是否有一个宏或其他什么我会自动执行此任务.我不熟悉编写宏或任何VBA的东西.
谢谢,
我是vba的新手 - 我实际上只做了3天.
无论如何,我有一些从用户那里获取数据的表单,然后我将它们写入单独的"日志"表的顶行.我正在使用这个:
With Worksheets("Log")
.Unprotect
.Range("A2").EntireRow.Insert Shift:=xlDown
.Range("A2") = varToken
.Range("B2") = varAction
.Range("C2") = varLocation
.Range("D2") = varTracking
.Range("E2") = Date
.Range("F2") = Time
.Range("G2") = varPerson
.Range("H2") = varOverride
.Protect
End With
Run Code Online (Sandbox Code Playgroud)
麻烦的是,它会在日志表上轻弹半秒钟,然后需要很长时间才能写入.
我把它写到日志的顶行的原因是我在前面的表格中总结了使用100个varlook的vlookup(要查找100个不同的标记),它们找到了第一个(即顶部)条目在日志表中.
如果速度更快,我可以写到日志表的底部,但是我需要一个代码来替换100个vlookups,这些代码可能会在成千上万行中查找最后一个令牌,并且会快速运行!
提前致谢!
当我单击工作表上的按钮时,将调用以下事件.
我收到错误'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"而不是通用的非描述符极客说话消息为最终用户?
我想在excel中自动修改列的数字格式.
Set excel = CreateObject("Excel.Application")
Set oWB = excel.Workbooks.Open("E:\Docs\Invoice.csv")
/* Excel Macro starts */
Columns("G:G").Select
Selection.NumberFormat = "m/d/yyyy"
Columns("H:H").Select
Selection.NumberFormat = "0.00"
/* Excel Macro ends */
oWB.save
oWB.Application.Quit
Run Code Online (Sandbox Code Playgroud)
我使用命令行运行.vbs.Excel文档未更新.
有谁可以帮我解决这个问题?
提前致谢
我有一个折线图,我试图通过VBA添加给定Y值的水平线.我正在遵循本指南,建议在现有图表中添加一行,然后将其类型更改为分散,这会导致Excel自动将系列放在辅X轴上.然后可以进一步格式化它.
我的问题是,当使用VBA执行此操作时,我不明白如何将线切换到辅助X轴.默认情况下,所有新行都将在主X轴上.
例如,假设chrt是Chart对象:
' Enable secondary X axis (I think)
chrt.HasAxis(XlAxisType.xlCategory, XlAxisGroup.xlSecondary) = True
Dim se As Series
Set se = chrt.SeriesCollection.NewSeries
se.ChartType = xlXYScatterLinesNoMarkers
' Add a line at Y = 0
se.xValues = Array(0, 1)
se.values = Array(0, 0)
Run Code Online (Sandbox Code Playgroud)
现在,如何se进入辅X轴?
我有一列有 7000 多个名字。我想让每个名字的长度不超过5. 这是我尝试过但不起作用的方法
Sub del()
Dim myCell
Set myCell = ActiveCell
Dim count As Integer
count = Len(ActiveCell)
While count > 5
myCell = Left(myCell, Len(myCell) - 1)
myCell.Offset(1, 0).Select
Set myCell = ActiveCell
Wend
End Sub
Run Code Online (Sandbox Code Playgroud)