VBA实现打开Excel文件读取内容拷贝Format且加超链接
'-------------------一覧取得-----------------------------
Sub getRedmineGrid_Click()
Dim wb As Workbook
Dim sheet As Worksheet
Dim path As String
path = ThisWorkbook.path & "\issues.xls"
If Dir(path) = "" Then
FileCopy ThisWorkbook.path & "\back\issues.xls", path
Else
FileCopy path, ThisWorkbook.path & "\back\issues.xls"
End If
Dim idx As Integer
idx = 11
Dim csvWb As Workbook
Set csvWb = Workbooks.Open(path)
Set wb = Workbooks("進捗.xlsm")
Set sheet = wb.Sheets("進捗")
sheet.Range("B" & idx & ":Z1000").ClearContents sheet.Range("D6") = Format(Date, "yyyymmdd")
For Each csvSheet In csvWb.Sheets
For i = 2 To 100
If csvSheet.Range("B" & i) = "" Then
Exit For
End If
If csvSheet.Range("B" & i) <> "#" Then
sheet.Range("B" & idx) = csvSheet.Range("B" & i)
sheet.Range("C" & idx) = csvSheet.Range("C" & i)
sheet.Range("D" & idx) = csvSheet.Range("D" & i)
sheet.Range("E" & idx) = csvSheet.Range("E" & i)
sheet.Range("F" & idx) = csvSheet.Range("F" & i)
sheet.Range("G" & idx) = csvSheet.Range("G" & i)
sheet.Range("H" & idx) = csvSheet.Range("H" & i)
sheet.Range("I" & idx) = csvSheet.Range("I" & i)
sheet.Range("J" & idx) = csvSheet.Range("J" & i) sheet.Hyperlinks.Add Anchor:=sheet.Range("B" & idx), Address:="https://XXXXX/" & CStr(sheet.Range("B" & idx))
idx = idx + 1
End If
Next
Next csvWb.Close
Kill path MsgBox "ファイルのデータ取得した。" End Sub '-------------------週状態取得-----------------------------
Sub getLateData_Click() Dim shetName As String
Dim sheet As Worksheet
Dim wb As Workbook
Dim sysDate As String
Dim maxRow As Integer
Dim sheetSample As Worksheet sysDate = Format(Date, "yyyymmdd")
'sysDate7Befor = Format(Date - 7, "yyyymmdd") Set wb = Workbooks("進捗.xlsm")
Set sheet = wb.Sheets("進捗")
Set sheetSample = wb.Sheets("sample")
sysDate7Befor = sheetSample.Range("D6")
shetName = "週(" & sysDate7Befor & "~" & sysDate & ")" maxRow = sheet.Cells.Find("*", , , , xlByRows, xlPrevious).Row
'Sheet1.Cells.Find("*", , , , xlByColumns, xlPrevious).colum If SheetIsExist(wb, shetName) Then Application.DisplayAlerts = False
wb.Sheets(shetName).Delete
Application.DisplayAlerts = True
End If wb.Sheets("sample").Copy after:=wb.Sheets("進捗")
ActiveSheet.Name = shetName
Dim sht As Worksheet
Set sht = wb.Sheets(shetName)
sht.Range("D6") = sysDate7Befor & "~" & sysDate Dim idx As Integer
Dim startRow As Integer
Dim rowColor As String idx = 11
startRow = idx - 3 For i = idx To maxRow
If sheet.Range("B" & i) = "" Then
Exit For
End If If Trim(sysDate7Befor) <= dateToStr(sheet.Range("H" & i)) And dateToStr(sheet.Range("H" & i)) <= sysDate Then
sht.Range("B" & idx) = sheet.Range("B" & i)
sht.Range("C" & idx) = sheet.Range("C" & i)
sht.Range("D" & idx) = sheet.Range("D" & i)
sht.Range("E" & idx) = sheet.Range("E" & i)
sht.Range("F" & idx) = sheet.Range("F" & i)
sht.Range("G" & idx) = sheet.Range("G" & i)
sht.Range("H" & idx) = sheet.Range("H" & i)
sht.Range("I" & idx) = sheet.Range("I" & i)
sht.Range("J" & idx) = sheet.Range("J" & i)
rowColor = ""
If sht.Range("D" & idx) = "終了" Then
rowColor = "back"
End If
Call addStyle(sht, idx, startRow, rowColor)
sht.Hyperlinks.Add Anchor:=sht.Range("B" & idx), Address:="https://XXXXX/" & CStr(sht.Range("B" & idx))
idx = idx + 1
End If
Next sheetSample.Range("D6") = sysDate
End Sub Function dateToStr(str As String)
dateToStr = ""
If str = "" Then
dateToStr = ""
Exit Function
End If
str = Replace(str, "-", "/")
dateToStr = Split(str, "/")(0) If Len(Split(str, "/")(1)) < 2 Then
dateToStr = dateToStr & "0" & Split(str, "/")(1)
Else
dateToStr = dateToStr & Split(str, "/")(1)
End If If Len(Split(str, "/")(2)) < 2 Then
dateToStr = dateToStr & "0" & Split(str, "/")(2)
Else
dateToStr = dateToStr & Split(str, "/")(2)
End If End Function Function SheetIsExist(wbCheck As Workbook, shtNm As String)
SheetIsExist = False
On Error GoTo lab1 Set shetSheet = wbCheck.Sheets(shtNm)
If shetSheet Is Nothing Then
SheetIsExist = False
Else
SheetIsExist = True
End If
Set shetSheet = Nothing
Exit Function lab1:
SheetIsExist = False
End Function
VBA实现打开Excel文件读取内容拷贝Format且加超链接的更多相关文章
- C# 打开TXT文件读取内容
控制关键字,有些关键字发短信发不出来,比如(金融)需要转化为(金.融) 要求:读取敏感字的,并且替换掉 using : using System.Collections.Generic;using S ...
- C#中的Excel操作【1】——设置Excel单元格的内容,打开Excel文件的一种方式
前言 作为项目管理大队中的一员,在公司里面接触最多的就是Excel文件了,所以一开始就想从Excel入手,学习简单的二次开发,开始自己的编程之路! 程序界面 功能说明 打开文件按钮,可以由使用者指定要 ...
- C#读取excel文件的内容(使用DataSet)
C#读取Excel文件的内容,通过OLEDB来连接,关键是连接的路径,如:string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data S ...
- 麦咖啡阻挡正常打开Excel文件
双击打开Excel文件,提示如下图: Excel文件被麦咖啡做阻挡,无法正常打开 处理方案: 过一会儿还是出现此问题,干脆就把缓冲区保护给禁用掉
- VB中后台打开Excel文件实现代码
某些时候需要打开Excel文件来获取或者写入数据,但又不希望跳出打开的Excel文件窗口,可以用下面的代码: Dim eb As New excel.Application, wb as excel. ...
- 如何在单独的窗口中打开 Excel 文件
如何在单独的窗口中打开 Excel 文件 文章编号:087583 2012/11/1 18:45:29 故障现象: 如何在单独的窗口中打开 Excel 文件? 解决方案: 比较安全的方法就是直 ...
- 用PHPExcel类读取excel文件的内容
这里对PHPExcel类不做介绍,有兴趣的朋友可以自己查阅资料 在classes文件夹下有个PHPExcel.php文件,这个文件是这个类库的主要入口文件,在用之前,要引入这个类 其他的类,在此类中会 ...
- 关于Npoi+excel文件读取,修改文件内容的处理方式
因最近有需求场景,实现对文件的读写操作,又不单独生成新的文件,对于源文件的修改,做了一个简单实现,如下↓ // 要操作的excel文件路径 string fileName = Server.MapPa ...
- vba打开excel文件遍历sheet的名字和指定单元格的值
今天项目上有个应用,获取指定Excel文件下的所有sheet的名称以及当前sheet中指定单元格的值,并把他们写到固定的sheet中去,看了下,文件比较多,而且每个文件sheet的个数比较多,也不一样 ...
随机推荐
- GridView修改含有DropDownList控件列的宽度
GridView进入Edit模式,编辑列动态绑定DropDown List方便客户选择,但当里面的Item过长,不免令界面不美观 正确做法: <asp:TemplateField HeaderT ...
- learning scala Case Classses
package com.aura.scala.day01 object caseClasses { def main(args: Array[String]): Unit = { // 注意在实例化案 ...
- CSPS模拟86-87
模拟86 T1,烧水,按位统计贡献,利用某种sao操作避免数位dp #include<iostream> #include<cstdio> #include<cstrin ...
- unity当两个以上Android插件冲突,怎么配置manifest
https://my.oschina.net/u/3332153/blog/855798 一 问题 当unity导入两个以上package并且都有manifest配置时,unity不会自动合并而是替换 ...
- Java学习日记基础篇(四)——类,对象之成员变量,成员方法,构造方法
面向对象(Object Oriented) 一.面向对象杂谈 面向对象(Object Oriented),我的翻译是以物体为目标的,就是说编程的时候是建立一个物体,然后对这个物体进行操作. Java语 ...
- 内存分析工具 MAT 的使用【转】
转自:http://blog.csdn.net/aaa2832/article/details/19419679/ 1 内存泄漏的排查方法 Dalvik Debug Monitor Server (D ...
- ES索引文件和数据文件大小对比——splunk索引文件大小远小于ES,数据文件的压缩比也较ES更低,有趣的现象:ES数据文件zip压缩后大小和splunk的数据文件相当!词典文件tim/tip+倒排doc/pos和cfs文件是索引的大头
和splunk对比: ES中各个倒排索引文件的分布: 测试说明:ES2.41版本,数据使用500次批量插入,每批数据都不同,大小500条,每条数据50个字段,对应的字符串使用长度为1-10个单词随机生 ...
- IDEA在线和离线安装lombok
1. IDEA在线安装: 点击安装,电子reset 如果以上方式安装失败, 去以下任意网站下载对应版本插件安装: http://plugins.jetbrains.com/plugin/6317-l ...
- ASP.NET MVC传递Model到视图的多种方式之通用方式的使用
ASP.NET MVC传递Model到视图的多种方式总结——通用方式的使用 有多种方式可以将数据传递到视图,如下所示: ViewData ViewBag PartialView TempData Vi ...
- 009-多线程-JUC集合-Queue-LinkedBlockingDeque
一.概述 LinkedBlockingDeque是双向链表实现的双向并发阻塞队列.该阻塞队列同时支持FIFO和FILO两种操作方式,即可以从队列的头和尾同时操作(插入/删除):并且,该阻塞队列是支持线 ...