Någon expert på Visual Basic makro i Excel som kan hjälpa mig?

Tråden skapades och har fått 10 svar. Det senaste inlägget skrevs .
1

Jag har en prisfil från en leverantör som är gjord i Excel för Windows. Upplägget är sådant att man väljer storlek på en maskin och sedan ett antal tillägg. Därefter klickar man på en knapp som heter "Generate offer" varpå 2 nya filer skapas. En fil där man ser in- och utpris samt täckningsbidrag, och en kalkyl med utpris som man kan visa för kunden. Detta fungerar inte alls i Excel 2011 för Mac, man får ett felmeddelande (se bild). Finns det någon som kan hjälpa mig att identifiera problemet och kanske till och med lösa det? Om någon känner sig manad skickar jag över filerna. Någon form av belöning utgår.

  • Medlem
  • Karlskoga
  • 2011-12-06 21:41

Kan det ha med Lion att göra? Eftersom de har tagit bort Spara som... och istället har versionshanteringen, kanske det är felet....

Ursprungligen av kenjon:

Kan det ha med Lion att göra? Eftersom de har tagit bort Spara som... och istället har versionshanteringen, kanske det är felet....

Nej, detta felet har funnits i alla tider. Kommer inte ihåg när Office för Mac återfick stöd för Visual Basic, men det var efterlängtat och det var en jättebesvikelse när jag äntligen fick in det och märkte att fanskapet inte alls var 100% kompatibelt med Excel för PC.

Dessutom, Spara som lever kvar i mitt Office (kanske läge att kolla efter uppdatering )

Edit: Uppdaterat nu, och har fortfarande Spara som.

Senast redigerat 2011-12-06 21:55

Det är ett hyfsat klart felmeddelande, som säger exakt vilket fel det är (1004) och vilken metod som ger det, men för att säga exakt vad och vad det är måste man debugga. Lite googlande kommer säkert att ge lite förslag.

Mer jobb än jag tänkt göra gratis, men hjälper inget annat så går det ju att anlita mig.

Ursprungligen av Richard Rönnbäck:

Det är ett hyfsat klart felmeddelande, som säger exakt vilket fel det är (1004) och vilken metod som ger det, men för att säga exakt vad och vad det är måste man debugga. Lite googlande kommer säkert att ge lite förslag.

Mer jobb än jag tänkt göra gratis, men hjälper inget annat så går det ju att anlita mig.

Problemet är att jag är fullständigt okunnig på sånt här. Har inte hunnit titta så noga än men jag hittar inte ens koden (?).

Nu gissar jag vilt, men det låter som de anropar en DLL eller något Windowsspecifikt direkt. Det kommer såklart inte fungera i OS X.

För att få tag i Visual Basic får du kryssa i Developer under "kugghjulet" längst till höger i Excel och välja Ribbon Preferences. I "Tab and Group Title" finns de delar du har aktiva i Ribbonen. Standard verkar vara att Developer är urklickat.

När du får upp koden kan man sätta brytpunkter strax innan och där skriptet fallerar för att felsöka.

Kommandot GetSaveAsFileName() öppnar Spara som-fönstret. Problemet med att det inte fungerar på Mac kan (UTI vs. file extensions?) ha att göra med att kommandot har argument fileFilter:=.... för att rätt filtyp ska vara förvald.

Om du kommer åt koden så leta reda på alla GetSaveAsFileName(....) och radera , fileFilter:=".txt" eller liknande inom parentesen inkl kommatecknet. Spara och testa om det fungerar bättre. Spara som kommer inte att vara förinställt på den avsedda filtypen utan det får användaren välja själv (om det alls fungerar).

Så, nu har jag lyckats ta mig in i koden. Jag fick ett lösenord av de som skapat filen, men av någon anledning gick det inte att låsa upp när jag kör i Office på min Mac, utan jag fick låsa upp den i Office för Windows och redigera den där. Jag har nu tagit bort allt som står inom parentesen fileFilter på GetSaveAsFileName och lyckades generera en av filerna som förväntades men får då ett annat fel:

Det där felet behöver inte ha att göra med om det körs på Mac eller Windows. Får du inte detta fel om du kör din redigerade version på under Windows?

Om macrot anropar databas (via ODBC eller Jet) för att hämta data till en matris så kan det fallera på Mac och därmed ge ett index-fel. Annars skulle det kunna vara nästan vad som helst.

Ursprungligen av M. Sundbom:

Det där felet behöver inte ha att göra med om det körs på Mac eller Windows. Får du inte detta fel om du kör din redigerade version på under Windows?

Om macrot anropar databas (via ODBC eller Jet) för att hämta data till en matris så kan det fallera på Mac och därmed ge ett index-fel. Annars skulle det kunna vara nästan vad som helst.

Jo, felet dyker upp även på PC. Här är felmeddelande och vad den visar om man klickar på felsök.

Prova ersätta raden med ActiveSheet.Activate

1
Bevaka tråden