Problem with recent Drop Down List Code

I recently got this code from Bob and just today tested the check boxes
Problem is when I try to check any box beyond the first column, it wil
automatically check the box in the first column only.
Here is the code.

Sub SelectSheets()
Dim i As Long
Dim iRows As Long
Dim TopPos As Long
Dim LeftPos As Long
Dim SheetCount As Long
Dim cMaxLetters As Long
Dim cLeftWidth As Long
Dim PrintDlg As DialogSheet
Dim CurrentSheet
Dim cb As CheckBox
Dim fInclude As Boolean
Dim arySheets

Application.ScreenUpdating = False

ReDim arySheets(0)

' Check for protected workbook
If ActiveWorkbook.ProtectStructure Then
MsgBox "Workbook is protected.", vbCritical
Exit Sub
End If

' Add a temporary dialog sheet
Set CurrentSheet = ActiveSheet
Set PrintDlg = ActiveWorkbook.DialogSheets.Add

SheetCount = 0

'first count the items that apply
For i = 1 To ActiveWorkbook.Sheets.Count
Set CurrentSheet = ActiveWorkbook.Sheets(i)
fInclude = True
If CurrentSheet.Name = PrintDlg.Name Then
fInclude = False
ElseIf CurrentSheet.Visible <> xlSheetVisible Then
fInclude = False
ElseIf TypeName(CurrentSheet) = "Worksheet" Then
If Application.CountA(CurrentSheet.Cells) = 0 Then
fInclude = False
End If
End If
If fInclude Then
SheetCount = SheetCount + 1
ReDim Preserve arySheets(SheetCount)
arySheets(SheetCount) = CurrentSheet.Name
End If
Next i

If SheetCount = 0 Then
MsgBox "All worksheets are empty."
PrintDlg.Delete
Exit Sub
End If

iRows = Int((SheetCount + 1) / 2)

' Add the checkboxes
TopPos = 40
LeftPos = 78
For i = 1 To UBound(arySheets, 1)
With Sheets(arySheets(i))
If Len(.Name) > cMaxLetters Then
cMaxLetters = Len(.Name)
End If
TopPos = TopPos + 13
PrintDlg.CheckBoxes.Add LeftPos, TopPos, 150, 16.5
PrintDlg.CheckBoxes(i).Text = .Name
End With
If i = iRows Then
TopPos = 40
cLeftWidth = 30 + (cMaxLetters * 4) + 10 + 24 + 8 - 10
LeftPos = cLeftWidth + 78
cMaxLetters = 0
End If
Next i

' Move the OK and Cancel buttons
With PrintDlg
.Buttons.Left = cLeftWidth + 108 + (cMaxLetters * 4) + 10 + 24 + 8


' Set dialog height, width, and caption
With .DialogFrame
.Height = Application.Max(68, (iRows * 13) + 40)
.Width = 108 + (cMaxLetters * 4) + 10 + 24 + 8 - 10 + cLeftWidth
.Caption = "Select sheets to print"
End With

' Change tab order of OK and Cancel buttons
' so the 1st option button will have the focus
.Buttons("Button 2").BringToFront
.Buttons("Button 3").BringToFront

' Display the dialog box
CurrentSheet.Activate
Application.ScreenUpdating = True
If .Show Then
For Each cb In PrintDlg.CheckBoxes
If cb.Value = xlOn Then
Worksheets(cb.Caption).Activate
ActiveSheet.PrintOut
' ActiveSheet.PrintPreview 'for debugging
End If
Next cb
End If

' Delete temporary dialog sheet (without a warning)
Application.DisplayAlerts = False
.Delete
End With

' Reactivate original sheet
CurrentSheet.Activate
End Sub



Thanks for any help!:confused: 
krisly

--
Message posted from http://www.ExcelForum.com

0
8/2/2004 1:59:39 PM
excel.misc 78881 articles. 5 followers. Follow

1 Replies
470 Views

Similar Articles

[PageSpeed] 28

What's happening is the checkbox box (the whole thing including the caption) is
extending into the second column.

In fact, if you try it again, you can click to the right of the second column of
names (near the ok and cancel buttons) and you'll get the second column.

There's a line in Bob's code that looks like this:

 PrintDlg.CheckBoxes(i).Text = .Name

