我有一个宏,我在文本框中指定日期(以mm/dd/yyyy为单位),我想以yyyy-mm-dd格式为A列设置此值.我有以下代码:
Sheets("Sheet1").Range("A2", "A50000").Value = TextBox3.Value
Sheet1.Range("A2", "A50000") = Format(Date, "yyyy-mm-dd")
Run Code Online (Sandbox Code Playgroud)
...当我运行宏时,日期仍为mm/dd/yyyy格式.
我怎样才能改变它,使它符合我想要的格式?我一直在尝试通过谷歌研究的多种代码,没有什么能按照我想要的方式设置格式.
任何帮助将不胜感激...
编辑:OP的评论完整代码如下:
Workbooks.Add
Range("A1") = "Acctdate"
Range("B1") = "Ledger"
Range("C1") = "CY"
Range("D1") = "BusinessUnit"
Range("E1") = "OperatingUnit"
Range("F1") = "LOB"
Range("G1") = "Account"
Range("H1") = "TreatyCode"
Range("I1") = "Amount"
Range("J1") = "TransactionCurrency"
Range("K1") = "USDEquivalentAmount"
Range("L1") = "KeyCol"
Sheets("Sheet1").Range("A2", "A50000").Value = TextBox3.Value
Sheet1.Range("A2", "A50000").NumberFormat = "yyyy-mm-dd"
Run Code Online (Sandbox Code Playgroud) 我有以下列(列A)命名为project(rows列只显示行号):
rows project
1 14
2 15
3 16
4 17
5 18
6 19
7 ProjTemp
8 ProjTemp
9 ProjTemp
Run Code Online (Sandbox Code Playgroud)
我有一个输入消息框,用户在最后一个之后写入我想要插入的新项目名称.例如:项目20将在项目19之后和第一个"ProjTemp"之前插入.
我的理论是找到第一个"ProjTemp"的行号,然后在项目为20的位置插入一个新行.
我试图使用Find函数,但是我遇到了溢出错误(我确定我得到了它,因为它找到了3个"ProjTemp"字符串并尝试将其设置为一个参数):
Dim FindRow as Range
with WB.Sheets("ECM Overview")
Set FindRow = .Range("A:A").Find(What:="ProjTemp", _
After:=.Cells(.Cells.Count), _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
MatchCase:=False)
end with
Run Code Online (Sandbox Code Playgroud)
我如何编码,所以我只找到第一个"ProjTemp"的行号?有没有更好的方法来做到这一点,也许是循环?
谢谢,任何帮助将不胜感激!
我的 Excel VBA 中有以下代码,可将 SQL 中的表中的数据复制到 Excel 中。此数据从单元格 C2 开始水平插入,但我希望它垂直插入列 C。
Sheets("Control").Range("C2").CopyFromRecorset rsPubs
Run Code Online (Sandbox Code Playgroud)
rsPubs我的 ADO 连接在哪里。
基本上,我只想转置这些数据。这样做的有效方法是什么?任何帮助将不胜感激!
编辑:
这是如何rsPubs创建的(连接工作正常,因为我实际上正在获取数据):
' Create a recordset object.
Dim rsPubs As ADODB.Recordset
Set rsPubs = New ADODB.Recordset
With rsPubs
' Assign the Connection object.
.ActiveConnection = cnPubs
' Extract the required records.
.Open "SELECT * FROM Analytics.dbo.XBodoffFinalAllocation"
' Copy the records into cell B3 on Sheet1.
Sheets("Control").Range("C2").CopyFromRecordset rsPubs
' Tidy up
.Close
End With
cnPubs.Close
Set rsPubs = Nothing
Set cnPubs …Run Code Online (Sandbox Code Playgroud) 我正在尝试在SQL Server中获取关联矩阵,并且我的数据在表中的方式如下:
RptLOB1 RptLOB2 Correlation
AE AE 1
Bail AE 0.35
Commercial Bail 0.25
Commercial AE 0.15
Run Code Online (Sandbox Code Playgroud)
...等等.
我想写一个代码,所以我的输出看起来如下:
AE Bail Commercial
AE 1 0.35 0.15
Bail 0.35 1 0.25
Commercial 0.15 0.25 1
Run Code Online (Sandbox Code Playgroud)
只要订单从上到下,从左到右在顶部,RptLOB的顺序无关紧要.我一直试图找到一种方法来解决这个问题,我不太清楚最好的方法是什么.我在考虑使用PIVOT,但不会输出RptLOB(它们将被视为表中的列).
编辑:
此输出将插入另一个表中,如下所示:
col1 col2 col3 col4 col5
Generic
Company Inputs Insurance Stochastic Model Correlations Exposure Correlation Matrix
AE Bail Commercial
AE 1 0.35 0.15
Bail 0.35 1 0.25
Commercial 0.15 0.25 1
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用该Percentile_DISC(0.8)函数找到SQL Server Management Studio中列的第80个百分位,但它希望我进行分区.有什么方法可以使用这个函数来找到整列的百分位而不是分区?我只想要一个单一的价值.
提前致谢!