Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Gegevens wegschrijven  (gelezen 9510 keer)

0 leden en 1 gast bekijken dit topic.

Offline Jannie

  • Lid
  • *
  • Berichten: 48
  • Oplossing.be
Gegevens wegschrijven
« Gepost op: 11 januari 2005, 21:14:52 »
Hallo,

Met onderstaande code schrijf ik gegevens weg in een database (gewoon excel werkblad)

Worksheets("DBS.OfferteNAW").Activate
Range("A1").CurrentRegion.Select

ActiveCell.Offset(Selection.Rows.Count, 0).Activate
With ActiveCell
.Value = OfferteNummer
.Offset(0, 1).Value = strKlant
.Offset(0, 2).Value = strContactPersoon
.Offset(0, 3).Value = strAdres
.Offset(0, 4).Value = strPlaats
.Offset(0, 5).Value = BtwNummer

Nu worden de gegevens dus op de eerstvolgende rij geplaatst.

Maar hoe kan ik nu met code een bepaald nummer oplaten zoeken(offertenummer) en daar dan nieuwe gevens heen worden geschreven. En de bestaande gegevens worden dus overschreven.

Groeten Jannie
Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Jeekepeeke

  • Gast
Re:Gegevens wegschrijven
« Reactie #1 Gepost op: 11 januari 2005, 22:14:47 »
Gebruik de zoekfunctie. Ik denk voor uw file relatief gemakkelijk te schrijven, bvb:

 Range("a1").CurrentRegion.Find("hier staat uw offertenummer").Activate

de methode activate moet zelfs niet.

Als het offertenummer niet wordt gevonden, geeft VB een error. Er aan denken om een error-handling module te schrijven dus...

Jeekepeeke

Offline Jannie

  • Lid
  • *
  • Berichten: 48
  • Oplossing.be
Re:Gegevens wegschrijven
« Reactie #2 Gepost op: 11 januari 2005, 22:50:03 »
Bedankt,

Maar dit is niet de bedoeling.

Er hangt dus een invulformuliertje ofzo ( gewoon een excel blad) aanvast waar je een offertenummer invult en dan zoekt vb het nummer erbij en vervangt de rest van de gegevens.
Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Offline Jannie

  • Lid
  • *
  • Berichten: 48
  • Oplossing.be
Re:Gegevens wegschrijven
« Reactie #3 Gepost op: 11 januari 2005, 22:56:47 »
Het werkt wel hoor.
Maar het offertenummer moet dus niet in de code staan maar moet ingevuld kunnen worden in excel.
Dit nummer kan dus elke keer anders zijn.
Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Offline barthold

  • Volledig lid
  • **
  • Berichten: 171
  • ExWorks.be: Free Excel tools.
Re:Gegevens wegschrijven
« Reactie #4 Gepost op: 13 januari 2005, 14:08:11 »
Jannie,
Je kan ook de functie MATCH gebruiken om de positie van een bestaand element in bv. een column op te zoeken. Als je worksheet functies in VBA wil gebruikne, moet de code Application.Worksheetfunction.Match(....) zijn.
Bart
WinXP - Excel 2000/XP/2003

Offline lein

  • Nieuw lid
  • Berichten: 3
  • Oplossing.be
Re:Gegevens wegschrijven
« Reactie #5 Gepost op: 13 juni 2005, 09:50:23 »
Hallo ,
Ik ben lein/
 Ik heb in excel een bestandje gemaakt en ik zou dit eenmaal per dag automatisch laten openen. Hoe kan ik dat doen?
Bivoorbaat dank Lein.
Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Offline buks

  • Ervaren lid
  • ***
  • Berichten: 313
  • Oplossing.be
Re:Gegevens wegschrijven
« Reactie #6 Gepost op: 13 juni 2005, 18:45:58 »
Hallo

@jannie : als ik het goed begrepen heb kan je gewoon de waarde (value) van de cel inlezen waar het offertenummer staat en deze dan opzoeken en de gegevens overschrijven die bij die rij staan (ik zou een commandbutton op het werkblad plaatsen met een verwijzing naar uw code).  Het offertenummer zou je eventueel ook kunnen opvragen via een inputbox en dan de verdere verwerking laten uitvoeren.  Op beide manieren kan het offertenummer steeds wijzigen.

Ik vermoed dat dit probleem ook kan opgelost worden zonder VBA, maar dan zou het wel nuttig kunnen zijn om eens een voorbeeldje van je bestand bij te voegen.

@lein :Ik zou u aanraden om een nieuw onderwerp niet te beginnen midden in een ander onderwerp want dit werkt zeer verwarrend.

Een oplossing voor uw probleem : voer elke dag volgende uit : Bestand --> Openen --> dubbelklik op uw bestand.  Voor een betere oplossing is er te weinig informatie gegeven : wanneer wens je het bestand te openen (bij uitvoeren van een bepaalde actie of op een bepaald tijdstip of bij openen van een ander bestand of ...)

