PNG32 PNG32 PNG32 PNG32
PNG32
Forum Excel, VBA, VSTO, Exceltips, Excelhj�lp PNG32 drivs av Excelspecialisten    Logga in     English
PNG32
PNG32 PNG32
PNG32

Logga in

PNG32

Du är inte inloggad. Logga in eller registrera dig för att skriva inlägg eller svara på inlägg.

För frågor om forumet, kontakta oss på webmaster@excelforum.se

PNG32 PNG32
PNG32 PNG32
PNG32

Excelforum

PNG32

 
ForumForumDiskussionerDiskussionerVBAVBAVBA-koden fungerar inte i Personal.XLSBVBA-koden fungerar inte i Personal.XLSB
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2015-09-25 15:54
 

 Hej,

Har skrivit ett makro som fungerar perfekt när det är sparat i filen jag vill köra det på, lägger jag det istället i Personal.XLSB så fungerar det plötsligt inte.

Bakgrund:

Vi får en fil ifrån en kund med prognosinformation som jag vill behandla i Excel, makrot kan ju inte ligga med i filen ifrån början då den skapas hos kunden så tanken var att skapa en knapp i menyn som startar ett makro sparat i Personal.XLSB men av någon anledning så fungerar bara makrot när det är sparat direkt i arbetsboken.

Finns det någon klassisk fallgrop jag trillat i?  :-)

 

Nytt inlägg
 2015-09-27 17:45
 

Här är exempel på kod som fungerar i Excelboken men så fort jag lägger den i den personliga makroboken så ser allt bra ut tills man kommer till raden: For inputArticleRow = 3 To Blad1.Cells(Rows.count, "a").End(xlUp).Row 'start input at third row and read to last row that contains anything

Här hittas ingen data utan man hamnar i slutet av koden och makrot avslutas.

Någon som vet vad som är fel?

 

' reads from active sheet and creates a new sheet with formated data
Sub FormatPrediction()

'indexes
Dim inputArticleRow As Integer
Dim inputPredictionColumn As Integer
Dim outputArticleRow As Integer

'sheets
Dim outputSheet As Worksheet
Dim inputSheet As Worksheet

Set inputSheet = ActiveSheet
Set outputSheet = Sheets.Add

' do the formating
outputArticleRow = 1 ' start output at first row
For inputArticleRow = 3 To Blad1.Cells(Rows.count, "a").End(xlUp).Row 'start input at third row and read to last row that contains anything
For inputPredictionColumn = 2 To 6 ' read columns 2 to 6
outputSheet.Cells(outputArticleRow, 1).Value = inputSheet.Cells(inputArticleRow, 1).Value
outputSheet.Cells(outputArticleRow, 2).Value = Format(DateAdd("m", inputPredictionColumn - 1, Date), "YYYYMM") 'next month from current date as first prediction
outputSheet.Cells(outputArticleRow, 3).Value = inputSheet.Cells(inputArticleRow, inputPredictionColumn).Value

outputArticleRow = outputArticleRow + 1 ' adjust index for output
Next
Next

End Sub

Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerVBAVBAVBA-koden fungerar inte i Personal.XLSBVBA-koden fungerar inte i Personal.XLSB

PNG32 PNG32
Excelforum drivs av Excelspecialisten som bedriver utbildning i Excel och VBA, tillhandahåller support och hjälp med Excel, utvecklar program i Excel. Är ni i behov av en konsult inom Excel, VBA eller VSTO, eller söker en excelkurs, kontakta oss.
Copyright 2013 ExcelSpecialisten XLS AB   Användarvillkor  Personliga uppgifter