Try adding this line directly after it:

 PrintDlg.CheckBoxes(i).Width = 30 + (cMaxLetters * 4) + 10 + 24 + 8 - 10

(It seemed to work in my tests.)

I don't know how Bob came up with that expression (it looks a lot like trial and
error <vbg>), but resizing the checkbox seemed to work wonders!

"krislyn <" wrote:
> 
> I recently got this code from Bob and just today tested the check boxes.
> Problem is when I try to check any box beyond the first column, it will
> automatically check the box in the first column only.
> Here is the code.
> 
> Sub SelectSheets()
> Dim i As Long
> Dim iRows As Long
> Dim TopPos As Long
> Dim LeftPos As Long
> Dim SheetCount As Long
> Dim cMaxLetters As Long
> Dim cLeftWidth As Long
> Dim PrintDlg As DialogSheet
> Dim CurrentSheet
> Dim cb As CheckBox
> Dim fInclude As Boolean
> Dim arySheets
> 
> Application.ScreenUpdating = False
> 
> ReDim arySheets(0)
> 
> ' Check for protected workbook
> If ActiveWorkbook.ProtectStructure Then
> MsgBox "Workbook is protected.", vbCritical
> Exit Sub
> End If
> 
> ' Add a temporary dialog sheet
> Set CurrentSheet = ActiveSheet
> Set PrintDlg = ActiveWorkbook.DialogSheets.Add
> 
> SheetCount = 0
> 
> 'first count the items that apply
> For i = 1 To ActiveWorkbook.Sheets.Count
> Set CurrentSheet = ActiveWorkbook.Sheets(i)
> fInclude = True
> If CurrentSheet.Name = PrintDlg.Name Then
> fInclude = False
> ElseIf CurrentSheet.Visible <> xlSheetVisible Then
> fInclude = False
> ElseIf TypeName(CurrentSheet) = "Worksheet" Then
> If Application.CountA(CurrentSheet.Cells) = 0 Then
> fInclude = False
> End If
> End If
> If fInclude Then
> SheetCount = SheetCount + 1
> ReDim Preserve arySheets(SheetCount)
> arySheets(SheetCount) = CurrentSheet.Name
> End If
> Next i
> 
> If SheetCount = 0 Then
> MsgBox "All worksheets are empty."
> PrintDlg.Delete
> Exit Sub
> End If
> 
> iRows = Int((SheetCount + 1) / 2)
> 
> ' Add the checkboxes
> TopPos = 40
> LeftPos = 78
> For i = 1 To UBound(arySheets, 1)
> With Sheets(arySheets(i))
> If Len(.Name) > cMaxLetters Then
> cMaxLetters = Len(.Name)
> End If
> TopPos = TopPos + 13
> PrintDlg.CheckBoxes.Add LeftPos, TopPos, 150, 16.5
> PrintDlg.CheckBoxes(i).Text = .Name
> End With
> If i = iRows Then
> TopPos = 40
> cLeftWidth = 30 + (cMaxLetters * 4) + 10 + 24 + 8 - 10
> LeftPos = cLeftWidth + 78
> cMaxLetters = 0
> End If
> Next i
> 
> ' Move the OK and Cancel buttons
> With PrintDlg
> Buttons.Left = cLeftWidth + 108 + (cMaxLetters * 4) + 10 + 24 + 8
> 
> ' Set dialog height, width, and caption
> With .DialogFrame
> Height = Application.Max(68, (iRows * 13) + 40)
> Width = 108 + (cMaxLetters * 4) + 10 + 24 + 8 - 10 + cLeftWidth
> Caption = "Select sheets to print"
> End With
> 
> ' Change tab order of OK and Cancel buttons
> ' so the 1st option button will have the focus
> Buttons("Button 2").BringToFront
> Buttons("Button 3").BringToFront
> 
> ' Display the dialog box
> CurrentSheet.Activate
> Application.ScreenUpdating = True
> If .Show Then
> For Each cb In PrintDlg.CheckBoxes
> If cb.Value = xlOn Then
> Worksheets(cb.Caption).Activate
> ActiveSheet.PrintOut
> ' ActiveSheet.PrintPreview 'for debugging
> End If
> Next cb
> End If
> 
> ' Delete temporary dialog sheet (without a warning)
> Application.DisplayAlerts = False
> Delete
> End With
> 
> ' Reactivate original sheet
> CurrentSheet.Activate
> End Sub
> 
> Thanks for any help!:confused:
> krislyn
> 
> ---
> Message posted from http://www.ExcelForum.com/

