我有一个包含A到J列的Excel文档.我有列K到N的相关数据,但没有对齐.
我需要将列F中的值与列K中的值进行匹配,以便它们排成一行.当我换K时,我必须将L,M,N一起移动.
我无法对A列到J列进行排序 - 它们必须保留在原位.
以前的例子:
A B C D E F G H I J K L M N
data data data data data record1 data data data data record3 data data data
data data data data data record2 data data data data record1 data data data
data data data data data record3 data data data data
data data data data data record4 data data data data
Run Code Online (Sandbox Code Playgroud)
示例之后:
A B C D E F G H I J K …Run Code Online (Sandbox Code Playgroud) 我有一张有200行的纸张,其间有一些空白.
我不能使用End(xlDown)或End(xlUp)获取整个范围,因为有空行.
如何复制到列中包含数据的最后一个范围?
另外,我不想复制标题.
请建议我如何在Excel VBA中执行此操作.
我正在尝试创建一个宏,它在工作簿中的每个工作表上执行以下操作.
Range("U10").Select
FormulaR1C1 = "=R3C2"
Range("U10").Select
Selection.AutoFill Destination:=Range("U10:U19"), Type:=xlFillDefault
Range("U10:U19").Select
Selection.Copy
Range("V10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("V10:V19").Select
Selection.Copy
Range("U10").Select
ActiveSheet.Paste
Range("V9:V19").Select
Selection.ClearContents
Range("A16").Select
Selection.ClearContents
Run Code Online (Sandbox Code Playgroud)
我试过了:
Sub parse()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
'The above code
Next ws
End Sub
Run Code Online (Sandbox Code Playgroud)
不幸的是,这似乎只是将此宏应用于当前活动工作表.
我有一种感觉,这与我没有正确引用范围有关(我是VBA的新手所以任何解释都可以帮助我找到解决方案!).IE浏览器.它应该像ws.Range ......等或者我应该做一些完全不同的事情吗?
我试图在代码隐藏中创建一个excel表,然后下载它.我不想将文件保存在磁盘上,我想直接将其作为响应发送,我尝试了以下代码.但我没有得到确切的excel.
Excel.Application xlApp;
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
object misValue = System.Reflection.Missing.Value;
xlApp = new Excel.ApplicationClass();
xlWorkBook = xlApp.Workbooks.Add(misValue);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
for (int i = 1; i <= 100; i++)
for (int j = 1; j < 100; j++)
xlWorkSheet.Cells[i, j] = i + " : " + j;
Response.ContentType = "application/vnd.ms-excel";
Response.AppendHeader("Content-Disposition", "attachment; filename=translationText.xls");
this.EnableViewState = false;
Response.Write(xlWorkSheet);
Response.End();
xlWorkBook.Close(true, misValue, misValue);
xlApp.Quit();
releaseObject(xlWorkSheet);
releaseObject(xlWorkBook);
releaseObject(xlApp);
Run Code Online (Sandbox Code Playgroud)
如何发送excel工作表对象作为响应.因此,将提示该用户下载excel文件
我用Google搜索并找到了部分问题的答案,但不是完整的问题.我想在Excel VBA中使用Application.GetOpenFilename打开一个文件,我想让它在与ThisWorkbook.Path相同的目录中打开.我发现事先我能做到
OpenPath = ThisWorkbook.Path
ChDrive OpenPath
ChDir OpenPath
Run Code Online (Sandbox Code Playgroud)
但是,在运行之后,如果我运行任何其他Application.GetOpenFilename,它仍然会访问同一个目录(直到我关闭Excel ???).但是,我希望它恢复到默认目录(无论是什么).在我的计算机上,它是Windows XP,它恰好是MyDocuments.但是,一些使用它的人可能有XP,有些可能有Windows 7.我找不到任何地方如何找出原始的默认目录是什么,以便我可以存储这样,以便我以后可以重置回默认.任何帮助将非常感激.
我希望下面的excel表中的“最年轻的白猫”日期显示在单元格中。最小的会出生于2015年7月29日。
在另一个单元格中,我想显示最古老的白猫日期18/07/2015。
Column A ->Animal Column B ->Color Column C ->Date of birth
Run Code Online (Sandbox Code Playgroud)
我知道公式是否适用于一个单元格
=IF(AND(A1="CAT",B1="White"),C1)
RowNo------A-----B--------C-----
1------- CAT White 20/07/2015
2--------CAT White 29/07/2015
3--------CAT White 18/07/2015
4--------DOG Black 29/07/2015
5--------COW White 29/07/2015
6--------CAT White 20/07/2015
7--------COW Black 29/07/2015
8--------COW Black 29/07/2015
Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个代码,该代码将获取标题/名称列表,并为每个标题/名称创建一个选项卡,每个工作表都有一个列表中的名称.例如,给定ActiveSheet上的表(可能不一定是sheet1)
Metric | Comments | Title
1 | testing1 | This is Metric1
2 | testing2 | This is Metric2
Run Code Online (Sandbox Code Playgroud)
我想在ActiveSheet之后添加2个工作表,分别名称为"This is Metric1"和"This is Metric2"(理想情况下,我想用"testing1"填充每个新工作表的单元格A1和"在我们可以运行之前,分别进行测试2".我仍然是VBA的新手,所以请用我的错误代码 - 这是我到目前为止所尝试的:
Sub test_tableTOtabs()
Dim fr As Integer
Dim lr As Integer
Dim col As String
fr = Application.InputBox("Starting row of data: ", , 2)
lr = Application.InputBox("Last row of data: ")
col = Application.InputBox("Column for Tab titles: ")
Dim BaseSheet As Worksheet
Set BaseSheet = ActiveSheet
Dim i As Integer
Dim TitleCell As String …Run Code Online (Sandbox Code Playgroud) sheet1.activate
activesheet.range(cells(2,"Q"),cells(40,"K")).select 'here the error occurs
selection.copy
Run Code Online (Sandbox Code Playgroud)
上面的代码适用于somtimes,有时会抛出一个Error,对象变量没有设置是什么意思?为什么上面的代码不起作用,如果我重新打开文件它再次工作,有时不.但我不知道它发生的原因.我在语法上有任何错误,如果是这样,请让我知道正确的方法.有没有更有效的方法来选择一组范围?除了以上?先感谢您
excel-2007 ×8
excel ×7
excel-vba ×6
vba ×6
asp.net ×1
c# ×1
excel-2010 ×1
excel-tables ×1
loops ×1