Tag: 单元格

excel – 根据第一个单元格中的数字,将单元格数据拆分为其他单元格

我有一个单元格在Excel中包含以下数据 108-0,109-1,110-0,111-2,112-0,113-192,114-87,115-100,116-80,117-60 我需要创build一个脚本或语句,可以将单元格中的数据拆分为自己的单元格。 像数据一样: 108-0将被放入数据0的单元格A108中,109-1将被放入数据1的单元格A109中。 那将如何完成? 任何提示我应该读什么? 提前致谢 我忘了提及Excel表格应该自动执行。 我正在导入几百个这样的100-1值,所以它们应该被自动放入自己的单元格中。 结果 – 这对我有用: Sub tst() Dim X As Variant X = Split(Range("A1").Value, ",") Range("A1").Resize(UBound(X) – LBound(X) + 1).Value = Application.Transpose(X) End Sub

如何从Excel中的单元格中select一个值

我怎样才能正确selectExcel中的单元格的值? 我知道我的问题是与select单元命令。 我的实际脚本: List<string> wsList = new List<string>(); DataTable schemaTable; DataSet da = new DataSet(); OleDbDataAdapter adapter = new OleDbDataAdapter(); string name; string FileName = fullpath; string _ConnectionString = string.Empty; string _Extension = Path.GetExtension(FileName); // Checking for the extentions, if XLS connect using Jet OleDB if (_Extension.Equals(".xls", StringComparison.CurrentCultureIgnoreCase)) { _ConnectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0; Data Source={0};Extended Properties=Excel […]

VBA Excel – 运行时错误'1004'当试图分配一个单元格的值

对于背景,请参阅我以前的问题 。 ((我之前发布了相同的代码,但是有不同的问题,但这是我遇到的一个新问题。) 我已经摆脱了使用variables的一些错误.Value已经搞乱了Cells(row,column)的语法,而且我刚刚修复了.Find所以我现在正确地使用它。 我以为我只是在那里完成这个代码,但现在我收到一个运行时错误'1004':应用程序定义或对象定义的错误消息在这一行: Cells(currentRow, dateAddress).Value = billAmount 'Cells(currentRow, "D").Value 'Populate cell with amount 我曾尝试使用Set 。 我已经尝试创build一个variablesbillAmount ,从Cells(currentRow, "D").Value赋值给它,然后像上面那样赋值Cells(currentRow, dateAddress).Value 。 我已经尝试只有一个单元格等于其他单元Cells(currentRow, dateAddress).Value = Cells(currentRow, "D").Value单元Cells(currentRow, dateAddress).Value = Cells(currentRow, "D").Value但也不起作用。 在debugging模式下,如果我将鼠标hover在currentRow , billAmount和dateAddress它们都具有期望的值。 然而,我似乎无法得到最后的细胞填充。 一旦我解决了这个问题,我相信我必须将其应用于我的代码的最后部分中的所有IF THEN语句。 但希望那么它应该是完整的。 这是我的代码: Private Sub CommandButton1_Click() Dim currentDate As Date Dim currentRow As Integer Dim repeatuntilDate As Date Dim […]

如何使用VBA在Excel中的错误单元格中获取基础值

我有这个问题纯粹由VBA解决,不允许手动干预。 在excel中,如果input一个以负号开始的非数字string,例如“-SomeData”,则单元格将显示为“#NAME?”。 但是,如果select此单元格,则在公式栏中将显示“= -SomeData”。 现在我需要提取“-SomeData”并将其粘贴到另一张纸上。 我尝试.value,但它返回错误和.text,但它返回“#NAME?”。 我浏览了MSDN上Range对象的整个列表,但没有find可行的解决scheme。 有没有办法纯粹由VBA做到这一点? 询问是因为macros的用户拒绝为错误单元格进行手动格式化。 提前致谢。

使用xlUp并得到奇怪的结果

我有一个列中的数字,从第25行开始。我想用这个列有数据的行号来填充一个数组。 下面的代码工作提供的数字是排列在很远的行。 为了简单起见,我假设在500行范围内不超过20个这样的行。 当行连续填充数据时,我得到奇怪的结果。 例如:在行45,46,47有数据,但是这个代码只返回行45和47.我是VBA的新手,很容易灰心。 请帮忙 :) Dim li_lastrow, li_current_row, rowvalue As Integer Dim lb_finished As Boolean Dim a(1 To 20) As Integer i = 1 li_last_row = 500 lb_finished = False Do Until lb_finished Or (i = 20) rowvalue = Worksheets("Sheet1").Range("C" & li_last_row).End(xlUp).Row If rowvalue <= 25 Then lb_finished = True Else a(i) = […]