groetjes
Win 7 Home - Intel Core i3 CPU 550 @ 3.20GHz - Basicnet XL - IE 9 - MS Office 2010 - Norton Internet Security 2012

Offline lein

  • Nieuw lid
  • Berichten: 3
  • Oplossing.be
Re:Gegevens wegschrijven
« Reactie #7 Gepost op: 15 juni 2005, 15:51:27 »
Hallo,
Ik ben Lein en heb een bestand in excel gemaakt.
Kan ik een sneltoets maken zodat ik dat bestand vanaf het toetsenbord rechtstreeks kan openen?
Wie helpt mij?
Bijvoorbaat dank Lein.
Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Offline john1959

  • Lid
  • *
  • Berichten: 21
  • Oplossing.be
Re:Gegevens wegschrijven
« Reactie #8 Gepost op: 15 juni 2005, 16:19:39 »
Ha Lein, (eerst Jannie???), vanuit excel kan ik het wel:
1. maak een macro met de volgende opdracht:
Sub Macro2()
    Workbooks.Open FileName:="C:\test1.xls"
End Sub
(je kan ook de macrorecorder aanzetten en het openen 'opnemen')
2. open via extra->macro->macro's het bewerkingsscherm
3. selecteer de macro om het bestand te openen, kies 'opties', en dan krijg je weer een scherm om een sneltoets aan de macro te koppelen.
4. En dat moet je dan dus doen, bijv. ctrl+w. Als je zorgt dat je macro in een opstartmap van excel wordt meegeladen met excel, dan opent het  bestand test1.xls (als voorbeeld) altijd als je ctrl+w intoetst.
Groetjes, John
Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Offline buks

  • Ervaren lid
  • ***
  • Berichten: 313
  • Oplossing.be
Re:Gegevens wegschrijven
« Reactie #9 Gepost op: 15 juni 2005, 18:04:29 »
Hallo,

@ lein : In deze situatie zou ik voorstellen om een icoontje te plaatsen in een werkbalk die verwijst naar de macro. Hierdoor moet je dan enkel op een icoontje in je werkbalk klikken.

 Je kunt dit doen op volgende wijze :

Open Excel en kies Extra / Macro / Nieuwe macro opnemen

In het volgende schermpje wijzig je de naam (waar nu macro1 staat) naar een meer verstaanbare naam (bv. BestandOpenen), spaties worden hier niet toegestaan.
Eventueel kan je een sneltoets toekennen. Hiermee moet je wel opletten dat je geen letters toekent die je anders gebruikt (bv. Ctrl-C --> kopieeren).
Macro opslaan in wijzig je naar "Persoonlijke macrowerkmap".  Hierdoor wordt de macro beschikbaar als je excel opstart (ook indien er geen andere werkmap open staat).
Klik nu op OK.

Doe nu enkel volgende : Bestand / Openen en open het desbetreffende bestand.

Kies nu Extra / Macro / Opname stoppen. Je kunt dit ook doen door op het blauwe vierkantje te drukken op het kleine werkbalkje dat verschenen is bij het starten van de opname.

Druk Alt-F11, hierdoor wordt VBA opgestart, en dubbelklik in de projectverkenner op "VBAProject (Persnlk.xls)".  Indien de projectverkenner niet zichtbaar is doe dan eerst volgende : Beeld / Projectverkenner (of Ctrl-R).
Kies nu Module en daarna dubbelklikken op Module1. Nu krijg je die code die je daarstraks opgenomen hebt te zien.
De lijnen met een ' ervoor zijn commentaar regels en kunnen zonder probleem verwijderd worden (indien je een sneltoets gekozen hebt kan je die lijn laten staan maar dat is niet verplicht).

Volgende code hou je dan over (indien er meer op staat mag je dat ook wissen) :

Sub OpenenBestand()
    Workbooks.Open FileName:="C:\Bestandsnaam.xls"
End Sub

Het VBA venster kan je nu opnieuw afsluiten.

Klik nu in excel rechts op de werkbalken en kies Aanpassen. Ga naar het tabblad opdrachten en kies macro's in de lijst. Sleep "Aangepaste knop" in je werkbalk op de gewenste plaats en laat los.  Klik rechts op het icoontje en kies "Macro toewijzen". Selecteer de gewenste macro (persnlk.xls!BestandOpenen) en klik op OK.  

Eventueel kan je het icoontje wijzigen door er rechts op te klikken en te kiezen uit : knopvlak bewerken of wijzigen.

Sluit nu het venster aanpassen.

Sluit excel af. Bij de vraag om de persoonlijke werkmap op te slaan kies je "JA".

Start excel op en nu zal je het icoontje nog zien staan in de werkbalk.  Op het ogenblik dat je het bestand wenst te openen hoef je nu enkel op het icoontje te klikken.

Indien er iets niet lukt moet je maar een seintje geven.

groeten
Win 7 Home - Intel Core i3 CPU 550 @ 3.20GHz - Basicnet XL - IE 9 - MS Office 2010 - Norton Internet Security 2012

 


www.combell.com