inputbox /application.inputbox / scroll DESPERATION
Hjælp - min inputbox mangler en scrollbar - den fylder hele skærmen og man kan ikke se hele listen.Jeg har brug for kode der sørger for at der kommer en scrollbar når inputbox når 25 linjer.
Jeg kan forstå at jeg måske skal arbejde med application.inputbox men når jeg prøver at rette til det, får jeg fejl i de efterfølgende IF/THEN/ELSE statements. Jeg kan ikke regne ud hvorfor?
Kan nogen - anybody - hjælpe en stakkels frustreret pige der har brugt alt for lang tid på ikke at kunne løse det selv.
Se nedenstående kode:
Const sti = "C:\Users\Iris\Dropbox\Sponsor\Sponsor mappe" '<--- SKAL TILPASSES når skabelonen og sponsorliste flyttes til ny destination
Dim xlsKontrakt As Workbook
Dim tabel(11)
Dim xlsSP As Workbook
Dim antalRæk As Integer, ræk As Integer, x As Integer, valg As String, svar, vNr As Integer, tomRæk As Integer
Const xlsSPfilNavn = "Sponsorliste.xlsm" '<--- Her kan efternavn på sponsorlisten rettes fra xlsx --> xlsm
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If InStr(LCase(ActiveWorkbook.Name), ".xltm") > 0 Then
Exit Sub
End If
Set xlsKontrakt = ActiveWorkbook
Workbooks.Open (sti & "\" & xlsSPfilNavn)
Set xlsSP = ActiveWorkbook
xlsSP.Sheets(1).Activate
antalRæk = ActiveCell.SpecialCells(xlLastCell).Row
Rem Søg efter tom række
tomRæk = findTomRække
valg = "Tast nr" & vbCr & "0 Ny sponsor"
For ix = 2 To antalRæk
valg = valg & vbCr & ix & " " & Range("B" & ix) & " " & Range("C" & ix)
Next ix
svar = InputBox(valg, "Nyoprettelse eller opdatering")
If svar = "" Then 'cancel
Exit Sub
Else
If IsNumeric(svar) = True Then
vNr = svar
Else
Exit Sub 'ej numerisk
End If
End If
If vNr = 0 Then
If tomRæk > 0 Then
ræk = tomRæk
Else
ræk = antalRæk + 1
End If
Else
ræk = vNr
End If
xlsKontrakt.Activate
Rem Tabellen udfyldes i den orden, som sponsorlisten foreskriver
tabel(0) = Range("C105") + Range("C111") 'beløb *)
tabel(1) = Range("C30") 'navn
tabel(2) = Range("C31") 'adresse
tabel(3) = Range("C35") 'CVR/SE
tabel(4) = Range("C32") 'kontakt
tabel(5) = Range("C33") 'tlf
tabel(6) = Range("C34") 'email
tabel(7) = Range("D41") 'fra dato
tabel(8) = Range("D42") 'til dato
tabel(9) = Range("D46") 'genforh.dato
tabel(10) = "" 'logo-sti
xlsSP.Activate
With ActiveWorkbook
For x = 0 To 10
Range("A" & ræk).Offset(0, x) = tabel(x)
Next x
End With
Rem Luk sponsorliste
xlsSP.Save
xlsSP.Close
Set xlsSP = Nothing
End Sub
Private Function findTomRække()
Dim ræk
For ræk = 3 To antalRæk
If Range("B" & ræk) = "" Then
findTomRække = ræk
Exit Function
End If
Next ræk
findTomRække = 0
End Function
