我在使用VB6構建報告時遇到了一些問題。基本上,我正在構建一個動態報告,其中標題和2列(客戶端,學生)從記錄集中填充。正如您在圖片中看到的,在我的標題末尾,我添加了一個TOTAL標題,下面有客戶和學生。我試圖讓每個專欄中的所有客戶總數達到TOTAL,與學生一樣。列數(UCLA,SDU,SCCU)可能會有所不同,所以我試圖讓它變成動態的。基本上從A開始,然後是B,然後是C,D和NONE。有任何想法嗎? 編輯:我請從SQL SERVER的SHORT LABEL和填充直到g_RS3是空Excel報告 - 公式VBA
Do While Not g_RS3.EOF
With xlSheet.Cells(xlRow, xlCol)
.Value = g_RS3("ShortLabel")
.Offset(1, 0).Value = " Clients "
.Offset(1, 1).Value = " Students"
With .Offset(1, 0)
.Font.Bold = True
.Borders.Weight = xlThin
End With
With .Offset(1, 1)
.Font.Bold = True
.Borders.Weight = xlThin
End With
With .Resize(1, 2)
.Font.Bold = True
.WrapText = True
.VerticalAlignment = xlCenter
.Merge
.HorizontalAlignment = xlCenter
.Borders.Weight = xlThin
End With
End With
xlCol = xlCol + 2
g_RS3.MoveNext
Loop
With xlSheet.Cells(xlRow, xlCol)
.Value = "TOTAL"
.Offset(1, 0).Value = "Clients"
.Offset(1, 1).Value = "Students"
With .Offset(1, 0)
.Font.Bold = True
.Borders.Weight = xlThin
End With
With .Offset(1, 1)
.Font.Bold = True
.Borders.Weight = xlThin
End With
With .Resize(1, 2)
.Font.Bold = True
.WrapText = True
.VerticalAlignment = xlCenter
.Merge
.HorizontalAlignment = xlCenter
.Borders.Weight = xlThin
End With
End With
然後我開始xlrow = 4 xlcol = 2和填充數據在客戶端和STUDENT列。我擁有的循環相當長。但用戶只會查看摘錄。一旦它的產生取決於他們,他們用它做什麼。該應用程序爲他們提供了添加SHORTLABEL的選項,一旦它們生成,SHORTLABEL需要在提取中顯示。
哪一個VBA或VB6? – 0m3r
[SUMIFS函數](https://support.office.com/en-us/article/SUMIFS-function-C9E748F5-7EA7-455D-9406-611CEBCE642B)將執行此操作;例如'= sumifs($ b4:$ g4,$ b $ 3:$ g $ 3,$ h $ 3)''。如果必須在VBA中執行計算或[Range.Formula屬性](https:/ /),請使用[WorksheetFunction對象](https://msdn.microsoft.com/en-us/library/office/ff834434.aspx) /msdn.microsoft.com/en-us/library/office/ff838835.aspx)如果你想保留公式。 – Jeeped
順便說一句,你將不得不決定是否使用'CLIENT'或'CLIENTS'。不應該有一個標準的多個版本。 – Jeeped