- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下代码,可以在.xlsm文件中正常工作,但是当我将代码复制到Personal.xls文件中时,它不再起作用。我搜索了该论坛并找到了类似的主题,但是似乎没有一个主题可以解决我的问题。
我确定您可以看到我的代码是随机创建密码的(20个字符的日志,但为此我修改了公式以仅显示3个字符)。
Sub Password_Generator()
Application.ScreenUpdating = False
Sheets.Add.Name = "Password"
Range("B1").Value = "A"
Range("B2").Value = "B"
Range("B3").Value = "C"
Range("B4").Value = "D"
Range("B5").Value = "E"
Range("B6").Value = "F"
Range("B7").Value = "G"
Range("B8").Value = "H"
Range("B9").Value = "I"
Range("B10").Value = "J"
Range("B11").Value = "K"
Range("B12").Value = "L"
Range("B13").Value = "M"
Range("B14").Value = "N"
Range("B15").Value = "O"
Range("B16").Value = "P"
Range("B17").Value = "Q"
Range("B18").Value = "R"
Range("B19").Value = "S"
Range("B20").Value = "T"
Range("B21").Value = "U"
Range("B22").Value = "V"
Range("B23").Value = "W"
Range("B24").Value = "X"
Range("B25").Value = "Y"
Range("B26").Value = "Z"
Range("B27").Value = "a"
Range("B28").Value = "b"
Range("B29").Value = "c"
Range("B30").Value = "d"
Range("B31").Value = "e"
Range("B32").Value = "f"
Range("B33").Value = "g"
Range("B34").Value = "h"
Range("B35").Value = "i"
Range("B36").Value = "j"
Range("B37").Value = "k"
Range("B38").Value = "l"
Range("B39").Value = "m"
Range("B40").Value = "n"
Range("B41").Value = "o"
Range("B42").Value = "p"
Range("B43").Value = "q"
Range("B44").Value = "r"
Range("B45").Value = "s"
Range("B46").Value = "t"
Range("B47").Value = "u"
Range("B48").Value = "v"
Range("B49").Value = "w"
Range("B50").Value = "x"
Range("B51").Value = "y"
Range("B52").Value = "z"
Range("B53").Value = "1"
Range("B54").Value = "2"
Range("B55").Value = "3"
Range("B56").Value = "4"
Range("B57").Value = "5"
Range("B58").Value = "6"
Range("B59").Value = "7"
Range("B60").Value = "8"
Range("B61").Value = "9"
Range("B62").Value = "0"
Range("B63").Value = "!"
Range("B64").Value = "£"
Range("B65").Value = "$"
Range("B66").Value = "%"
Range("B67").Value = "&"
Range("B68").Value = "*"
Range("A1").Select
ActiveCell.FormulaR1C1 = "1"
Range("A2").Select
ActiveCell.FormulaR1C1 = "2"
Range("A3").Select
ActiveCell.FormulaR1C1 = "3"
Range("A1:A3").Select
Selection.AutoFill Destination:=Range("A1:A68"), Type:=xlFillDefault
Range("A1:A68").Select
Columns("A:B").Select
Selection.EntireColumn.Hidden = True
Columns("G").Select
Selection.ColumnWidth = 35
Range("G2").Value = "PASSWORD"
Range("G4").Value = "Select F9 to generate a new password"
Range("G3").Formula = "=VLOOKUP(RANDBETWEEN(1,68),A:B,2,0)&VLOOKUP(RANDBETWEEN(1,68),A:B,2,0)&VLOOKUP(RANDBETWEEN(1,68),A:B,2,0)
Range("G2:G4").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
Range("G2").Select
Selection.Font.Bold = True
Range("G4").Select
Selection.Font.Italic = True
Selection.Font.Size = 9
Range("G3").Copy
Application.ScreenUpdating = False
End Sub
最佳答案
您必须指定要在哪个工作簿中添加工作表,并为所有范围指定一个工作簿
Dim wsNew As Worksheet
Set wsNew = ActiveWorkbook.Worksheets.Add
wsNew.Name = "Password"
wsNew.Range("A1").FormulaR1C1 = "1"
.Select
,因为这是一种不好的做法(请参阅
How to avoid using Select in Excel VBA)。
Range
,Cells
,Columns
,Rows
等对象应用此技术(指定工作表并删除select)。
Range("B1").Value = "A"
语句:
Const Letters As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890!£$%&*"
Dim iLetter As Long
For iLetter = 1 To Len(Letters)
wsNew.Cells(iLetter, "B").Value = Mid$(Letters, iLetter, 1)
Next iLetter
Sub Password_Generator()
Application.ScreenUpdating = False
Dim wsNew As Worksheet
On Error GoTo ERR_ADDSHEET 'catch error if worksheet exists
Set wsNew = Worksheets.Add
On Error GoTo 0 're-enable error reporting
wsNew.Name = "Password"
Const Letters As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890!£$%&*"
Dim iLetter As Long
For iLetter = 1 To Len(Letters)
wsNew.Cells(iLetter, "B").Value = Mid$(Letters, iLetter, 1)
Next iLetter
With wsNew
.Range("A1").Value = "1"
.Range("A2").Value = "2"
.Range("A3").Value = "3"
.Range("A1:A3").AutoFill Destination:=.Range("A1:A" & Len(Letters)), Type:=xlFillDefault
.Columns("A:B").EntireColumn.Hidden = True
.Columns("G").ColumnWidth = 35
.Range("G2").Value = "PASSWORD"
.Range("G4").Value = "Select F9 to generate a new password"
.Range("G3").Formula = "=VLOOKUP(RANDBETWEEN(1,68),A:B,2,0)&VLOOKUP(RANDBETWEEN(1,68),A:B,2,0)&VLOOKUP(RANDBETWEEN(1,68),A:B,2,0)"
.Range("G2:G4").HorizontalAlignment = xlCenter
.Range("G2:G4").VerticalAlignment = xlCenter
.Range("G2").Font.Bold = True
.Range("G4").Font.Italic = True
.Range("G4").Font.Size = 9
.Range("G3").Copy
End With
ERR_ADDSHEET:
Application.ScreenUpdating = True
If Err.Number > 0 Then MsgBox "Worksheet could not be added.", vbCritical
End Sub
关于excel - 密码生成器公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52832258/
我对为什么我的 Excel 工作簿中的 if 公式不起作用感到目瞪口呆。 像 =if(F2=0, TRUE, FALSE) 这样简单的事情会引发一般错误“这个公式有问题”。不知道在哪里可以解决这个问题
在链接的电子表格中,我试图总结从一月到单元格 B1 中的日期的列 R 类别的所有实例(对于这个例子,让我们说“CAM 收入”)。 在这种情况下,总和应该是 ( B7:F7 ) 和 ( B9:F9 )
这是一个两部分的问题。我想根据价格的生效日期查找商品的价格。我看过垂直生效日期的例子,但我的有点不同。我在第一列 (A) 中有项目。其余列包含带有价格生效日期的标题。希望我能够附上格式示例。我以这种方
我想从第一个单元格开始自动增加月份。 A1 = 2019-01 以下单元格中的公式应自动填充其余单元格。 A2 = 2019-02 : : A13 = 2020-01 有没有一种简单的方法可以做到这一
在 Excel 中,如果 2021 年是基准年(第 1 年),并且我正在以月份为单位进行财务模型(但仍想知道该月份对应于哪一年),我可以使用什么公式来表示月份 0- 12 是第 1 年,第 13-24
我有以下公式,但它不起作用,因为当我在名称周围添加加利福尼亚时它只是失败了,所以它只是告诉我一切都是英国。我怎样才能解决这个问题? =IF(OR(N10776="*California*",N1077
我有这个公式: =IF(AD491="In progress" OR AD491="Reopened"(ROUND($BW$1-AI491,0),($BW$1-BB491+1)) 它正在检查单元格 A
我想做一个总结表。 我创建了一个名称下拉列表:Bob、Jack、Beth 和一个包含两个选项的下拉列表:已完成或更正待定。 在任务旁边的 Sheet2 上,您将选择名称,然后选择两个选项之一。 在摘要
如果我在 A 列中有以下数据: A1 = 3.5.15 A2 = 2.6 A3 = 8.4.3.16.7 我想要一个公式,它可以在下一列 B 中返回以下内容: B1 = 3.5 B2 = 2 B3 =
我在 Excel 2013 中有一张水果表。 我想通过从当前行到顶部搜索直到第一次出现“::”来填充“类别”列,这是表中类别的关键字。 如果有某种方法可以反转范围,我可以执行类似 "=Match(":
我这里有 2 张 table : 我要填写Code表 1 中的列,引用表 2。值的条件是开始日期必须在 ProductionDate 之间。和 ExpiryDate表 2 的类型,表 1 中的类型必须
我有以下工作表: 网格填充有以下公式(此示例来自单元格 H4),该公式根据左侧表格中的输入填充网格,=IF($A4="","",IF(AND($E4="Daily",H$2>=$D4,H$2=$D4,
我在 A1 中有以下值。当我向下拖动时,它应该以如下所示的方式增加。 B 应该首先增加,保持 C 不变。一旦 B 达到最大值,即 2,则 C 应该增加。 C 的最大值实际上取决于行号,行号除以 2 或
我会尽我所能理解这一点。我很讨厌把事情说清楚。 :) 所以……就这样…… 我有一张电子表格,上面列出了我种植辣椒的种子。这是我的专栏,我会在后面解释更多。 裁剪 |颜色 |一代 |物种 |来源 |斯科
我在 Excel 电子表格中有两个列表。 第一个列表有字符串,例如 1234 blue 6 abc xyz blue/white 1234 abc yellow 123 另一个列表包含第一个列表的子字
我正在尝试创建一个 SumIf 公式,该公式根据一个标准将多个列添加在一起。 =sumif(F$8:F$58,F73,L$8:L$58+I$8:I$58) 这给了我一个错误,并且不会将两列加在一起。
你好我想知道是否有一个公式相当于每个语句。 我知道使用 VBA 可以做到这一点,但鉴于这是一份官方报告,我更愿意让它无宏。 基本上我有一个列(假设是 A),其中包含支付发票的时间 ` |------
任何用于计算频率表中数据平均值(众数、标准差、...)的简单 Excel 公式,如下所示: value frequency 5 3 8 5 4 1
例如:您希望在 Z# 年的每年年初以今天的美元收到 $X。假设 3% 的恒定通货膨胀率和 7% 的复合年返回率。 我知道计算通货膨胀调整后 yield 的公式;对于返回率,您必须使用以下公式: [[(
需要一些帮助来找出一个公式来计算一个值在列中列出的次数。我将尝试解释下面的要求。 下图显示了数据集的示例。 要求是列出每个客户的问题和行动。 如您所见,即使从单元格中聚集的值中,我们也需要找出各个唯一
我是一名优秀的程序员,十分优秀!