将逗号分隔到列中

Soo发现了很多类似的问题,但没有什么真正适合我想要做的事情,而且有点卡住了。 基本上我想要做的是有一个单元格(在这种情况下,A1),有多个值用逗号分隔(总是4个值),然后把它拆分成沿着列的单独的行。 例 A1[10,9,8,6] 需要成为 a10[10], b10[9], c10[8], d10[6] 我正在使用的当前代码是: Dim X As Variant X = Split(Range("A1").Value, ",") Range("a10").Resize(UBound(X) – LBound(X) + 1).Value = Application.Transpose(X) 这将输出垂直向下的数据列,当我需要它输出,如上所示

Excel:在单元格上运行macros单击

我正在使用下面的代码插入今天的date到单元格中,当用户单击到该行中的另一个单元格时。 目前代码是这样设置的; 如果用户单击单元格AQ8,然后将date插入单元格AS8。 Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) If Target.Address = "$AQ$8" Then Range("AS8").Value = DATE End If End Sub 但是,现在我想稍微改变这个代码,以便当用户更改任何行中的任何AQ单元格时,随后的AS单元格将该date插入该行的相应单元格中。 所以,如果单元格AQ9被点击,然后AS9显示今天的date,当他们点击AQ10,然后AS10显示今天的date等等。 这将被写为目标行function? 如果是的话,我会如何写这样的东西? 有人可以告诉我怎么能得到这个做我所需要的,在此先感谢

Excelmacros可更改单元格alignment方式,边框和换行文本(如果已将值input到同一行中的另一个单元格中)

我正在尝试创build一个Excelmacros,更新单元格alignment,如果一个值被input到该特定行中的一个单元格中,则在每行中包装单元格的文本和边框。 例如,如果一个值input到单元格A1中,那么我希望macros更新单元格A1:O1的换行文本,单元格alignment和边框。 不幸的是,对电子表格中的每一行应用条件格式化是相当麻烦的,只能处理更新单元格边界,所以我认为一个可以更新所有3个单元格格式元素并dynamicsearch整个工作表的macros是最好的。 感谢你的协助!

MATCHfunction将不适用于单元格引用

我正在尝试在多张工作表中使用INDEX / MATCH函数。 基本上,我希望Excel查看单元格C3中的值,在另一个表上find与C3值相匹配的行,并返回该行H列中单元格的值。 如果我把C3的值放在引号中(例如"99213" ),那么我在下面写的这个公式会起作用,但如果我使用单元格引用本身(例如C3 ;见下文),它将返回"99213" #N/A 我在这里错过了什么? 如果有帮助,C列中的值由5位字母数字string组成,格式为“常规”。 =INDEX('2015 RVU data'!$H$8:$H$8922,MATCH(C3,'2015 RVU data'!$A$8:$A$8922,0))

VBA:来自userForm的访问表

我正在尝试访问我的工作簿和工作表,而我在UserForm的子例程中。 工作表中的焦点更改时,我的macros开始: Sub Worksheet_SelectionChange(ByVal Target As Range) '… End Sub 在我的UserForm中,我现在想要定义当右上angular的红色x被按下时会发生什么。 在这种情况下,我想在用户窗体closures时更改Sheet1中的焦点/select。 虽然,我想要做到这一点相对于原来的位置,所以相对于目标或相对于ActiveCell 。 在上面的例程中有什么作用是: ActiveCell.Offset(0, 1).Select 不过,我想在下面的例程中这样做: Sub UserForm_Terminate() Me.Hide 'change focus here End End Sub 我能够select一个单元格 Sheet1.Cells(3, 3).Select 但这显然不是相对于原来的位置。 在UserForm_Terminate中, Target和ActiveCell都不可用 我希望任何人都可以帮忙 Vincenz