-
Liknande Innehåll
-
Av MvS
Hej i forumet!
Håller på med ett litet (förmodligen totalt meningslöst) projekt där jag skapar en korsordshjälp i Excel. Men nu sitter jag här och har i vanlig ordning trasslat in mig i VBA-kod som bara genererar felsvar!
Verktyget jag skapat består av två fält med rutnät. I det högra fältet (Datafältet) är det meningen att man ska fylla i de numrerade rutorna från ett krypto. Detta fält speglas sedan i det vänstra fältet (Översiktsfältet) där man kan se resultatet. Det högra fältets numrering är kopplat till en bokstavskolumn som finns emellan de två övriga. Bokstavskolumnen innehåller upp numrerade celler från 1 - 25 som man successivt fyller i. Det vänstra fältet är kopplat till både Bokstavsfältet och datafältet via bl a en LETARAD-funktion.
Så allt fungerade perfekt till dess jag kom på att olika krypton är ju olika stora varför jag har via småstölder från diverse webbsidor satt mig före att göra detta dynamiskt med VBA-proceduren Resize som hämtar info från ett UserForm där man ska fylla i önskat värde (Rad & Kolumn antal). Har lyckats få Excel att hämta värden från formuläret men när jag sedan kommer till själva "Resize:n" så tar det stopp där jag bara får en dialogruta med "Körfel 1004: Program- eller Objektdefinierat fel". Har prövat mig fram men nu har det helt tagit stopp! Finns det någon vänlig själ därute som kan bibringa lite klarhet i vad jag gör för fel? Bifogar Bild samt själva Excelfilen (Zippad) här!
//Magnus
Krypto.zip
-
Av MvS
Hej i forumet!
Har tidigare ropat på hjälp med funktionen "mail-merge" i Excel men själv lyckats lösa de problemen. Det problem jag nu adresserar forumet med verkar lite knepigare och jag behöver få hjälp om det finns någon annan som har haft liknande problem och löst det.
BAKGRUND:
Har en databas jag gjort i Excel där jag behöver kunna skriva ut etiketter i en Word-mall som jag anropar med mail-merge i ett VBA makro. Både Excel-filen och Word mallen ligger i en mapp centralt på en nätverksplats. Excel-filen är utformad så att den sparas automatiskt på nätverket men också med en kopia lokalt på användarens HD. Meningen är att man ska arbeta på den lokala kopian och att den sedan uppdaterar på nätverket. Detta för att säkerställa att arbetsboken inte blockeras av en användare samt att det ska gå att jobba med databasen även i utrymmen där det inte finns WiFi.
Det innebär alltså att man ska kunna anropa Word-dokumentet från BÅDE filen på nätverket OCH från den lokala kopian vid behov, varför sökvägarna måste vara relativa.
PROBLEMET:
När jag kör koden och kommer till själva mail-merge sekvensen ger Excel felsvar att strängen innehåller fler än 255 tecken! Varför sker detta? Har testat både att ha alla mail-merge argument utskrivna i sekvensen samt, som i detta fall, att ange argumenten i variabler ─ utan framgång!
Har sökt med ljus och lykta efter svar på webben men det verkar inte som någon har ett bra svar att ge hur man kan komma runt detta problem! Skulle det kunna lösas med en systemfunktion eller ett makro som tvingar Excel att skippa denna begränsning? Är min VBA felaktig på något sätt eller är detta en begränsning i Excel som inte går att åtgärda? Den enkla lösningen är ju att lägga all kopplings-kod i Word-mallen som körs när man öppnar dokumentet (vilket jag f.ö också har prövat) men då måste sökvägen vara absolut vilket inte funkar om man ska kunna etikettera från olika källor.
Bifogar även en kopia på makrot jag har problem med.
Med hopp om svar från forumet
//Magnus
-
Av DanneK
Hej,
får inte följande att fungera, tänkte att jag säkert gjort ett enkelt fel varvid jag ställer frågan här.
Använder följande kod (eller, ja, det var ursprungligen en del av en större loop, men jag har försökt få det att fungera och har minskat ned så långt som möjligt) för att exportera givna diagram till en ppt.
Någonstans på vägen har jag lyckats snurra till det varvid allt fallerar numera.
Microsoft Powerpoint Libary är aktivt
Sub ToMonthly() Dim PP As PowerPoint.Application Dim PPPres As PowerPoint.Presentation Dim PPSlide As PowerPoint.Slide Dim SlideTitle As String Dim shp As Object Dim strPP As String strPP = ThisWorkbook.Path & "\" & "2020board.pptx" Set PP = New PowerPoint.Application Set PPPres = PP.Presentations.Open(strPP) PP.Visible = True Sheets("Utfall").Chart("Diagram 3").CopyPicture _ Appearance:=xlScreen, Format:=xlPicture PPSlide.Shapes.Paste.Select Set shp = PP.ActiveWindow.Selection.ShapeRange shp.Height = 600 shp.Width = 600 With PPPres.PageSetup shp.Left = (.SlideWidth / 2) - (shp.Width / 2) shp.Top = (.SlideHeight / 2) - (shp.Height / 2) End With PP.Activate Set PPSlide = Nothing End Sub
-
Av DanneK
Jag är säker på att detta är möjligt, bara det att jag inte är kapabel att förstå…
Skall se om jag kan beskriva vad jag är ute efter ordentligt.
Jag önskar presentera data från ett exeldokument och har en massa härliga formler som gör merparten jobbet åt mig efter att importen från den externa datan i sin tur gjorts.
Nu till problemet.
Jag skulle under summeringar och liknade i ”Presentation” vilja loopa ut resultaten som uppfyller ett visst antal villkor och lägga till det som nya rader. Det är okänt antal rader var gång, från 0-ca 150st. Antalet kolumner är kända.
Datan är samlade i en flik ”Data”
Dvs…
Jag skulle vilja få fram följande:
Rubrik | Summering1 | Summering2| Summering3| - Löst del.
Data!Dx | Data!Ex| Data!Fx| Data!Kx
Data!Dx | Data!Ex| Data!Fx| Data!Kx
Data!Dx | Data!Ex| Data!Fx| Data!Kx
x för okänd rad som uppfyller tre villkor, Datum from, Datum tom, samt ett fritextvärde, där dessa rader enl. ovan är okänt antal.
Hitintills har alla försök slutat med kaos, likt de flesta VBA försök jag gör, varvid jag inte ens har någon vettig kod att börja med. Alla tips är välkomna, och det behöver inte vara en VBA-lösning, bara jag som misstänker att det är dit jag skall vända mig.
-
Av MvS
Hallå i forumet!
Har tidigare adresserat detta forum angående problem med kopplad utskrift av db till Word och trodde först jag hittat svaret. Men efter månader av petande och sökande i så gott som det mesta som skrivits om mailmerge har jag fortfarande problem, om än ett par nivåer upp i kunskapshierarkin!
Har samplat ihop ett VBA-skript från olika källor och som jag har modellerat om lite efter egna behov (Se bifogad fil "MailMerge.txt") och använder tillsammans med den databas jag skapat i Excel med relativt stort omfång (ca 8100 poster). Med denna vill jag via VBA koppla en etikettutskrift-funktion där ett av tre för-preppade Worddokument (Etiketter1, 2, 3.docm) öppnas med uppdaterad etikett-data beroende på mellan vilka årtal posterna har. Jag har tre perioder där villkoren är: (Före 1994), (Efter 1993 och Före 2013) samt (Efter 2012) som jag har angett två konstanter som får agera brytpunkter (1994 och 2012).
Har som sagt prövat det mesta men har problem med kopplingen som genererar fel svar (se bif. bild "Dialog1.jpg")!
Någon som kan se var felet ligger i bifogad kopia av VBA?
MailMergeVBA.txt
-
-
Senaste som Tittar
Inga registrerade medlemmar är inne på denna sida.
-
Senaste inlägg
-
-
Obesvarade ämnen
-
-
Nya ämnen
-
-
Aktuella jobb
- Uppdragsledare för våra UnderrättelsesystemStockholm (Län)
- Backend-Utvecklare (C# .NET) till Hjärt-Lungfonden, StockholmStockholm (Län)
- SENIOR MANAGER IMPLEMENTATION SERVICESStockholm (Län)
- IT Manager to Aaro Systems, StockholmStockholm (Län)
- AV-teknikerStockholm (Län)
- Uppdragsledare för våra Underrättelsesystem