Search Results

Search found 1188 results on 48 pages for 'vba'.

Page 31/48 | < Previous Page | 27 28 29 30 31 32 33 34 35 36 37 38  | Next Page >

  • Using Excel to work with SQL data (read/write)

    - by Tyler Brock
    I have a ton of data in a sql database which I would like to be able to import and display in excel (I can already do this) and additionally modify or append to the dataset within excel and write the changes/additions back to the database. What is the best way to go about doing something like this? Please let me know, thanks!

    Read the article

  • Problem with a "Select Case"

    - by Nimrod
    i wrote the following section below. when debugging, i see that i enter the first Case okay. my problem is with the second Case - it does not enter it and goes to the error messege. what do i do wrong? Select Case Data_Rate Case "1", "2", "5.5", "11", "6", "9", "12", "18", "24", "36", "48", "54" a = Data_Rate Select Case Date_Rate Case "1" b = 2 Case "2", "5.5", "11" b = 1 Case Else: MsgBox ("ERROR - Data_Rate") End Select Case "0", "1", "2", "3", "4", "5", "6", "7" a = 3 Case Else: MsgBox ("ERROR - Data_Rate") End Select

    Read the article

  • Changing Positions of the Chart When Creating Multiple Charts Automatically via Vbasic in Excel 2007

    - by McVey
    I am creating a new chart for each row of data in an Excel spreadsheet. I have the Vbasic working properly, but I want to change the position of the chart on the sheet that is added for each row. Below is my code, what do I need to do to change the position of the chart on the page automatically? Ideally, I would like it to be in the upper left hand corner of each sheet. Sub DrawCharts() Dim Ws As Worksheet Dim NewWs As Worksheet Dim cht As Chart Dim LastRow As Long Dim CurrRow As Long Set Ws = ThisWorkbook.Worksheets("Sheet1") LastRow = Ws.Range("A65536").End(xlUp).Row For CurrRow = 2 To LastRow Set NewWs = ThisWorkbook.Worksheets.Add NewWs.Name = Ws.Range("A" & CurrRow).Value Set cht = ThisWorkbook.Charts.Add With cht .ChartType = xl3DColumnClustered .SeriesCollection.NewSeries .SeriesCollection(1).Values = "=" & Ws.Name & "!R" & CurrRow & "C3:R" & CurrRow & "C8" .SeriesCollection(1).Name = "=" & Ws.Name & "!R" & CurrRow & "C2" .SeriesCollection(1).XValues = "Sheet1!R1C3:R1C8" .Axes(xlValue).MinimumScale = 0 .Axes(xlValue).MaximumScale = 1 .Axes(xlValue).MajorUnit = 0.2 .SetElement (msoElementDataLabelShow) .SetElement (msoElementLegendNone) .Location Where:=xlLocationAsObject, Name:=NewWs.Name End With Next CurrRow End Sub Any help is appreciated.

    Read the article

  • MessageBox if Recordset Update is Successful

    - by Paolo Bernasconi
    In Access 2007, I have a form to add a new contact to a table: RecSet.AddNew RecSet![Code_Personal] = Me.txtCodePersonal.Value RecSet![FName] = Me.TxtFName.Value RecSet![LName] = Me.txtLName.Value RecSet![Tel Natel] = Me.txtNatTel.Value RecSet![Tel Home] = Me.txtHomeTel.Value RecSet![Email] = Me.txtEmail.Value RecSet.Update This has worked so far, and the contact has successfully been aded. But I'm having two problems: I want to display a messagebox to tell the user the contact was successfully added If the contact was not successfully added because A contact with this name already exists A different issue Then display a message box "Contact already exists" or "error occured" respectively. My idea of doing this is: If recSet.Update = true Then MsgBox "Paolo Bernasconi was successfully added" Else if RecSet![FName] & RecSet![LName] 'already exist in table MsgBox "Contact already exists" Else MsgBox "An unknown error occured" I know this code is wrong, and obviously doesn't work, but it's just to give you an idea of what I'm trying to achieve. Thanks for all your help in advance.

    Read the article

  • VBS Script Help.

    - by MalsiaPro
    I managed to get this code from you guys here, thanks so much with a collegue of mine, I ran this code a few times and it seems to work but stops after a while due to protected files such as system files, "Permission Denied" and then the script just stops, is there a way to modify the code below so that it can handle such protected files or whether it can pass them. Any advice or help is appreciated. Set objFS=CreateObject("Scripting.FileSystemObject") WScript.Echo Chr(34) & "Full Path" &_ Chr(34) & "," & Chr(34) & "File Size" &_ Chr(34) & "," & Chr(34) & "File Date modified" &_ Chr(34) & "," & Chr(34) & "File Date Created" &_ Chr(34) & "," & Chr(34) & "File Date Accessed" & Chr(34) Set objArgs = WScript.Arguments strFolder = objArgs(0) Set objFolder = objFS.GetFolder(strFolder) Go (objFolder) Sub Go(objDIR) If objDIR <> "\System Volume Information" Then For Each eFolder in objDIR.SubFolders Go eFolder Next End If For Each strFile In objDIR.Files WScript.Echo Chr(34) & strFile.Path & Chr(34) & "," &_ Chr(34) & strFile.Size & Chr(34) & "," &_ Chr(34) & strFile.DateLastModified & Chr(34) & "," &_ Chr(34) & strFile.DateCreated & Chr(34) & "," &_ Chr(34) & strFile.DateLastAccessed & Chr(34) Next End Sub Then call it from the command line like this. c:\test> cscript //nologo myscript.vbs "c:\" > "C:\test\Output.csv" Thank you :)

    Read the article

  • populating a list from another worksheet with 1 criteria

    - by Arcadian
    Hello, here is my dilemma. I have two worksheets one that has the name of clients and one that i want to copy the names to depending on the city. For instance: associated to each column is last name, first name and city. i have hundreds of names associated to different cities and what i would like is from worksheet1.xls to copy all the New York clients to worksheet2.xls either when i open worksheet2 or via macro what ever is easier and because last name is in one cell and the first name is in the other i would have to copy both. I saw that its possible to link cells from one worksheet to another and then do a vlookup depending on the criteria. Is that the best easiest way or is there another? thanks in advance and cheers oleg

    Read the article

  • [change] Vlookup onto another workbook

    - by Arcadian
    Hello, here is my dilemma. I have two worksheets one that has the name of clients and one that i want to copy the names to depending on the city. For instance: associated to each column is last name, first name and city. i have hundreds of names associated to different cities and what i would like is from worksheet1.xls to copy all the New York clients to worksheet2.xls either when i open worksheet2 or via macro what ever is easier and because last name is in one cell and the first name is in the other i would have to copy both. I saw that its possible to link cells from one worksheet to another and then do a vlookup depending on the criteria. Is that the best easiest way or is there another? thanks in advance and cheers oleg

    Read the article

  • How to identify a selected slide is a master slide in PowerPoint 2003 Programmatically

    - by Gayan
    Recently I was working with a code to open a PowerPoint presentation (by vb.net) object and process each slide by slide. If processing slide is not null or a master slide I need to skip and go to the next one. Can anyone show me how to check whether a given slide is a master slide? Is there any way to check it by slide type? Public Sub CheckForProprtychecker(ByVal Presn As PowerPoint.Presentation) For SlideIndex As Integer = 1 To Presn.Slides.Count() If Presn.Slides(SlideIndex) Is Nothing Then Continue For End If ‘do other process Next End Sub

    Read the article

  • Office Automation: What does destroy my encoding?

    - by Filburt
    I'm facing a problem with a Word Mail Merge Automation controlled by our CRM system. The setup Base for the Mail Merge is a Word .dot template which fires a macro on Document.New. Inside this macro I create a .Net component registered for COM. Set myCOMObject = CreateObject("MyCOMObject") The component pulls some data from a database and hands string values which are assigned to Word DocumentVariables. Set someClass = myCOMObject.GetSomeClass(123) ActiveDocument.Variables("docaddress") = someClass.GetSenderAddress(456) All string values returned from the component are encoded in UTF-8 (codepage 1200). What happens The problem arises when the CRM system calls Word to perform the Mail Merge: The string values from the component are turned into UTF-8 encoded strings. All the static text inside the template and the data pulled for the Mail Merge stay nicely encoded in UTF-16 - example the umlaut ü inside my DocumentVariables is turned into c3 b0 while it stays fc for the rest of the document (checked file in hex editor). If I'm creating a document from a template with the same macro functionallity but without performing a Mail Merge all strings are fine; i.e. are encoded in UTF-16. What changed According to the CRM software vendor the encoding of the Mail Merge data export was changed to UTF-16 with the new version we're currently testing. I found out that MS states that you'll expirience issues when the document and the Mail Merge data file encoding don't match. What I tried Since I'm assuming to merge with UTF-16 encoded data I added the following lines to my macro: ActiveDocument.TextEncoding = msoEncodingWestern ActiveDocument.SaveEncoding = msoEncodingUnicodeLittleEndian This is what the Mail Merge data document specifies in its document properties.

    Read the article

  • Alerting for incorrect cell values

    - by Allan
    My problem: I have two ranges R16 and R01. These ranges were set up by swiping each range and then renaming them in the upper left panel of the sheet. Each range requires users to fill in each cell with a value. R16 requires users to enter a number of 0 through 5. The range R01 requires a value of 0 or 1 to be entered. NO cell can be left blank in any cell within these two ranges. These ranges and requirements are specific to this sheet only. It would be nice if at the time of user entering a number, an error message appeared like [invalid entry] if the value inputted was outside parameters set. For example, in R16, if someone entered 12 or -1 they would be alerted. Finally when the user presses a button on the page to use these values in a separate process, it is essential to check that no cell is left blank. I am trying to find a way to halt the running of the marco (via the button) if these parameters above are not met. Thank you

    Read the article

  • Word Macros Problem: MsgBox function appears to lock all open windows of word

    - by amby
    I have some Macros that run in Word. We are migrating to Office 2007. Problem: the MsgBox function appears to lock all open windows of word. Any Ideas on how to get around that? (It is a macro that walks a user through a bunch of prompts for information that they enter into user forms and or MsgBoxes.) The error says: The command cannot be completed because a dialog box is open. Click OK then close all open dialog boxes to continue. Is there any way to have each window of word act independently of each other? The problem is that the information is frequently cut and pasted from other open word documents, and this doesn't work as the MsgBox locks control of ALL windows of Word 2007. The macros are pretty simple, but if you want to see the code, I will certainly post it. Basically, the old version of office let you go between windows, while 2007, that we are migrating to does not. I have run all the updates I could find. Any help would be greatly appreciated.

    Read the article

  • Excel VBAa: Sum invoice by client id with copying result to new worksheet

    - by Melkior
    Hi, i have strange problem doing reporting: i have numerous clients with different issued invoices. Problem comes to the point when there are invoices in minus and plus: Column A consists of client unique IDs, Column B invoice number, column C invoice amount A | B | C 0010019991 | 1800149471 | 162.00 0010019991 | 1800136388 | 162.00 0010019991 | 1600008004 | -36.00 0010021791 | 1800132148 | 162.00 0010021791 | 1800145436 | 162.00 0010021791 | 1600007737 | -12.00 0014066147 | 1800119068 | 1,684.80 0014066147 | 1800123702 | 1,684.80 0014066147 | 1600007980 | -1,300.80 0014066147 | 1600007719 | -1,286.40 I need to remove rows with negative invoices in a way that amount is summed with invoices which are not with negative amount. So that final result would look like: A | B | C 0010019991 | 1800149471 | 126.00 0010019991 | 1800136388 | 162.00 0010021791 | 1800132148 | 150.00 0010021791 | 1800145436 | 162.00 0014066147 | 1800123702 | 782.40

    Read the article

  • Error while creating a table style in excel

    - by Rashmi Pandit
    Hi, I am using the following function to create a TableStyle: Public Function CreateTableStyle() ActiveWorkbook.Unprotect Dim objTS As TableStyle On Error Resume Next Set objTS = ActiveWorkbook.TableStyles("MyTableStyle") On Error GoTo err_CreateTableStyle If Not objTS Is Nothing Then Exit Function End If Set objTS = ActiveWorkbook.TableStyles.Add("MyTableStyle") With ActiveWorkbook.TableStyles("MyTableStyle") .ShowAsAvailablePivotTableStyle = True .ShowAsAvailableTableStyle = False End With With ActiveWorkbook.TableStyles("MyTableStyle").TableStyleElements( _ xlHeaderRow).Font .FontStyle = "Bold" .TintAndShade = 0 .ThemeColor = xlThemeColorDark1 End With With ActiveWorkbook.TableStyles("MyTableStyle").TableStyleElements( _ xlHeaderRow).Interior .ThemeColor = xlThemeColorLight2 .TintAndShade = -0.249946592608417 End With With ActiveWorkbook.TableStyles("MyTableStyle").TableStyleElements( _ xlTotalRow).Font .FontStyle = "Bold" .TintAndShade = 0 .ThemeColor = xlThemeColorDark1 End With With ActiveWorkbook.TableStyles("MyTableStyle").TableStyleElements( _ xlTotalRow).Interior .ThemeColor = xlThemeColorLight2 .TintAndShade = -0.249946592608417 End With ActiveWorkbook.TableStyles("MyTableStyle").TableStyleElements( _ xlSubtotalRow1).Font.FontStyle = "Bold" With ActiveWorkbook.TableStyles("MyTableStyle").TableStyleElements( _ xlSubtotalRow1).Interior .Color = 16764828 .TintAndShade = 0 End With ActiveWorkbook.TableStyles("MyTableStyle").TableStyleElements( _ xlSubtotalRow2).Font.FontStyle = "Bold" With ActiveWorkbook.TableStyles("MyTableStyle").TableStyleElements( _ xlSubtotalRow2).Interior .Color = 16777164 .TintAndShade = 0 End With ActiveWorkbook.Protect Exit Function err_CreateTableStyle: Call Common.ErrRaise(Erl, "Common", "CreateTableStyle", "CreateTableStyle") End Function At the line below: With ActiveWorkbook.TableStyles("MyTableStyle").TableStyleElements( _ xlHeaderRow).Font .FontStyle = "Bold" I am getting an error: Run-time error '1004' Unable to set the FontStyle property of the Font class. Can someone please identify the issue? I am not able to figure why it is not letting me set the property.

    Read the article

  • In subform of a MS Access form, how to hide/show the vertical scroll bars as needed?

    - by PowerUser
    I have a subform in an MS Access form which is not hiding/showing the vertical scroll bars as needed. In the example picture, the vertical scroll bar is showing even though there aren't enough records to warrant vertical scrolling. How do I get the scroll bars to show only when they are needed? Do I need to add an if-then condition to the on_load event? or is there an easier option?

    Read the article

  • How to use Application.OnTime to call a macro at a set time everyday, without having to close workbook

    - by Shayne K
    I have written a macro that uses Application.OnTime that works if I manually execute the macro. I'm trying to automate this process so I don't have to write Application.OnTime in "This Workbook" or (Private Sub Workbook_Open() Most of you do this because you can have windows scheduler open the workbook at a certain time which starts the macros on open. I CANNOT USE SCHEDULER. Because I am not able to use windows scheduler I will keep the workbook open and the timer should refresh my data then Call "my Macro" at a certain time everyday. Where do I place this code, and how do I set an auto timer?

    Read the article

  • Forms bound to updateable ADO recordsets are not updateable when the source includes a JOIN

    - by Art
    I'm developing an application in Access 2007. It uses an .accdb front end connecting to an SQL Server 2005 backend. I use forms that are bound to ADO recordsets at runtime. For the sake of efficiency, the recordsets usually contain only one record, and are queried out on the server: Public Sub SetUpFormRecordset(cn As ADODB.Connection, rstIn As ADODB.Recordset, rstSource As String) Dim cmd As ADODB.Command Dim I As Long Set cmd = New ADODB.Command cn.Errors.Clear ' Recordsets based on command object Execute method are Read Only! With cmd Set .ActiveConnection = cn .CommandType = adCmdText .CommandText = rstSource End With With rstIn .CursorType = adOpenKeyset .LockType = adLockPessimistic 'Check the locktype after opening; optimistic locking is worthless on a bound End With ' form, and ADO might open optimistically without firing an error! rstIn.Open cmd, , adOpenKeyset, adLockPessimistic 'This should run the query on the server and return an updatable recordset With cn If .Errors.Count <> 0 Then For Each errADO In .Errors Call HandleADOErrors(.Errors(I)) I = I + 1 Next errADO End If End With End Sub rstSource (the string containg the TSQL on which the recordset is based) is assembled by the calling routine, in this case from the Open event of the form being bound: Private Sub Form_Open(Cancel As Integer) Dim rst As ADODB.Recordset Dim strSource As String, DefaultSource as String Dim lngID As Long lngID = Forms!MyParent.CurrentID strSource = "SELECT TOP (100) PERCENT dbo.Customers.CustomerID, dbo.Customers.LegacyID, dbo.Customers.Active, dbo.Customers.TypeID, dbo.Customers.Category, " & _ "dbo.Customers.Source, dbo.Customers.CustomerName, dbo.Customers.CustAddrID, dbo.Customers.Email, dbo.Customers.TaxExempt, dbo.Customers.SalesTaxCode, " & _ "dbo.Customers.SalesTax2Code, dbo.Customers.CreditLimit, dbo.Customers.CreationDate, dbo.Customers.FirstOrder, dbo.Customers.LastOrder, " & _ "dbo.Customers.nOrders, dbo.Customers.Concurrency, dbo.Customers.LegacyLN, dbo.Addresses.AddrType, dbo.Addresses.AddrLine1, dbo.Addresses.AddrLine2, " & _ "dbo.Addresses.City, dbo.Addresses.State, dbo.Addresses.Country, dbo.Addresses.PostalCode, dbo.Addresses.PhoneLandline, dbo.Addresses.Concurrency " & _ "FROM dbo.Customers INNER JOIN " & _ "dbo.Addresses ON dbo.Customers.CustAddrID = dbo.Addresses.AddrID " strSource = strSource & "WHERE dbo.Customers.CustomerID= " & lngID With Me 'Default is Set up for editing one record If Not Nz(.RecordSource, vbNullString) = vbNullString Then If .Dirty Then .Dirty = False 'Save any changes on the form .RecordSource = vbNullString End If If rst Is Nothing Then 'Might not be first time through DefaultSource = .RecordSource Else rst.Close Set rst = Nothing End If End With Set rst = New ADODB.Recordset Call setupformrecordset(dbconn, rst, strSource) 'dbconn is a global variable With Me Set .Recordset = rst End With End Sub The recordset that is returned from setupformrecordset is fully updateable, and its .Supports property shows this. It can be edited and updated in code. The entire form, however, is read only, even though it's .AllowEdits and .AllowAdditions properties are both true. Even the fields from the right hand side (the 'many' side) cannot be edited. Removing the INNER JOIN clause from the TSQL (restricting strSource to one table) makes the form fully editable. I've verified that the TSQL includes priimary key fields from both tables, and each table includes a timestamp field for concurrency. I tried changing the .CursorType and .CursorLocation properties of the recordset to no avail. What am I doing wrong?

    Read the article

  • UserForm in script run from Outlook Rule

    - by Asgeir S. Nilsen
    Based on http://support.microsoft.com/kb/306108 I'd like to create a custom rule that shows a custom UserForm instead of the plain old MsgBox. What I wrote was this: Dim alerts As CustomAlerts Sub CustomMailMessageRule(Item As Outlook.MailItem) alerts.Messages.AddItem Item.Subject alerts.Show End Sub CustomAlerts is a UserForm containing a single ListBox. Sadly my attempt does not work -- no window appears. What am I doing wrong?

    Read the article

  • How do you change the subdocument location in a Word 2007 master document programmatically?

    - by boost
    We have had the unenviable happen: various master documents refer to sub-documents that are no longer where they used to be due to a directory renaming. Is there a programmatic way of tweaking the HYPERLINK field without losing the master/sub-document relationship? I've got this far ... Sub FixyaLinks() Dim s 'As String Dim i As Long Dim bTrackRevFlag As Boolean Dim bShowRevFlag As Boolean bTrackRevFlag = ActiveDocument.TrackRevisions bShowRevFlag = ActiveDocument.ShowRevisions ActiveDocument.TrackRevisions = False ActiveDocument.ShowRevisions = False For i = 1 To ActiveDocument.Fields.Count s = ActiveDocument.Fields.Item(i).Code.Text If InStr(s, "CURRICULUM\\NEW") Then s = Replace(s, "NEW Foundation Units-in developing", "Foundation Programme Units") ActiveDocument.Fields.Item(i).Code.Text = s End If Next ActiveDocument.TrackRevisions = bTrackRevFlag ActiveDocument.ShowRevisions = bShowRevFlag End Sub It bombs on ActiveDocument.Fields.Item(i).Code.Text = s, with an error 5686 ("The operation cannot be completed because the Track Changes option in the master document does not match the option the the subdocument. Make the Track Changes option the same in the master document and subdocument.") However, I'm not entirely sure what that means. Ideas anyone?

    Read the article

  • Getting "[Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near 'Microsoft.'

    - by brohjoe
    Hi Experts, I'm getting an error, "[Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near 'Microsoft.' Here is the code: Dim conn As ADODB.Connection Dim rst As ADODB.Recordset Dim stSQL As String Public Sub loadData() 'This was set up using Microsoft ActiveX Data Components version 6.0. 'Create ADODB connection object, open connection and construct the connection string object which is the DSN name. Set conn = New ADODB.Connection conn.ConnectionString = "sql_server" conn.Open 'conn.Execute (strSQL) On Error GoTo ErrorHandler 'Open Excel and run query to export data to SQL Server. strSQL = "SELECT * INTO SalesOrders FROM OPENDATASOURCE(Microsoft.ACE.OLEDB.12.0;" & _ "Data Source=C:\Workbook.xlsx;" & _ "Extended Properties=Excel 12.0; [Sales Orders])" conn.Execute (strSQL) 'Error handling. ErrorExit: 'Reclaim memory from the cntection objects Set rst = Nothing Set conn = Nothing Exit Sub ErrorHandler: MsgBox Err.Description, vbCritical Resume ErrorExit 'clean up and reclaim memory resources. conn.Close If CBool(cnt.State And adStateOpen) Then Set rst = Nothing Set conn = Nothing End If End Sub

    Read the article

  • MS Access 2003 - Formatting results in a list box problem.

    - by Justin
    So I have a list box that displays averages in a table like format from a crossyab query. It's just what I need the query is right, there is just one thing. I had to set the field properties in the query as format: standard..decimal:2. Which is exactly what I needed. However..the list box will not pick up on this. First I typed the crosstab sql into the list box's properties....and then I ran into this problem. So then I actually just created the query object, saved it and set that as the rowsource for the list box. Still won't work....when I open the query it is the correct format. So is there a way to further format a text box? Is there a way tell it to limit decimal places to one or two on returned values? Thanks!

    Read the article

< Previous Page | 27 28 29 30 31 32 33 34 35 36 37 38  | Next Page >