我有一个表格中的项目列表,如下所示:
我的代码遍历每一行并对供应商进行分组,并将一些信息复制到每个供应商的工作簿中.
在这种情况下,有2个独特的供应商,因此将创建2个工作簿.
这有效.
接下来,我想将每个工作簿保存在特定的文件夹路径中.如果文件夹路径不存在,则应创建它.
这是这一段的代码:
'Check directort and save
Path = "G:\BUYING\Food Specials\4. Food Promotions\(1) PLANNING\(1) Projects\Promo Announcements\" & .Range("H" & i) & "\KW " & .Range("A" & i) & "\"
If Dir(Path, vbDirectory) = "" Then
Shell ("cmd /c mkdir """ & Path & """")
End If
wbTemplate.SaveCopyAs Filename:=Path & file & " - " & file3 & " (" & file2 & ").xlsx"
Run Code Online (Sandbox Code Playgroud)
出于某种原因,如果目录存在,则保存两个工作簿,但如果目录不存在且必须创建,则仅保存一个工作簿.
请有人告诉我我哪里出错了?提前致谢
完整代码:
Sub Create()
'On Error GoTo Message
Application.DisplayAlerts = False
Application.ScreenUpdating = …Run Code Online (Sandbox Code Playgroud) 我在Cell C13中有一个星期编号,在Cell C14中有一年.
我使用以下公式将其转换为该周数的星期四:
=DATE(C14,1,-6)-WEEKDAY(DATE(C14,1,3))+C13*7
Run Code Online (Sandbox Code Playgroud)
我怎么能用VBA做同样的事情?
我试图将一些值从一个工作簿中的一列复制到另一个:
练习册 1
Column A
10/02/1990
41
11/01/2017
52
Run Code Online (Sandbox Code Playgroud)
练习册 2
Column I
10/02/1990
41
11/01/2017
52
Run Code Online (Sandbox Code Playgroud)
如果我只是从工作簿 A 的第 1 列复制我的值并将它们粘贴到工作簿 2 的第 I 列,我会得到如下结果:
Column I
34331
41
121092
52
Run Code Online (Sandbox Code Playgroud)
Excel 格式丢失/混淆。
所以我创建了一个按钮,用户可以在其中使用 VBA 粘贴这些数据,如下所示:
Sub Paste3()
Dim lastRow As Long
On Error GoTo ErrorHandler
lastRow = ActiveSheet.Range("H" & Rows.Count).End(xlUp).Row
ActiveSheet.Range("H10").PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone, SkipBlanks:=False
Exit Sub
ErrorHandler:
MsgBox "Please Copy Values First."
End Sub
Run Code Online (Sandbox Code Playgroud)
这些值保持其格式。但是,单元格格式也会发生变化。
我的意思是,工作簿 1 上的单元格有一个黑色边框,字体也是黑色和粗体。
我想保留工作簿 2 的字体和单元格边框。这是:
灰色边框,RGB(191, 191, 191)
灰色字体 (RGB 128, 128, …