-- 

Dave Peterson
ec35720@msn.com
0
ec35720 (10082)
8/2/2004 10:10:36 PM
Reply:

Similar Artilces:

Outlook 2003 PST problems
I just installed Office 2003 professional on a new computer & am having problems with outlook. I copied my Outlook.pst file into the appropriate directory & although it is recognized the calendar is not working properly. I cannot attach any of the colored labels to my appointments - so everything is pretty much in black & white. I totally uninstalled & reinstalled office... first removing my pst file... but there appears to be an ini file... or something that is retaining some information... does anyone know of a fix for the labels... or how to TOTALLY uninstall office (so I...

EFT remit numbers on an edit list
When printing a check batch that accidentally includes an EFT payment, the user does not have the capability to verify it when printing the edit list as the Remitxxxxx number only appears if you post the batch. The kb article: Payables EFT Option for Printing Remittances Now or Later (851283), says it was entered as a quality report (32944) and development turned it into a suggestion. However, the suggestion does not seem to exist here so I am re-submitting it as this feature has not yet been updated. The suggestion is to automatically assign the REMITXXXXX number to all EFT payments r...

Problem shortcuts in Word
Hello, I work with Word 2008. In the beginning there is no problem, but suddenly i have problem with shortcuts. When i want to do "cmd c" it make an other shortcuts same thing for "cmd s", "cmd v" and surly some other. But when i write there is no problem "c" is "c"... If somebody have an idea please help me. Thank you. Unless you indicate your specific update level of Office as well as OS X & describe what the keystrokes *are* doing contrary to what you expect there isn't much we can offer. -- Regards |:>)...

encoding problem in Outlook 2007 importing Outlook 2000 personal folders
I use Outlook 2007 to import the pst file of Outlook 2000. The Chinese characters in the subject became unreadable but it's ok to display in message body. In Outlook 2000, there's no problem to display the Chinese characters in the subject. What's wrong with Outlook 2007? What setttings should I change to fix the problem? Thanks. cyl <u8526505@gmail.com> wrote: > I use Outlook 2007 to import the pst file of Outlook 2000. The Chinese > characters in the subject became unreadable but it's ok to display in > message body. In Outlook 2000, there's no problem t...

List of DDE commands for Excel
Hi, I wont to send some commands from my application to Excel via DDE. Fo example : to select specific sheet in the excel workbook I use nex command - [WORKBOOK.SELECT("sheet-name")]. But I can't find the list of all these commands. Please help me -- Message posted from http://www.ExcelForum.com If you have a look in the object browser in the excel visual basi editor it will have a list of the VB commands excel will accept and i you hit F1 on them it will tell you what they do and usually giv syntax. Dunca -- Message posted from http://www.ExcelForum.com 2 DNF Karran Th...

Problem with Authentication
The CRM application was running smooth. But now I can't logging. It ask my credentials and than return a 401.1 error. I had already reinstalled the CRM server but it won't work. I'm accessing it in the same local network. I'm running CRM 3.0 in SBS. Best regards, Erico Hi When you open a Internet explorer and type the name of the CRM server, it prompts for user and password ? Are you logged in with domain credentials ( AD user ) ? If you are, so add url of the crm server in Local intranet. Enable "Automatic logon only in intranet", this is under security,c...

calendar problem
Dear all, I am using both mail and calendar function in outlook 2002. Everything is ok until recently, when I try to make a new appointment or checking any old appointments, an error message "out of memory or resource, try to close some windows..." pop up. The mail function is still ok. Can anyone tell me how can I solve this? I have already installed sp2. The version of office is the professional one with frontpage. Thanks. tp ...

Safe senders list
I am using Office XP Outlook 2002. I have been trying to create a "safe senders list" with no success. Can anyone help me? I am going crazy trying to filter out all this SPAM! I can't find any information on a "Safe senders list" in Outlook 2002 but here is the information I was able to find for the Junk E-mail filters in Outlook 2002. Here are some links to articles about working with the Junk E-mail filters, http://support.microsoft.com/default.aspx?scid=KB;EN-US;298734, and http://support.microsoft.com/default.aspx?scid=KB;EN-US;286049. I hope this informati...

Vista blue screen problem...please help!
I've seen some other threads, here are the dump files: 'RapidShare: 1-CLICK Web hosting - Easy Filehosting' (http://rapidshare.com/files/347103149/Minidump.rar.html) Please, help me out here. -- ceVil It might be better to know at what point the bsod occurs and what the actual err.msg given is "ceVil" <guest@unknown-email.com> wrote in message news:0b9a0c60b90bf6c0be88bda30f2820ab@nntp-gateway.com... > > I've seen some other threads, here are the dump files: > 'RapidShare: 1-CLICK Web hosting - Easy Filehosting' > (...

problem #4
Hi, I am facing this new problem... i.e a user has installed Office 2003 on win2k prof platform.. whenever she is working on a outlook.. she gets a Microsoft error message... saying to send the report or don't send the report... Usually I have seen this problem in IE... But for outlook it is new to me... after clicking on send or don't send report.. the outlook closes. And there are no IE open..... and if atall it is open.. the IE does not close... Need your help regards, KAH What is logged to the Event Viewer regarding this? Try one of the following already; http://www.howt...

95 and 97 problem
For some unknown reason there is Excel 95 and 97 on this pc.When i double click on an Excel file, the pc defaults to the 95 program (Which incidently doesn't work properly). So my question is how do i get the pc to default to 97. Cheers Craig Craig, Have a look at Windows Help. From Windows 2000 Help (Index under Programs Associating with File Types) To change which program starts when you open a file In My Computer or Windows Explorer, on the View menu, click Folder Options. Click the File Types tab. In the list of file types, click the one you want to change. Click Edit. In Act...

List of Symbols for Business Entities
Hello all - I am trying to find a list of commonly used symbols for business entities used in organizational charts, i.e. upside-down triangle represents a partnership. Does anyone know of a place on the internet that lists these symbols or can send me a list of these symbols? Thanks very much for your help. - Bill Burgess ...

Date problem
I can't believe there's no post on this, but I can't find it. I've tried the solutions I could find (see below) and still get the error: "The expression is typed incorrectly or it is too complex to be evaluated. For example....Try simplifying...." I have a date field, formatted as Date/Time, General Date, default Value = Now(). I like having the date and the time - in case we need it. I want to run a report on calls taken just for one day. I have CallDate: CallDateAndTime in my query, with "criteria" as Between ([Forms]![frmReports]![txtStartDate]) A...

sync problems
I have all of my info on an HP Ipac. I had to reformat the hard drive and I did not make a back-up file. I am trying to move everything back to the computer but it says there is an error with syncing it. How can I move everything from the PDA back to Outlook again? Please help- thanks ...

Office 2007 - HELP
I have used Word for many years and love it - not too thrilled with the changes in Office 2007, but my bigger issue is with Publisher 2007. I have an image that I have used in Word just fine - meaning, the on screen colors are correct and when printed the colors are correct. Someone sent me a Publisher file and asked me to add the image - I did this - now the image is messed up - the colors are correct on screen, but when printed FROM MY computer the image colors are all wrong - but if I transport the file to a different computer it prints fine I have reinstalled Office - no good Any id...

Installation Problem!!
I am having a problem installing MSCRM 1.2. My configuration consists of a Domain Controller running Win 2000 Server SP4 . I am trying to install MSCRM on a member of the domain running Windows 2000 Server SP4. There is a DNS Server on the DC which is integrated with AD, and a SQL Server 2000 running on the Win 2K machine. The install errors out when CRM creates the root business with the message: Setup was unable to install Microsoft CRM Server. Setup was unable to provision your organization. Setup was unable to create the root business. The configuration of ASP.NET seems to be ok, the pr...

Problems Creating a disclaimer in Exchange 2003
I am trying to create a server based disclaimer that will stamp all of my smtp emails going to the internet. I have been following KB article 317680 with no luck. I get an error like the one below. Binding Display Name Specified: smtpscriptinghost ** Registration Failed ** Err.Number (HRESULT) = 0x1AD Err.Description = ActiveX component can't create object ProgID = cdo.ss_smtponarrival COM Category = {FF3CAA23-00B9-11d2-9DFB-00C04FA322BA} Corresponding Event = onarrival ** Have you registered your sink COM class on this machine? I am puttin...

Resource editor problems
Hello all, Under VC++ 7.1... Please consider these two lines: IDC_ARROW_ADD_CANCEL DISCARDABLE "res\\cur00004.cur" IDC_ARROW_ADD_CANCEL CURSOR DISCARDABLE "res\\cur00004.cur" The second is a hand-edited change to the first. Both will compile just fine in the resource compiler. However, after I use a text editor to make this change, I cannot open the .rc file in the resource editor. The resource editor issues the following error open attempting to open the .rc file: error RC2135 : file not found: CURSOR Can anyone shed light on what's going on here? Thanks, Dave ...

Directory Replication Problem #2
Hi, recently my Exchange Server directory database receives changes from other servers but does not send out its own changes. Check from the knowledge base, to correct the USN discrepancy need to use Authrest.exe (need to amke changes for about 100+ users). Does anybody know where to get this file 'Authrest.exe' for exchange server 5.5? Exchange server 5.5 CD only provide this file for ver.4.0. Have anyone use it before? Regards, "Sharon Tan" <sharon_tansk@yahoo.com.sg> wrote: >Hi, recently my Exchange Server directory database >receives changes from ot...

Cell Format
I have a spreadsheet with cells that I'm trying to type the date into. I type in the date exactly like this: 09/26/03. When I hit "enter" MS Excel displays "37890" in the cell. No matter what I do I can't the cell to show: 09/26/03. I think that somehow I need to "strip" the cell of what it's original format is, but I can't figure out how. I try to use the Date option in the format cell screen but it doesn't work. Curtis I tried this and it didn't work. I also tried the "Text to columns" feature. No success. >...

User Defined Variables in MS query cause a problem to import data
If I use user defined variables in MS query to import data into excel sheet, the query executes but no data gets imported into the excel sheet. If I get rid of the variable the results can be imported into the Excel sheet. ...

outlook web access redirect problem
hi, I have been trying to redirect outlook web access (OWA) from the IIS root folder to the /exchange folder. I have followed the instructions on going into the web site and redirecting to a folder but I just get the following URL when I browse to the root of my webserver : http://webmail/exchange/exchange - it's like it's doubling up somehow. I have it set to : A redirection to a URL redirect to: /exchange client will be sent to: A directory below URL entered I just can't work it out... any ideas... cheers Baronne Which instructions did you follow? I wrote the below articl...

Problem after sorting
In my Excel 2007 workbook I have two sheets The "Master Names" sheet has columns: (A) First|(B) Last (C) First (B) Last (concatenated) The "Selected Names" sheet contains (A) cells which link to selected (C) First Last (concatenated) cells in the Master Names sheet. Everything links and displays fine except when I add names to the bottom of the Master Names sheet and then sort using (B) Last name column. When I do this I get a 0 (zero) in the (A) First Second cells in the Selected names sheet and other cells in this sheet have the wrong name. Obviously I am doin...

IF AND problem
Need to isolate problems on 1600 rows Worksheet Row Dept Hrs. Dollars A5 120500 600 9000 A6 120600 400 8000 A7 130600 240 A8 130400 160 A9 140600 320 6400 A10 140200 100 2000 A11 140600 240 (Found out the dept has 2 leading blanks) Isolate problems on 0600 criteria pointing out when b has value and c = 0. OK if both are 0. A7 and A11 should stand out.. =IF((MID(A1,5,4)="0600")=AND(b1>=0=AND(c1>=0)),"NO","ok") Does this work for you: =IF(RIGHT(A...

Problem SHAppBarMessage
Hi, I am creating an application bar which shall be displayed always at the top of the screen to show the user certain alerts. I am using the commands SHAppBarMessage(ABM_NEW, &abd); SHAppBarMessage(ABM_QUERYPOS, &abd); SHAppBarMessage(ABM_SETPOS, &abd); SetWindowPos(NULL, abd.rc.left, abd.rc.top, abd.rc.right - abd.rc.left, iClientHeight, SWP_NOACTIVATE); Works fine. The problem begins, when I start moving the taskbar. I am catching the event OnSettingChange and my application bar is resizing/moving correctly. BUT: If the taskbar moves to the top and my application bar ...