似乎Visual Basic不能根据用户修改的工作表名称引用工作表.工作表选项卡可以更改其名称,但似乎Visual Basic仍然将工作表名称视为Sheet1等,尽管工作簿选项卡已更改为有用的东西.
我有这个:
TABname = rng.Worksheet.Name ' Excel sheet TAB name, not VSB Sheetx name.
Run Code Online (Sandbox Code Playgroud)
但我想在Visual Basic例程中使用工作表名称.到目前为止我能得到的最好的是选择Case Case the Worksheet Tab与Visual Basic名称,这不是我的一天.Visual Basic必须知道Sheet1,Sheet2等名称.如何将这些与Excel选项卡名称关联起来,以便我不必维护一个随每个新工作表或工作表选项卡重命名而更改的查找表?提前感谢您的回复.
我最近在scala并尝试传递一些简单的scala工作表.
IDE是Intellij IDEA社区版和OS Ubuntu 12.04,sbt安装正确.
但它会引发错误 - error: not found: value
OI无法理解为什么会这样:
码:
object session {
1 + 2
def abs(x: Double) = if (x < 0) -x else x <== update this line
def sqrtIter(guess: Double, x: Double): Double =
if (isGoodEnough(guess, x)) guess
else sqrtIter(improve(guess, x), x)
def isGoodEnough(guess: Double, x: Double) =
abs(guess * guess - x) < 0.001
def improve(guess: Double, x: Double) =
(guess + x / guess) / 2
def sqrt(x: Double) …Run Code Online (Sandbox Code Playgroud) 我正在修改电子表格.当工作表更改时,程序员为每张工作表制作一个宏.这很好,因为它在添加新信息时会对纸张详细信息进行颜色协调,因此我希望保留此功能.
我编写了一个宏来对数据进行排序并允许删除和添加新员工,这与更改事件宏相冲突,并且如果它们都可操作则导致我的宏出错.
问:有没有办法在宏运行时绕过工作表更改事件,然后在宏完成后再次将其置于适当位置?
以下是更改事件的代码.
Private Sub Worksheet_Change(ByVal target As Excel.Range, skip_update As Boolean)
If skip_update = False Then
Call PaintCell(target)
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
当我引用工作表或范围时,我的宏会出现错误.
我正在使用C#开发一个程序来操作Excel文档,我正在使用它
Microsoft.Office.Interop.Excel._Worksheet worksheet;
Run Code Online (Sandbox Code Playgroud)
当我向ax插入一些东西时,我使用的是y单元格:
worksheet.Cells[x, y] = "something";
Run Code Online (Sandbox Code Playgroud)
现在我想知道是否可以backColor从C#更改Cells [x,y].
谢谢.
我正在使用PHPExcel动态生成订单收据.
我希望能够生成一个"摘要"Excel文件,其中包含所有订单收据(每个工作表一个).
有没有办法将两个(或更多)Excel文档"加入"到PHPExcel中?
我会在一个网络中滑动所有的细胞,但我不解决.我的代码是:
SpreadsheetService service = new SpreadsheetService("MyApp");
try{
URL SPREADSHEET_URL = new URL("https://spreadsheets.google.com/feeds/worksheets/1-8ATDLTqmzo4QCQijeJ_swZAcmsh/public/full");
SpreadsheetFeed feed = service.getFeed(SPREADSHEET_URL,SpreadsheetFeed.class);
List<SpreadsheetEntry> spreadsheets = feed.getEntries();
if (spreadsheets.size() == 0){
System.out.println("NO SPREADSHEET");
}
for(int i = 0; i<spreadsheets.size(); i++){
System.out.println(spreadsheets.get(i).getTitle().getPlainText());
}
List<WorksheetEntry> worksheets = spreadsheets.get(0).getWorksheets();
for (int j=0; j<worksheets.size(); j++){
System.out.println(worksheets.get(j).getTitle().getPlainText());
URL listFeedUrl = worksheets.get(j).getListFeedUrl();
ListFeed listFeed = service.getFeed(listFeedUrl,ListFeed.class);
}
Run Code Online (Sandbox Code Playgroud)
它在最后一行报告的错误:
ListFeed listFeed = service.getFeed(listFeedUrl,ListFeed.class);
Run Code Online (Sandbox Code Playgroud)
当我编译我的代码有这个错误:
Exception in thread "main" java.lang.ClassCastException: com.google.gdata.data.TextContent cannot be cast to com.google.gdata.data.OutOfLineContent
at com.google.gdata.data.spreadsheet.WorksheetEntry.getFeedUrlString(WorksheetEntry.java:129)
at com.google.gdata.data.spreadsheet.WorksheetEntry.getListFeedUrl(WorksheetEntry.java:98)
at it.unical.mat.google_data.MySpreadsheetIntegration.main(MySpreadsheetIntegration.java:40)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) …Run Code Online (Sandbox Code Playgroud) 这是我到目前为止所拥有的:
Sub TrimColumnD()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
Dim c As Range
For Each c In ActiveSheet.UsedRange.Columns("D").Cells
c.Value = WorksheetFunction.Trim(c.Value)
Next c
Next ws
End Sub
Run Code Online (Sandbox Code Playgroud)
trim函数仅适用于第一个工作表中的单元格,但就是这样.有什么建议?
提前致谢
我正在尝试使用EPPLUS 4.0.3打开一个XLSX文件作为模板(我甚至使用了一个空白的XLSX文件).
如果我不打开模板文件(空白或真实的),只需创建一个新工作簿并创建一个工作表,它就可以正常工作.或者如果我打开模板文件,并创建一个新的工作表,那么它工作正常.只有当我尝试访问模板中的FIRST工作表时才会出现错误:工作表位置超出范围.
像这样访问第一个工作表:workBook.Worksheets.First()不工作.
首先不再是定义.
因此,我尝试按名称访问第一个工作表,并使用此方法同时workBook.Worksheets[1]使用0和1来尝试获取第一个工作表.
我的代码:
var existingTemplate = new FileInfo(_ExcelTemplateFilePath);
using (ExcelPackage p = new ExcelPackage(existingTemplate)) {
// Get the work book in the file
ExcelWorkbook workBook = p.Workbook;
ExcelWorksheet ws = workBook.Worksheets[1];
// MY OTHER EXCEL CELL CODE HERE
}}
Run Code Online (Sandbox Code Playgroud)
有谁知道如何访问第一张和Excel文件?
我有一些代码,当我按下一个按钮时,它调用一个sub,它将向工作簿添加一个新工作表,然后更改工作表的代号,以便以后在我的代码中更容易引用.具体如下:
Dim wbk As Workbook
Dim wks As Worksheet
Set wbk = ThisWorkbook
wbk.Sheets.Add.Name = "Admin - Save Log"
Set wks = wbk.Worksheets("Admin - Save Log")
wks.Parent.VBProject.VBComponents(wks.CodeName).Name = "wksAdminSaveLog"
Run Code Online (Sandbox Code Playgroud)
这似乎工作 - 但是 - 只有当我打开"开发人员"窗口或之前打开它时.
如果我在第一次打开Excel文档时单击该按钮(尚未打开"开发人员"窗口),则会添加工作表,但会出现以下错误,并且不会更改工作表的代号:
运行时错误'9':下标超出范围
只有当我按下Debug然后在"Developer"窗口再次打开后运行代码时才会添加代号.
有没有办法解决这个问题,以便用户不必打开开发人员窗口才能正常运行?
谢谢
我希望Scala工作表(和Scala解释器)的工作目录是Eclipse项目路径而不是Eclipse安装目录.我怎样(非编程)实现这一点?
我知道我可以使用System.setProperty("user.dir", "..."),但恕我直言,不属于代码.此外,它似乎不起作用:
object ScratchWS {
System.setProperty("user.dir", "C:\\") //> res0: String = C:\adt-bundle-windows-x86_64-20130219\eclipse
new File("putty.exe").exists() //> res1: Boolean = false
new File("C:\\putty.exe").exists() //> res2: Boolean = true
}
Run Code Online (Sandbox Code Playgroud)