我目前正在創建一個報表工具,我有在出口從用戶表單的細節,我的數據庫(工作表Sheet1)方面的問題。多個複選框轉讓不重疊
場景: 如果用戶在用戶表單中選中了多個複選框,如何將數據從多個複選框傳輸到1行「G2」而不重疊?我使用一個命令按鈕將數據轉移到空單元格
樣品窗體:
@麥克
我目前正在創建一個報表工具,我有在出口從用戶表單的細節,我的數據庫(工作表Sheet1)方面的問題。多個複選框轉讓不重疊
場景: 如果用戶在用戶表單中選中了多個複選框,如何將數據從多個複選框傳輸到1行「G2」而不重疊?我使用一個命令按鈕將數據轉移到空單元格
樣品窗體:
@麥克
東西可能會奏效則是這樣的:
Private Sub CommandButton4_Click()
RowCount = Worksheets("Sheet1").Range("A1").CurrentRegion.Rows.count
With Worksheets("Sheet1").Range("A1")
If CheckBox1.Value = True Then
.Offset(RowCount, 6).Value = .Offset(RowCount, 6).Value & vbCrLf & "Unable to remove footer"
Else:
.Offset(RowCount, 6).Value = ""
End If
If CheckBox2.Value = True Then
.Offset(RowCount, 6).Value = .Offset(RowCount, 6).Value & vbCrLf & "Unable to use PMSectionHead as First Level header/section"
Else:
.Offset(RowCount, 6).Value = ""
End If
End With
End Sub
我將它添加到單元格中已有的值,並在添加每個新值之前添加一個換行符。然後,您可能必須爲每個checkbox
添加一個If
,因爲您正在手動添加字符串。
您需要檢查每一個,看看是否超過一個checkbox
檢查。如果您在If ... ElseIf
語句中包含它們,它將在第一個真實語句之後停止,而不檢查其他所有語句。
編輯
Private Sub CommandButton4_Click()
Dim RowCounter
RowCounter = 0
RowCount = Worksheets("Sheet1").Range("A1").CurrentRegion.Rows.count
With Worksheets("Sheet1").Range("A1")
If CheckBox1.Value = True Then
.Offset(RowCount + RowCounter, 6).Value = .Offset(RowCount + RowCounter, 6).Value & vbCrLf & "Unable to remove footer"
RowCounter = RowCounter + 1
Else:
.Offset(RowCount, 6).Value = ""
End If
If CheckBox2.Value = True Then
.Offset(RowCount + RowCounter, 6).Value = .Offset(RowCount + RowCounter, 6).Value & vbCrLf & "Unable to use PMSectionHead as First Level header/section"
RowCounter = RowCounter + 1
Else:
.Offset(RowCount, 6).Value = ""
End If
End With
End Sub
我添加了一個計數器來分,如果任何複選框都被檢查,將計算和去很多行與0行開始向下下跌1個箱檢查。不完全確定那是你正在尋找的東西,但我認爲它會爲你工作。
你問用戶檢查兩個盒子時會發生什麼?你能告訴我們你最終的結果是什麼樣子嗎? – Mike
@Mike我有一個用戶窗體有多個複選框,如果用戶點擊提交按鈕,所有複選框將轉移到特定的列而不會相互重疊。 – N323100
我附上了示例用戶窗體。謝謝, – N323100