Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[Excel/VBA] Hoe gegevens opslaan in gesloten werkblad?

Pagina: 1
Acties:

  • Gucky66
  • Registratie: April 2004
  • Laatst online: 04-09 22:51
In een spreadsheet met met meerdere bladen kan de inhoud van de label <NAAM> en label <ADRES> direct worden overgezet in cellen op andere bladen.

Hoe kan ik gegevens van een geopend werkblad overzetten naar gesloten werkblad via VBA.


Macro’s in Excel

Spreadsheet met meerdere bladen:
Sub test1
Sheets("Blad4").Cells(1, 1) = Range("NAAM") _ _ _ _ _ _ _ _ _ _ Naam
Sheets("Blad4").Cells(2, 2) = Range("ADRES") _ _ _ _ _ _ _ _ _ Adres
End sub

Een manier met verschillende spreadsheets:
Sub test2
Workbooks(“Start”).activate _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Spreadsheet met label
Range(“NAAM”). copy

Workbooks.Open Filename:="C:\Boek\schrift.xls" _ _ _ _ _ _ _ Andere file
Sheets (“ blad1”).Activate _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ bv blad1
Cells(1,1) . Paste

Workbooks(“Start”).activate
Range("ADRES") .copy

Sheets (“ blad1”).Activate
Cells(1,2) . Paste

Enz.
End sub


Ik zoek dus de methode;

Sub test 3
Direct C:\ ???????
End sub

Alvast dank voor de hulp.

[ Voor 10% gewijzigd door Gucky66 op 16-03-2013 13:12 ]

| Gigabyte Aorus X570 Pro | AMD Ryzen 9 5950X | 32GB G.Skill Trident Z Neo F4-3600C14 | Kraken 280 | Sapphire Nitro+ Radeon RX 5700 XT | 990 Pro / Platinum P41 / MP510 |


Verwijderd

Hoe ziet een externe verwijzing naar een andere werkmap er uit?

Formules met externe verwijzingen naar andere werkmappen worden op twee verschillende manieren weergegeven, al naargelang de bronwerkmap (de werkmap die de gegevens voor een formule levert) geopend of gesloten is.

Wanneer de bron geopend is, bevat de externe verwijzing de naam van de werkmap tussen vierkante haakjes ([ ]), gevolgd door de naam van het werkblad, een uitroepteken (!) en de cellen waarvan de formule afhankelijk is. In de volgende formule worden bijvoorbeeld de cellen C10:C25 uit een werkmap met de naam Budget.xls opgeteld.

Externe verwijzing
=SOM([Budget.xlsx]Jaar!C10:C25)

Als de bron niet geopend is, bevat de externe verwijzing het hele pad.

Externe verwijzing
=SOM('C:\Reports\[Budget.xlsx]Jaar'!C10:C25)

Opmerking Als de naam van het andere werkblad of de andere werkmap niet-alfabetische tekens bevat, moet u de naam (of het pad) tussen enkele aanhalingstekens plaatsen.

In formules met een koppeling naar een gedefinieerde naam in een andere werkmap wordt de naam van deze werkmap gebruikt, gevolgd door een uitroepteken (!) en de gedefinieerde naam. In de volgende formule worden bijvoorbeeld de cellen in een bereik genaamd Verkoop uit een werkmap met de naam Budget.xls opgeteld.

Externe verwijzing
=SOM(Budget.xlsx!Verkoop)
of hierzo; http://office.microsoft.c...porteren-HP005200541.aspx

[ Voor 3% gewijzigd door Verwijderd op 16-03-2013 10:14 ]


  • Gucky66
  • Registratie: April 2004
  • Laatst online: 04-09 22:51
Dank voor je snelle reactie. Heb echter een verkeerde vraag gesteld.
Hoewel ik wel weer een aantal dingetjes geleerd heb na het lezen van de reactie van fridgeman.

Ik heb inmiddels de vraag aangepast
(weet iemand hoe je de topic titel kan veranderen? Edit : Denk dat ik dat weet ondertussen :) )

"Hoe kan ik gegevens van een geopend werkblad overzetten naar gesloten werkblad via VBA"

Nogmaals dank en ik hoop dat de eigenlijke vraag ook zo efficiënt wordt beantwoord.


(ps... Ik weet het a...t Exel moet zijn Excel, lol )

[ Voor 10% gewijzigd door Gucky66 op 16-03-2013 13:11 ]

| Gigabyte Aorus X570 Pro | AMD Ryzen 9 5950X | 32GB G.Skill Trident Z Neo F4-3600C14 | Kraken 280 | Sapphire Nitro+ Radeon RX 5700 XT | 990 Pro / Platinum P41 / MP510 |


  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Als bovenstaande niet het antwoord is, dan snap ik de vraag niet. Wat bedoel je bijv. met een gesloten werkblad als je niet een ander bestand bedoelt?

offtopic:
Topictitel aangepast cf. topicreport.

Copy en paste zijn twee opdrachten die niet in VBA-code thuishoren: mooier, minder foutgevoelig en meer gebruiksvriendelijk is gewoon direct bijv. de value toewijzen. Dat geldt ook voor .activate(). Het lijkt me een goed idee om 'nette' VBA aan te leren (via een tutorial of twee) en niet enkel Macro opnemen-code over te nemen.

[ Voor 4% gewijzigd door F_J_K op 16-03-2013 13:14 ]

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


  • Gucky66
  • Registratie: April 2004
  • Laatst online: 04-09 22:51
Het is inderdaad en ander bestand.

