Я собираюсь сделать книгу по контролю за макросами для команды боулинга моего сына после того, как я увидел одного из тренеров, пытающихся отслеживать выплаты и очки с бумагой и карандашом во время соревнования, которое мы организовали. Я прошел долгий путь, но застрял на чем-то, для чего не могу найти хорошего решения. В форме, которую вы пишете в поле Имя, HP C [гандикап], оплата, способ оплаты, группа игроков, клуб и какой город.
Все игроки зарегистрированы в одной базе данных, расположенной на листе данных Базы данных с именем , HP C club .. .. .. но тогда игроки также должны быть зарегистрированы в других wotksheets, где каждая группа игроков находится на отдельном рабочем листе. При регистрации вы выбираете группу игроков в комбинированном окне. Идея состоит в том, чтобы использовать информацию для регистрации, но я могу застрять.
Option Explicit
Sub Reset()
Dim iRow As Integer
iRow = [counta(DataBas!A:A)] 'Find last row in column A
With frmform
'Reset the form
.txtHPC.Value = ""
.txtName.Value = ""
.optJa.Value = False
.optNej.Value = False
.ChbKontant.Value = False
.ChbSwish.Value = False
.cmbGrupp.Clear 'rensa kombintionsrutan
' Lägg till val i kombinationsrutan
.cmbGrupp.AddItem "Småttingen"
.cmbGrupp.AddItem "Lillinget"
.cmbGrupp.AddItem "Mellingen"
.cmbGrupp.AddItem "Storingen"
.cmbGrupp.AddItem "Elit"
.txtKlubb.Value = ""
.txtOrt.Value = ""
.lstDataBas.ColumnCount = 10
.lstDataBas.ColumnHeads = True
.lstDataBas.ColumnWidths = "25;75;50;25;60;60;30;45;70;70"
If iRow > 1 Then
.lstDataBas.RowSource = "DataBas!A2:J" & iRow
Else
.lstDataBas.RowSource = "DataBas!A2:J2"
End If
End With
End Sub
Sub Submit()
Dim sh As Worksheet
Dim iRow As Long
Dim gRow As Long
Dim name As String
name = frmform.cmbGrupp.Value
Set sh = ThisWorkbook.Sheets("DataBas")
iRow = [counta(DataBas!A:A)] + 1 ' finding the last row and adding 1
With sh
.Cells(iRow, 1) = iRow - 1
.Cells(iRow, 2) = frmform.txtName.Value
.Cells(iRow, 3) = frmform.cmbGrupp.Value
.Cells(iRow, 4) = frmform.txtHPC.Value
.Cells(iRow, 7) = IIf(frmform.optNej = True, "Nej", "Ja")
.Cells(iRow, 8) = IIf(frmform.ChbSwish = True, "Swish", "Kontant")
.Cells(iRow, 5) = frmform.txtKlubb.Value
.Cells(iRow, 6) = frmform.txtOrt.Value
.Cells(iRow, 9) = Application.UserName
.Cells(iRow, 10) = [Text(now(), "YYYY-MM-DD HH:MM:SS")]
End With
Set sh = ThisWorkbook.Sheets(frmform.cmbGrupp.Value)
gRow = [counta(name! A:A)] + 1 ' ***here I'm stuck***
Debug.Print gRow
With sh
.Cells(gRow, 1) = frmform.txtName.Value
.Cells(gRow, 2) = frmform.txtHPC.Value
.Cells(gRow, 3) = frmform.txtKlubb.Value
End With
End Sub
Sub Show_form()
frmform.Show
End Sub