您好我发现这个代码在StackOverflow,我想知道如何修改它(见下面的代码剪切…) Sub TestMacro() Dim dblRow As Double, dtDate As Date, strProject As String Dim strFalut As String, strProb As String, strSol As String dblRow = InputBox("Input on What Row?") dtDate = InputBox("Date", , Date) strProject = InputBox("Project #") strFalut = InputBox("Fault") strProb = InputBox("Problem") strSol = InputBox("Solution") Range("A" & dblRow).Value = dtDate Range("B" & dblRow).Value […]
我遇到了类似的问题,并阅读答复: 仍然暂停代码执行的无模式 我一直试图在我自己的情况下应用David Zemens提供的build议。 在我的情况下,我似乎找不到一个结合了泽门先生的build议而不使用GoTo的方法。 我想知道是否有更好或更优雅的解决scheme。 以下是我正在做的事情的概要: 我有一个用户窗体与一个命令button开始代码执行将执行多个Excel工作簿上的多个操作。 因此,有多个代码块,并且一个代码块的成功完成允许执行随后的代码块。 在某些情况下,根据情况,代码可能需要用户input; 在其他情况下,所需的数据可以从Excel获得。 如果需要从用户input,则会显示另一个用户窗体。 用户可能需要在inputinput之前查看几个不同的Excel工作表,所以UserForm是无模式的。 因此,代码停止,直到用户input所需的input并单击另一个命令button。 在这一点上,我有麻烦:如何恢复程序stream程。 唯一可以通过GoTo语句来拾取“停止”的方法是? 还是有某种方式来组织模块,所以有一个单一的一致的程序stream,定义在一个点,而不是从用户input可能需要的点重复?
我希望用户通过InputBox对话框input最后填充的单元格编号。 numRows = InputBox("Enter number of rows in the BOM: ", "Number of Rows") 问题是当对话框在屏幕上时,用户不能向下滚动查看最后一行。 由于某些单元格填充了一些单元格,所以很难dynamic地查找填充行的数量。 谢谢。 编辑:我使用Excel 2007
我只是试图在用户select的范围内select一个随机的行。 但是,有时程序会在特定范围之外select一个随机行。 请参阅下面的代码摘录: Dim PopulationSelect As Range Set PopulationSelect = Application.InputBox("Select range of cells in the population", Type:=8) RandSample = Int(PopulationSelect.Rows.Count * Rnd +1) Rows.(RandSample).EntireRow.Select 有谁知道这是为什么,以及如何解决它? 先谢谢你。
我是Python的新手,所以我希望这听起来不错。 我如何使用Python从用户input写入Excel文件? 我想让我的脚本询问用户“姓名”,“职位”,“build筑编号:”,“date:”等,并从该原始input,在Excel电子表格中相应填写相应的列。 我不希望将来使用该脚本覆盖表单中的以前的数据。 我希望每次都在电子表格中创build一个新行,然后在每行中填写正确的条目。 我希望这是有道理的。 提前感谢您的帮助。
我目前正在做一个工作表,它应该使用不同的用户表单来执行任务和计算。 用户表单通过button调用。 所以用户的所有input都应该通过这些用户表单来完成; 实际的工作表应该只包含应该是只读的结果(对于用户)。 问题: 保护工作表也将阻止macros进行更改。 以下代码与保护工作表的问题相同。 Private Sub Worksheet_Change(ByVal Target As Range) If Not IsEmpty(Target) Then Target.Clear MsgBox "SomeAlertMSG" End If End Sub 任何build议如何做到这一点,而不使用自制的布尔标志?
为了logging,我正在使用Excel 2010。 我试图教自己的VBA工作(他们给实习生的VBA的东西…),我陷入了最简单的事情。 我正在试图制作一个三列宽的表格。 表中的行数必须基于用户的input量。 在我的代码中,这是用户为Count的值。 我的问题是,我不知道如何select我需要的范围。 我知道如何select范围的唯一方法是使用: ActiveCell.Range("Top left cell:Bottom right cell").Select 如果是从A1到C8 ,我该怎么做? 我希望它会像下面这样工作: ActiveCell.Range("A1:C(count)").Select 这是我迄今为止: Option Explicit Dim Count As Long Dim CFLArray() As Variant Sub TableCreation1() Range("A1").Select ActiveCell.FormulaR1C1 = "Time (days)" ActiveCell.Offset(0, 1).Range("A1").Select ActiveCell.FormulaR1C1 = "CFL (measured)" ActiveCell.Offset(0, 1).Range("A1").Select ActiveCell.FormulaR1C1 = "De (estimated)" ActiveCell.Offset(0, -2).Range("A1:C1").Select Selection.Font.Bold = True ActiveCell.Columns("A:A").EntireColumn.EntireColumn.AutoFit ActiveCell.Offset(0,1).Columns("A:A").EntireColumn.EntireColumn.AutoFit ActiveCell.Offset(0,2).Columns("A:A").EntireColumn.EntireColumn.AutoFit […]
我有一对夫妇的macros,从一个文件中的不同工作簿拉两张工作簿到一个工作簿,并逐行比较两个工作表的差异。 问题是,无论何时我比较新的工作表对,我必须更改VBA代码中的所有工作表引用。 有没有办法添加一个input或消息框要求两个新的名单的工作表? 例如,一个盒子会popup,并说:“请input原始表格名称”,另一个会popup并说“请input新的表格名称”。 另外,有没有办法把这些macros组合起来尽可能less? Sub GetSourceSheets() 'This macro will loop through excel files 'in a location and copy the their worksheets into the current workbook. 'Instructions: Replace the file path, which starts on the 8th line, with a file path to the folder 'that contains the two vendor site lists that you wish to […]
所以这里是困境,我相信这是一个简单的解决scheme。 我正在使用App Inventor 2。 我想使用Fusion,并使其自动创build,例如4个预加载/预先创build的表格,以方便用户。 table1,table2,table3,table4。 然后,每个下载应用程序的用户都可以自定义这些表格。 他们将有自己的私人融合表与他们自己创build的私人信息。 所以我的目标是,如果有人下载了应用程序,他们将不必创build一个融合表或知道任何关于编码,它会自动填充他们的谷歌帐户,并可以检索它。 还有一种方法可以通过CSV(逗号分隔值)方便地从他们的PC上的networking浏览器从一个简单的链接在线从Excel获取信息? 感谢您的时间。
这是我第一次在这里发帖。 我有一个关于Excel的快速问题。 目前我有一个input页面,可以input项目名称,然后填写项目的详细信息。 有什么方法可以将这些信息存储在另一张纸上? 例如,如果我在项目input中input“项目A”,那么它将被保存在另一个表格或其他表格中,并且进程信息(如date,价格等)将随之保存。 然后,如果我input一个新的项目名称,如“项目B”,将创build一个新的条目与后续的数据。 谢谢!