Tag: 文件名

VBA从外部工作表导入数据 – variables工作表名称

我期待着做到以下几点: 目标Worksheet中的CommandButton打开一个源文件(对话框来select哪一个) 在源文件中查找工作表(始终使用相同的名称 – “性能”) 复制一系列单元格(实际上是一些单独的范围 – 将被添加) 确保目标工作表(与源工作表中的单元格I2具有相同的名称)存在 将值粘贴到目标Worksheet中的相同范围 closures源文件 我到目前为止: Private Sub CommandButton1_Click() Dim SourceFile As String Dim SourceBook As Workbook Dim DestinationBook As Workbook Dim desiredName As String Set DestinationBook = ThisWorkbook SourceFile = Application.GetOpenFilename(fileFilter:="Excel Macro-Enabled Workbook (*.xlsm), *.xlsm") Set SourceBook = Workbooks.Open(SourceFile) SourceBook.Sheets("Performance").Activate desiredName = ActiveSheet.Range("I2") Application.CutCopyMode = True SourceBook.ActiveSheet.Range("E25:I64").Copy DestinationBook.Activate […]

将文件名的前五个字符插入单元格

我知道插入文件名的公式,但文件是例如54321 Cost Data ,我只需要插入54321 。 是否可以插入一个单元格的文件名的前五个字符?

如果文件名包含特定文本,则执行

我有代码循环通过一个文件夹,并将文本值添加到G1,H1,I1等等的工作簿。 在图1中,您可以看到我的文件夹中有多个文件。 不同的Excel文件或工作簿会获得不同的文本值添加到他们。 要添加到“Professional”工作簿的文本值与要添加到“ProfessionalAddress”或“ProfessionalCommunication”的文本值不同。 我试图使用InStr但是这将采取任何文件名包含某一段文字。 例如,我有几个包含单词“Professional”的文件,这意味着代码会将“Professional”文件的文本值添加到包含文本“Professional”的所有文件中。 我需要当一个文件名包含“专业”添加这些文本值,当一个文件包含“职业地址”添加这些文本值。 同样的“会议”“组织”“客户”。 图1 Sub LoopAllExcelFilesInFolder() 'PURPOSE: To loop through all Excel files in a user specified folder and perform a set task on them 'SOURCE: www.TheSpreadsheetGuru.com Dim wb As Workbook Dim myPath As String Dim myFile As String Dim myExtension As String Dim FldrPicker As FileDialog 'Optimize Macro Speed […]

Excel VBA-运行时错误1004打开工作簿