Wij zoeken een manier om gegevens direct te wijzigen in een gesloten bestand.

| Gigabyte Aorus X570 Pro | AMD Ryzen 9 5950X | 32GB G.Skill Trident Z Neo F4-3600C14 | Kraken 280 | Sapphire Nitro+ Radeon RX 5700 XT | 990 Pro / Platinum P41 / MP510 |


  • Gucky66
  • Registratie: April 2004
  • Laatst online: 04-09 22:51
F_J_K schreef op zaterdag 16 maart 2013 @ 13:14:

offtopic:
Copy en paste zijn twee opdrachten die niet in VBA-code thuishoren: mooier, minder foutgevoelig en meer gebruiksvriendelijk is gewoon direct bijv. de value toewijzen. Dat geldt ook voor .activate(). Het lijkt me een goed idee om 'nette' VBA aan te leren (via een tutorial of twee) en niet enkel Macro opnemen-code over te nemen.
offtopic:
Ik ben niet de eigenlijke vraagsteller; Mijn 74 jarige vader is de vraagsteller.
Je hebt natuurlijk gelijk dat niet al zijn oplossingen even elegant zijn. Ze werken echter meestal wel.

Dit stukje code is voor een zeer uitgebreid administratie programma voor een vereniging.
Het is volledig opgebouwd in Excel en bestaat uit zowel unieke code als opgenomen macro code.

En ja, ik probeer al een aantal dagen om hem lid te maken van tweakers... :)
maar ja 74 he... beetje eigenwijs, net als ik. :P

Dank voor de titel wijziging.

| Gigabyte Aorus X570 Pro | AMD Ryzen 9 5950X | 32GB G.Skill Trident Z Neo F4-3600C14 | Kraken 280 | Sapphire Nitro+ Radeon RX 5700 XT | 990 Pro / Platinum P41 / MP510 |


  • pedorus
  • Registratie: Januari 2008
  • Niet online
Ik heb ook een vraag: Pounding A Nail: Old Shoe or Glass Bottle? ;)
Gucky66 schreef op zaterdag 16 maart 2013 @ 13:17:
Wij zoeken een manier om gegevens direct te wijzigen in een gesloten bestand.
Ongeveer per definitie is dit niet mogelijk. Schrijven kan alleen nadat je een opening tot een bestand hebt. Hoe verplaats je een stoel in een huis zonder interactie met dat huis? :+

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Dus eerst het bestand openen, dat stond in principe al in de topicstart. Daarom de verwarring :)

code:
1
2
3
4
5
6
7
8
9
dim app as new excel.application  
dim naar as excel.workbook

app.visible = false  'openen van nieuw file blijft verborgen 
set naar = workbooks.add("c:\temp\naar.xlsx")   'verwijs naar file waar naartoe wordt geschreven

naar.worksheets("Blad1").cells(1, 1) = activeSheet.cells(1, 1)   'vul A1 in de nieuwe file met de waarde van A1 in hethuidige bestand 
naar.saveas ("c:\temp\naar.xlsx")  'niet vergeten op te slaan
naar.close  ' en te sluiten


Trouwens niet gecontroleerd dus kan zal vast een foutje bevatten. En ja ik doe een beetje waar ik over zeurde door activesheet te gebruiken :+

Succes!

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


  • Gucky66
  • Registratie: April 2004
  • Laatst online: 04-09 22:51
@ pedorus ... duh... 8)

| Gigabyte Aorus X570 Pro | AMD Ryzen 9 5950X | 32GB G.Skill Trident Z Neo F4-3600C14 | Kraken 280 | Sapphire Nitro+ Radeon RX 5700 XT | 990 Pro / Platinum P41 / MP510 |


  • Gucky66
  • Registratie: April 2004
  • Laatst online: 04-09 22:51
@ F_J_K We zullen vanavond en/of morgen even gaan puzzelen. ziet er op eerste blik elegant uit. Thx.

| Gigabyte Aorus X570 Pro | AMD Ryzen 9 5950X | 32GB G.Skill Trident Z Neo F4-3600C14 | Kraken 280 | Sapphire Nitro+ Radeon RX 5700 XT | 990 Pro / Platinum P41 / MP510 |


  • Gucky66
  • Registratie: April 2004
  • Laatst online: 04-09 22:51
De oplossing die uiteindelijk werkt staat hieronder vermeld.
De hierboven vermelde antwoorden hebben een aantal lichtjes laten branden. :)

fridgeman en F_J_K bedankt. _/-\o_


Sub Test5()
'Geopend is het bestand WERK ( en de macro's), met de labels Naam, adres en Postc.
'Bedoeling is dat deze label gegevens uit WERK in Testml wordt geschreven.

Workbooks.Open Filename:="C:\Temp\Testml.xls"
Windows("WERK.xls").Activate

Workbooks("Testml.xls").Sheets("Blad1").Cells(2, 1) = Range("NAAM")
Workbooks("Testml.xls").Sheets("Blad1").Cells(2, 2) = Range("ADRES")
Workbooks("Testml.xls").Sheets("Blad1").Cells(2, 3) = Range("POSTC")

Workbooks("testml.xls").Save
Workbooks("testml.xls").Close

'Er zijn misschien wel betere manieren maar het werkt.

End Sub

| Gigabyte Aorus X570 Pro | AMD Ryzen 9 5950X | 32GB G.Skill Trident Z Neo F4-3600C14 | Kraken 280 | Sapphire Nitro+ Radeon RX 5700 XT | 990 Pro / Platinum P41 / MP510 |

Pagina: 1