Jag har även postat detta i Visual Basic-forumet för någon dag sedan, men det verkar ju inte vara någon hejdlös aktivitet där... Så jag försöker här istället.
Jag försöker plocka ut viss data från en databas genom en ODBC-drivrutin i Excel 97. I det aktuella fallet så vill jag skriva ett artikelnummer i en cell och sen trycka på en knapp och då hämtar Excel data från databasen baserat på artikelnummret som jag skrev i cellen. Dock är jag inte så haj på VB även om jag förstår en del, men jag listar inte ut hur jag refererar till cellen i databasfrågan. Själva frågan plockade jag fram genom att spela in ett makro som hämtar data.
På något sätt vill jag skriva artikelnummret 0092213700 i cellen A1 och sedan referera till cellen i databasfrågan längst till höger, istället för artikelnummret.
Finns det någon vänlig själ som kan hjälpa mig med detta?!
Tänk på att du måste mata in värdet i A1 rätt också. Dvs som en textsträng (om de initiala 0:orna är viktiga). Det enklaste sättet är att sätta en ' (enkelfnutt) innan siffrorna när du matar in, typ:
'0092213700
Då tolkas det som text ( ' tecknet skickas inte vidare)
Tack för ditt svar! Jag har suttit en lång stund och försökt få det att fungera, men det vill sig inte... Jag har förmodligen också problem med " och ' på rätt ställe... Jag har nu suttit länge och i mitt tycke testat alla kombinationer för att det ska fungera, men icke...
Jag kanske klipptre bort lite för mycket när jag klistrade in koden i förra inlägget, så här kommer lite mer:
Om det sista blir rätt vette tusan (borttaget från XL-hjälpen eftersom det är "obsolet" efter excel 97). Men strängen borde stämma i alla fall. Ähhh, tror jag...
Dock en liten effekt som jag inte hade räknat med... Jag kopplade koden till en knapp så när jag fyller i ett artikelnummer och trycker på knappen så hämtar koden artikelnummret och beskrivningen till cellerna B1 och C1.
Trycker jag på knappen igen så får jag ett felmeddelande om att minnet är fullt. Det verkar som om den inte kan skriva informationen till cellerna en gång till. Om jag markerar cellerna B1 och C1 och trycker delete på detta så går det bra att trycka på knappen igen och informationen hämtas som den ska.
Hur kan man lösa detta?! Hur "nollar" jag cellerna före databasfrågan?
Förresten, det här är ju skitkul! Finns det någon bra källa på internet (gärna svensk) där man kan se exempel på VB för Excel?
Du kanske skall fylla "sHelpString" utanför (innan) frågan?
Nu skapas den mitt i "with...QueryTables... End with".
Egentligen skall väll all kod som står där vara direkt relaterad till frågan? Jag antar att VBA är ganska förlåtande. Men det kanske är dumt att ta onödiga risker?
272 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25