VGnet.dk - Excel-manipulation med VBAKoden anvendes helt på eget ansvar! Indhold:
Den tid, et regneark senest er gemtFunction GemtTid() ' (C) Copyright Lars Vangsgaard Application.Volatile True GemtTid = Application.ActiveWorkbook.BuiltinDocumentProperties("Last Save Time") End Function Opret eller fjern beskyttelse af alle arkSub Beskyt() ' (C) Copyright Lars Vangsgaard ' Beskytter alle faneblade (uden kodeord) Dim SH For Each SH In Sheets SH.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True Next End Sub Sub UBeskyt() ' (C) Copyright Lars Vangsgaard ' Fjerner beskyttelse på alle faneblade (uden kodeord) Dim SH For Each SH In Sheets SH.Unprotect Next End Sub Vælg beregningsmåde i en pivottabelSub PivotFelter(Optional ByVal art As String) ' (C) Copyright Lars Vangsgaard Dim pf, pt, typ If IsMissing(art) Then art = "G" Select Case art 'xlSum for sum, xlCount for antal, xlAverage for middelværdi... 'xlMax, xlMin, xlProduct, xlCountNums, xlStDev, xlStDevP, xlVar, xlVarP Case "G": typ = xlAverage Case "S": typ = xlSum Case "A": typ = xlCount Case "H": typ = xlMax Case "L": typ = xlMin Case "P": typ = xlProduct Case "AN": typ = xlCountNums Case "SS": typ = xlStDev Case "SP": typ = xlStDevP Case "VS": typ = xlVar Case "VP": typ = xlVarP Case Else: typ = xlAverage End Select For Each pt In ActiveSheet.PivotTables For Each pf In pt.DataFields pf.Function = typ Next pf Next pt End Sub Funktionen kan behændigt styres med denne hjælperutine: Sub VælgPivotindhold() ' (C) Copyright Lars Vangsgaard Dim medd, svar medd = "Vælg..." medd = medd & vbCrLf & "G for gennemsnit" medd = medd & vbCrLf & "S for sum" medd = medd & vbCrLf & "A for antal" medd = medd & vbCrLf & "H for høj (maksimum)" medd = medd & vbCrLf & "L for lav (minimum)" medd = medd & vbCrLf & "P for produkt" medd = medd & vbCrLf & "AN for antal numeriske" medd = medd & vbCrLf & "SS for standardafvigelse for stikprøve" medd = medd & vbCrLf & "SP for standardafvigelse for population" medd = medd & vbCrLf & "VS for standardafvigelse for stikprøve" medd = medd & vbCrLf & "VP for standardafvigelse for population" svar = UCase(InputBox(medd, "Tabelindhold", "G")) Call PivotFelter(svar) [A1].Activate End Sub Skift mellem automatisk og manuel beregningSub BytBeregningsmåde() ' (C) Copyright Lars Vangsgaard ' Dim oldStatusBar With Application ' oldStatusBar = .DisplayStatusBar ' .DisplayStatusBar = True Select Case .Calculation Case xlCalculationAutomatic, xlCalculationSemiautomatic .Calculation = xlCalculationManual MsgBox "Manuel beregning valgt." & vbCrLf & "Brug F9 for at beregne." Case xlCalculationManual .Calculation = xlCalculationAutomatic MsgBox "Automatisk beregning valgt." Case Else .Calculation = xlCalculationAutomatic MsgBox "Automatisk beregning valgt." End Select ' .StatusBar = False ' .DisplayStatusBar = oldStatusBar End With End Sub Send arbejdsbogen med OutlookSub MailMedOutlook(ByVal Emne As String, ByVal Besked As String, _ ByVal VedhaeftDenneWorkbook As Boolean, ByVal til As String, _ Optional ByVal CCadr As String, Optional ByVal BCCadr As String) ' (C) Copyright Lars Vangsgaard ' Denne funktion kan kræve en reference i VBA-editoren (Tools, References...) til ' Microsoft Office ... Object Library eller Microsoft Outlook ... Object Library. Dim OutApp As Outlook.Application Dim OutMail As Outlook.MailItem Dim strto As String Dim strcc As String Dim strbcc As String Dim strsub As String Dim strbody As String Dim svar Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(olMailItem) strto = til If IsMissing(CCadr) Then strcc = "" Else strcc = CCadr If IsMissing(BCCadr) Then strbcc = "" Else strbcc = BCCadr strsub = Emne strbody = Besked With OutMail .To = strto .CC = strcc .BCC = strbcc .Subject = strsub .Body = strbody If VedhaeftDenneWorkbook Then svar = MsgBox("Skal vi gemme regnearket før du sender?", vbYesNo, "Gemme regneark?") If svar = vbYes Then ActiveWorkbook.Save .Attachments.Add ActiveWorkbook.FullName End If 'I Excel 97 skal bruges ActiveWorkbook.Path & "\" & ActiveWorkbook.Name. '.Attachments.Add ("C:\test.txt") .Send ' eller .Display End With Set OutMail = Nothing Set OutApp = Nothing End Sub Omdøb et faneblad... hvis man af én eller anden grund ikke ønsker at gøre det ved at dobbeltklikke på fanebladets navn. Sub OmdøbFaneblad() ' (C) Copyright Lars Vangsgaard Dim navn navn = InputBox("Skriv fanebladets navn", "Omdøb faneblad", ActiveSheet.Name) If navn <> "" Then ActiveSheet.Name = navn End Sub Manipulér udseendet af en grafSub Grafskrifter() ' (C) Copyright Lars Vangsgaard Dim ch, wn wn = ActiveWorkbook.Name For Each ch In ActiveSheet.ChartObjects ch.Activate ActiveChart.ChartTitle.Select With Selection.Font .Size = 12 End With ActiveChart.Axes(xlValue).Select With Selection.TickLabels.Font .Size = 10 End With ActiveChart.Axes(xlValue).AxisTitle.Select With Selection.Font .Size = 10 End With ActiveChart.Axes(xlCategory).Select With Selection.TickLabels.Font .Size = 10 End With ActiveChart.Axes(xlCategory).AxisTitle.Select With Selection.Font .Size = 10 End With ActiveChart.Legend.Select With Selection.Font .Size = 8 End With Next ch ActiveWindow.Visible = False Windows(wn).Activate Range("A1").Select End Sub Sub Graftilpasning() Dim OvskStr, TextStr If TypeName(Selection) = "ChartArea" Then On Error Resume Next Do OvskStr = CDbl(InputBox("Overskriftens størrelse", "Overskriftstørrelse", 14)) Loop Until Err = 0 Do TextStr = CDbl(InputBox("Teksternes størrelse", "Tekststørrelse", 10)) Loop Until Err = 0 On Error GoTo 0 ActiveChart.PlotArea.Select With Selection.Border .Weight = xlThin .LineStyle = xlAutomatic End With Selection.Interior.ColorIndex = xlNone ActiveChart.ChartTitle.Select Selection.AutoScaleFont = False With Selection.Font .Size = OvskStr End With ActiveChart.Axes(xlValue).Select Selection.TickLabels.AutoScaleFont = False With Selection.TickLabels.Font .Size = TextStr End With ActiveChart.Axes(xlValue).AxisTitle.Select Selection.AutoScaleFont = False With Selection.Font .Size = TextStr End With ActiveChart.Axes(xlCategory).Select Selection.TickLabels.AutoScaleFont = False With Selection.TickLabels.Font .Size = TextStr End With With Selection.TickLabels .Orientation = 45 End With With Selection.Border .Weight = xlHairline .LineStyle = xlAutomatic End With With Selection .MajorTickMark = xlOutside .MinorTickMark = xlNone .TickLabelPosition = xlLow End With ActiveChart.Axes(xlCategory).AxisTitle.Select Selection.AutoScaleFont = False With Selection.Font .Size = TextStr End With ActiveChart.Legend.Select Selection.AutoScaleFont = False With Selection.Font .Size = TextStr End With ActiveChart.ChartArea.Select End If End Sub Slet knapper eller andre "shapes"Nogle kontrolknapper hører til objekttypen "shape". Sådan sletter man dem: Sub SletKnapper() ' (C) Copyright Lars Vangsgaard Dim sht, shp For Each sht In ThisWorkbook.Sheets For Each shp In sht.Shapes On Error Resume Next If shp.Type = 8 Or shp.Type = 12 Then MsgBox SH.Name & " " & SH.Type 'shp.Select 'Selection.Cut 'CutCopyMode = False End If On Error GoTo 0 Next shp Next sht End Sub Sub SletShapes() ' (C) Copyright Lars Vangsgaard Dim shp On Error Resume Next For Each shp In ActiveSheet.Shapes If (shp.Type <> 12) Then 'If ((shp.Type <> 12) And (shp.Type <> 17)) Then '-2 = msoShapeTypeMixed ' 1 = msoAutoShape ' 2 = msoCallout ' 3 = msoChart ' 4 = msoComment ' 5 = msoFreeform ' 6 = msoGroup ' 7 = msoEmbeddedOLEObject ' 8 = msoFormControl ' 9 = msoLine '10 = msoLinkedOLEObject '11 = msoLinkedPicture '12 = msoOLEControlObject '13 = msoPicture '14 = msoPlaceholder '15 = msoTextEffect '16 = msoMedia '17 = tekstboks shp.Select Selection.Delete End If Next shp On Error GoTo 0 End Sub Markér en regnearkstabelSub MarkerTabel(a As Range, r As Integer, k As Integer) ' (C) Copyright Lars Vangsgaard ' Markerer en tabel, idet den dropper r rækker og k kolonner. a.CurrentRegion.Offset(r, k).Resize(a.CurrentRegion.Rows.Count - r, _ a.CurrentRegion.Columns.Count - k).Select End Sub Ret inddata til et bestemt tegnPrivate Sub Worksheet_Change(ByVal Target As Excel.Range) ' (C) Copyright Lars Vangsgaard ' Overvåger et område ved navn "Flueben" i et faneblad ' og ændrer inddata til "X". ' Det er vigtigt, at regnearket åbnes med makroer. ' Makroen skal ligge i fanebladets kodeobjekt. Dim VRange As Range, cell As Range Set VRange = Range("Flueben") For Each cell In Target If Union(cell, VRange).Address = VRange.Address Then If cell <> "" Then cell = "X" End If Next cell End Sub Kontrol for, om makroer er tilladt' Kontrol for, om makroer er tilladt. ' Skal ligge i en mappes ThisWorkook-objekt. ' Desuden skal der være et faneblad "Advarsel" med en forklaring til brugeren ' om, at makroer skal være aktiveret for at bruge mappen ordentligt. ' Web-søgning med search.msn.com på 'Excel "macros disabled"'. ' Kilde: http://www.dotxls.com/excel-security/28/how-to-make-a-user-enable-excel-macros ' How to make a user enable Excel macros ' Users can set thier Excel Security to High, Medium or Low. ' Click on Tools-Macros-Security to set your Security level. ' High Security All Excel macros (except from trusted sources)are disabled ' Medium Security (recommended) User is prompted on each file-open to enable or disable Excel macros ' Low Security (not recommended) Excel Macros can run automatically without a prompt. You are not ' protected from potentially unsafe macros. ' Developer’s cannot control a user’s security settings and cannot force a user to run macros without ' seeing the pop-up security warning. ' If you wish users to enable macros you can make the Excel file unusable unless they are enabled. All ' sheets can be hidden unless the user enables macros. ' In the example below all sheets (except one) are hidden when the file is saved or closed. ' When the file is opened with Excel macros disabled the user will only see 1 sheet with a warning ' message. ' ie in cell b10: “Excel Macros must be enabled to use the workbook. Please close and reopen this file ' with Macros enabled” ' When the Excel file is opened with macros enabled the hidden worksheets will be automatically ' unhidden and the warning sheet will be hidden. ' When the Excel file is saved, all sheets except one are hidden. ' If the user saves without closing then the sheets remain hidden until the cursor is moved on the ' visible sheet. ' Note: Sheets are hidden on file-saving not file-closing. ' I used this logic as a user may save a workbook without closing. This would leave a copy of the ' saved workbook with unhidden sheets on the drive which others could open in read-only mode. ' Copy this code to the ThisWorkBook macro sheet: Private Const dsWarningSheet As String = "Advarsel" 'Enter name of the Entry/Warning Page Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim ds For Each ds In ActiveWorkbook.Sheets If LCase(dsWarningSheet) = LCase(ds.Name) Then ds.Visible = True Else ds.Visible = xlVeryHidden End If Next ds End Sub Private Sub Workbook_SheetSelectionChange(ByVal ds As Object, ByVal Target As Excel.Range) If LCase(ds.Name) = LCase(dsWarningSheet) Then For Each ds In ActiveWorkbook.Sheets ds.Visible = True Next ds ActiveSheet.Visible = xlVeryHidden End If End Sub Private Sub Workbook_Open() Dim ds Sheets(dsWarningSheet).Select For Each ds In ActiveWorkbook.Sheets ds.Visible = True Next ds ActiveSheet.Visible = xlVeryHidden End Sub Ret grafer eller serier i en grafEn "dummy", som viser, hvordan man får adgang til grafer eller grafserier. Sub RetGraferEllerSerier() ' (C) Copyright Lars Vangsgaard ' Gør noget ved grafer eller serier i et regneark Dim ch, sr, svar, i For Each ch In ActiveSheet.ChartObjects ch.Activate svar = MsgBox("Redigér " & ActiveChart.ChartTitle.Caption & "?", vbOKCancel, "Redigér graf?") If svar = vbOK Then MsgBox ActiveChart.ChartTitle.Caption For Each sr In ActiveChart.SeriesCollection sr.Select MsgBox sr.Name Next sr End If Next ch End Sub Aktivér en bestemt celleSub GåTilCelle(cl As Range) ' (C) Copyright Lars Vangsgaard On Error Resume Next cl.Parent.Parent.Activate cl.Parent.Activate cl.Activate On Error GoTo 0 End Sub Skriv et VBA-array til regnearkSub SendArrayTilArk(uddata(), udcelle As Range) ' (C) Copyright Lars Vangsgaard Dim udrange As Range Set udrange = udcelle.Range(Cells(1, 1), Cells(UBound(uddata, 1) - LBound(uddata, 1) + 1, UBound(uddata, 2) - LBound(uddata, 2) + 1)) udrange.Value = uddata Set udrange = Nothing End Sub Skriv en regnearkstabel til et VBA-arraySub SkrivArrayTilDest(arr As Variant, Optional dest As Range) ' (C) Copyright Lars Vangsgaard Dim h As Variant Dim i As Integer, j As Integer Dim r As Range If IsMissing(dest) Then dest = ActiveCell ReDim h(1 To 1 + UBound(arr) - LBound(arr), 1 To 1 + UBound(arr(0)) - LBound(arr(0))) For i = LBound(arr) To UBound(arr) For j = LBound(arr(0)) To UBound(arr(0)) h(1 + i - LBound(arr), 1 + j - LBound(arr(0))) = arr(i)(j) Next j Next i Set r = dest.Range(Cells(1, 1), Cells(1 + UBound(arr) - LBound(arr), 1 + UBound(arr(0)) - LBound(arr(0)))) r.Value = h Set r = Nothing End Sub Sæt cellers farve efter deres værdi (heltal)Sub FarvMarkering() ' (C) Copyright Lars Vangsgaard Dim cl As Range For Each cl In Selection With cl.Interior .ColorIndex = cl.Value + 1 .Pattern = xlSolid End With Next cl End Sub Fjern hyperlinksSub FjernHyperlinks() ' (C) Copyright Lars Vangsgaard Dim cl On Error Resume Next For Each cl In Selection cl.Hyperlinks.Delete Next 'cl On Error GoTo 0 End Sub Fjern cellers farveSub IngenBaggrundsfarve() ' (C) Copyright Lars Vangsgaard Selection.Interior.ColorIndex = xlNone End Sub Set skrå tekst i cellerSub SkråTekst() ' (C) Copyright Lars Vangsgaard With Selection .HorizontalAlignment = xlGeneral .VerticalAlignment = xlBottom .WrapText = False .Orientation = 15 .AddIndent = False .ShrinkToFit = False .MergeCells = False End With End Sub Sæt ombrudt tekst i cellerSub OmbrudtTekst() ' (C) Copyright Lars Vangsgaard With Selection .HorizontalAlignment = xlGeneral .VerticalAlignment = xlTop .WrapText = True .Orientation = 0 .AddIndent = False .ShrinkToFit = False .MergeCells = False End With End Sub Markér UsedRangeSub MarkerUsedRange() ' (C) Copyright Lars Vangsgaard On Error Resume Next ActiveWorkbook.ActiveSheet.UsedRange.Select On Error GoTo 0 End Sub Vis arbejdsbogens navnSub VisMappensNavn() ' (C) Copyright Lars Vangsgaard InputBox "Mappens navn er", "Mappens navn", ActiveWorkbook.FullName End Sub Skift visning af en værktøjslinjeSub SkiftVTL(navn As String) ' (C) Copyright Lars Vangsgaard Dim h As Boolean On Error Resume Next h = Application.CommandBars(navn).Visible Application.CommandBars(navn).Visible = Not h On Error Goto 0 End Sub Lav en "død" kopi af et regnearkBemærk, at der har været nogle problemer med at få denne rutine til at virke ordentligt! Sub LavFiksKopi() ' (C) Copyright Lars Vangsgaard ' Lav en kopi af det aktive faneblad, hvor fanebladets billeder er "døde" kopier. ' Der sker ikke noget med originalen. Dim gn, nn, ch gn = ActiveWorkbook.Name ActiveSheet.Copy nn = ActiveWorkbook.Name For Each ch In ActiveSheet.ChartObjects ch.Activate ActiveChart.ChartArea.Select ActiveChart.ChartArea.Copy ActiveChart.Pictures.Paste.Select ActiveWindow.Visible = False Windows(nn).Activate Next ch ' Denne kodestump kan slette en evt. knap, man har knyttet koden til ' ActiveSheet.Shapes("CommandButton1").Select ' Selection.Delete Range("A1").Select ' Kopien efterstår nu som det aktive regneark. ' Denne kodestump kan gøre det gamle regneark til det aktive. ' Windows(gn).Activate End Sub Fiksér indholdet af et antal regneark eller en hel arbejdsbogSub FikskopierRegneark(Optional AntalArk) ' (C) Copyright Lars Vangsgaard Dim wbg As Workbook, wbn As Workbook, i As Integer Set wbg = ThisWorkbook Set wbn = Workbooks.Add If IsMissing(AntalArk) Then AntalArk = wbg.Sheets.Count If AntalArk > wbn.Sheets.Count Then For i = wbn.Sheets.Count + 1 To AntalArk wbn.Sheets.Add Next i End If For i = 1 To AntalArk Windows(wbg.Name).Activate ActiveWorkbook.Sheets(i).Select Cells.Select Selection.Copy Windows(wbn.Name).Activate ActiveWorkbook.Sheets(i).Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False Application.CutCopyMode = False ActiveSheet.Range("A1").Select wbn.Sheets(i).Name = wbg.Sheets(i).Name Windows(wbg.Name).Activate ActiveSheet.Range("A1").Select Next i wbg.Sheets(1).Activate wbn.Sheets(1).Activate Set wbg = Nothing Set wbn = Nothing End Sub Sub TygRegneark(navn As String) ' (C) Copyright Lars Vangsgaard Dim wbg As Workbook, wbn As Workbook, i As Integer On Error Resume Next Set wbg = Workbooks.Open(navn) If Err <> 0 Then End On Error GoTo 0 Set wbn = Workbooks.Add If wbg.Sheets.Count > wbn.Sheets.Count Then For i = wbn.Sheets.Count + 1 To wbg.Sheets.Count wbn.Sheets.Add Next i End If For i = 1 To wbg.Sheets.Count Windows(wbg.Name).Activate ActiveWorkbook.Sheets(i).Select Cells.Select Selection.Copy Windows(wbn.Name).Activate ActiveWorkbook.Sheets(i).Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False Application.CutCopyMode = False ActiveSheet.Range("A1").Select wbn.Sheets(i).Name = wbg.Sheets(i).Name Next i Application.DisplayAlerts = False wbg.Close Application.DisplayAlerts = True Set wbg = Nothing On Error Resume Next wbn.SaveAs navn If Err = 0 Then wbn.Close On Error GoTo 0 Set wbn = Nothing End Sub Sortér arbejdsbogens ark efter navnSub SorterArk() ' (C) Copyright Lars Vangsgaard ' Denne rutine sorterer arkene i en mappe alfabetisk Dim ArkNavn() As String Dim ArkAntal As Integer, i As Integer Dim GammeltArk As Object On Error Resume Next ' Optælling og fejlkontrol ArkAntal = ActiveWorkbook.Sheets.Count If Err <> 0 Then Exit Sub If ActiveWorkbook.ProtectStructure Then MsgBox ActiveWorkbook.Name & " er beskyttet", vbCritical, "Kan ikke sortere arkene" End If ' Navnene lægges ind i en liste ReDim ArkNavn(1 To ArkAntal) For i = 1 To ArkAntal ArkNavn(i) = ActiveWorkbook.Sheets(i).Name Next i ' Sorter navnelisten Call BobleSortString(ArkNavn) ' Slå skærmopdatering fra Application.ScreenUpdating = False ' Gem hvilket ark der er aktivt Set GammeltArk = ActiveWorkbook.ActiveSheet ' Flyt arkene rundt For i = 1 To ArkAntal ActiveWorkbook.Sheets(ArkNavn(i)).Move ActiveWorkbook.Sheets(i) Next i ' Hent hvilket ark der var aktivt GammeltArk.Activate ' Slå skærmopdatering til Set GammeltArk = Nothing Application.ScreenUpdating = True End Sub Funktionen kræver adgang til en hjælperutine, der kan sortere: Sub BobleSortString(liste() As String) ' (C) Copyright Lars Vangsgaard ' Denne rutine sorterer en vilkårlig liste Dim Forste As Integer, Sidste As Integer Dim i As Integer, j As Integer Dim Temp ' Styr på start- og slutindeks Forste = LBound(liste) Sidste = UBound(liste) ' Gennemløber listen en masse gange For i = Forste To Sidste - 1 For j = i + 1 To Sidste ' Hvis det største står først, så byt om If liste(i) > liste(j) Then Temp = liste(j) liste(j) = liste(i) liste(i) = Temp End If Next j Next i End Sub For at der sorteres rigtigt skal følgende direktiv placeres øverst i modulet: Option Compare Text Udtræk en vilkårlig celle fra et områdeFunction UdtraekCelle(Omraade As Variant, Optional Genregn As Boolean) ' (C) Copyright Lars Vangsgaard ' Udtrækker en vilkårlig celle i et område ' Standardmåde statisk If IsMissing(Genregn) Then Genregn = False Application.Volatile Genregn ' Udtrækningen UdtraekCelle = Omraade(Int(Omraade.Count * Rnd) + 1) End Function Vend menuernes tekster om, så de bliver volapykEn rutine, de kan bruges til at lave sjov med andre med. Alt-kombinationerne virker som de skal. Sub ReverseMenuText() ' Made by John Valkenbach Dim m1, m2, m3 On Error Resume Next For Each m1 In Application.CommandBars(1).Controls m1.Caption = Reverse(m1.Caption) For Each m2 In m1.Controls m2.Caption = Reverse(m2.Caption) For Each m3 In m2.Controls m3.Caption = Reverse(m3.Caption) Next m3 Next m2 Next m1 End Sub Funktionen kalder følgende hjælpefunktion: Function Reverse(MenuText As String) As String ' Made by John Valkenbach ' Returns menu item, backwards with original hot key Dim Temp As String, Temp2 As String Dim ItemLen As Integer, i As Integer Dim HotKey As String * 1 Dim Found As Boolean ItemLen = Len(MenuText) Temp = "" For i = ItemLen To 1 Step -1 If Mid(MenuText, i, 1) = "&" Then _ HotKey = Mid(MenuText, i + 1, 1) _ Else Temp = Temp & Mid(MenuText, i, 1) Next i ' Convert reversed string to Proper case Temp = Application.Proper(Temp) ' Insert & for hot key Found = False Temp2 = "" For i = 1 To ItemLen - 1 If UCase(Mid(Temp, i, 1)) = UCase(HotKey) And Not Found Then Temp2 = Temp2 & "&" Found = True End If Temp2 = Temp2 & Mid(Temp, i, 1) Next i ' Transfer ellipses to end of string If Left(Temp2, 3) = "..." Then Temp2 = Right(Temp2, ItemLen - 3) & "..." Reverse = Temp2 End Function
Siden er oprettet 25-12-2006 og sidst opdateret 14-01-2007 22:53. █ |