vba相当新颖,但是我写了一个代码,在列中取消合并,从而复制单元格,然后粘贴到不同的macros工作簿中。 当我第一次运行代码时,代码运行良好。 不过,我今天试图使用它,我很震惊,我有一个错误。 这个错误说明它找不到目标文件名。 这很奇怪,因为目标文件名没有改变或移动。 这里是一个代码示例。 错误显示在行: 设置book2 = Workbooks.Open(“财政'17报告跨骑Fuel Usage.xlsm”) 代码如下: Public Sub Button6_Click() 'Change name of button Worksheets("7500").Buttons("Button 6").Text = "Send" With Sheets("7500") 'Unmerge cells .Range("AI3:AI92").Select With Selection For Each rCell In Selection With rCell If .MergeCells Then .MergeArea.UnMerge End If End With Next rCell End With End With 'open destination workbook Dim […]

从variables文件名称中抽取特定单词

这可能很容易对你们很多,但我是新的VBA.I有一个variables名为“Dateiname”的Excel文件,我想通过添加variables“啤酒花”来更新这个“Dateiname”。 我的问题是Dateiname里面已经有了“.xlsm”,我希望“.xlsm”扩展名可以在Dateiname之后去掉,所以我可以把“hops”variables添加到“Dateiname”中,并用“.xlsm”扩展名结束。 Dim hops as String Dim Dateiname as String Dateiname = Dateiname & hops & ".xlsm" 我怎样才能做到这一点 ?

如何获取文件名而不是打开文件的整个文件path?

换句话说,在调用Application.GetOpenFileName()方法之后,是否需要执行一些string处理?

用javareplacestring中的文本的最佳方法

我有个问题。 我有大约10,000个 .Xls文件。 他们被命名为000001.xls , 000002.xls … 我的代码看起来像这样: File inputWorkbook = new File(inputFile); Workbook w; String fileName = inputWorkbook.getName().replace("0", ""); 问题是当它replace0000160.xls的0时,结果是16.xls ,就像0000016.xls一样。 我希望它是160.xls 有任何想法吗?

使用VBA只抓取文件名/文件path的一部分

我不知道如何解决这个问题。 我已经做了相当多的研究,但是我发现的大部分答案都与我所需要的有所不同。 我试图完成的是这样的: 手动打开现有工作簿(wbAI), 启动macros, 使用msoFileDialogOpen查找并打开一个文件(称为wb2), 将wb2文件名的一部分 (文件名中有一个date)作为variables或string存储。 (我不确定哪个更好,也许我不需要全部存储…), 将wb2的部分文件名(date)粘贴到wb1中的某个单元格中, 从wb2复制必要的数据, 将数据粘贴到wb1中, 格式化数据, 在粘贴的数据上使用VLOOKUP, closureswb2而不保存 结束macros。 除了数字4和5,我的macros可以完成上面列出的每一步。 一方面,我想知道如何去追求这个目标,另一方面,我想知道在我现在的代码里面能够find什么地方。 给你一个我正在谈论的例子:假设在第三步中我打开一个名为“01.31.13组名”的工作簿。 而文件path是从一个Sharepoint网站,所以它看起来像这样: “ https://company.com/team/teamone/_layouts/xlviewer.aspx?01.31.13%20Group%20Names%20.xlsm&Source=https …….” 我怎样才能挑出文件名/文件path中的date? 这是我的代码的开始: Sub Test() Dim lastRow As Long, i As Long Dim ws As Worksheet Dim wbSource As Workbook Dim wbAI As Workbook Dim vrtSelectedItem As Variant Set wbAI = ActiveWorkbook Application.ScreenUpdating […]

VBA Excel文件为CSV,保持CSV文件名与原始工作簿相同

我试图find一个快速的方式来保存我的xlsx文件作为csv文件与xlsx文件相同的文件名(只是在csv格式)。 我logging了一个macros的快捷方式,但问题是,每当我尝试一个新的文件,它保存为一个相同的文件名我logging最初的macros(即见下文,可能是因为我有代码标记为: 3WDL_1 (2014-08-07)10secDataTable sit.csv )。 有什么我需要replace3WDL_1 (2014-08-07)10secDataTable sit.csv与macros使用与我正在使用的实际工作簿相同的文件名保存保存。 所以基本上我有一个文件夹充满了xlsx文件,我想在每个xslx文件上使用快捷方式/macros将它们转换成与原始xlsx文件具有完全相同名称的csv文件,并保存到同一个文件夹中。 Sub xlstocsv() ' ' xlstocsv Macro ' ' Keyboard Shortcut: Ctrl+a ' Columns("A:A").Select Range("A41243").Activate Selection.NumberFormat = "0.00" ActiveWindow.ScrollRow = 41231 ActiveWindow.ScrollRow = 41090 ActiveWindow.ScrollRow = 39753 ActiveWindow.ScrollRow = 30184 ActiveWindow.ScrollRow = 26385 ActiveWindow.ScrollRow = 13017 ActiveWindow.ScrollRow = 10976 ActiveWindow.ScrollRow = 8162 ActiveWindow.ScrollRow = 4785 ActiveWindow.ScrollRow […]

VBA – 每行打印文件名直到文件closures

我有一个工作macros,通过文件夹循环打开文件,并从“HOLDER”和“CUTTING TOOL”名称列中获取重要信息,并将所有信息打印到一个excel文档masterfile中。 它目前看起来像图片1.我希望它打印在每行的第一列中的文件名,直到文件closures,以便对于列2和3中的每个条目,还有第一列中的文件名称条目,看起来像图片2 我想将相同的东西应用到第4列,在每一行打印名称。 我不知道这些信息是否有帮助,因为在第(5)节中,第1列和第4列的信息被写入相同的代码块中。 有人可以帮我弄清楚如何解决这个问题? 我一直试图在代码的第(5)部分实现某种“i ++”,但还没有成功。 谢谢你的任何build议! “完整代码 ”( FULL CODE) 部分(5)处理主文件第1列和第4列中文件的命名。 Option Explicit Sub LoopThroughDirectory() Const ROW_HEADER As Long = 10 Dim objFSO As Object Dim objFolder As Object Dim objFile As Object Dim MyFolder As String Dim StartSht As Worksheet, ws As Worksheet Dim WB As Workbook Dim i As Integer […]