D'r zit een fout in idd!quote:
Ik bedoel dus inderdaad de 'Plakken speciaal'-optie en dan alleen waarden en opmaak, maar dan in één keer een heel document, zonder elk werkblad opnieuw te moeten selecteren.quote:Op donderdag 19 juni 2008 21:51 schreef Dixidito het volgende:
Is er een manier om een totaal document met meerdere werkbladen op een simpele manier van al zijn formules te ontdoen en de getallen te vervangen door waarden?
Ik heb namelijk een document dat veel te groot wordt om te mailen, maar dat komt volgens mij door alle regels en formules in het document. Als ik dat op een makkelijke manier kan vervangen door alleen de waarden en opmaak is het document stukken kleiner.
als je er dan een werkbladje bij maakt kun je een nieuwe macro maken, 255 keerquote:Op vrijdag 20 juni 2008 22:41 schreef hooibaal het volgende:
Dat moet met een macro wel te organiseren zijn, toch? Ik ben niet bepaald een ervaren macrobouwer, maar als je een macro maakt die *Blad selecteert - Kopieert - Speciaalplakt - CTRL-Page Down* en dat 255 keer, dan ben je denk ik waar je wezen wil.
TeVensP.
?quote:Op vrijdag 20 juni 2008 22:55 schreef henkway het volgende:
[..]
als je er dan een werkbladje bij maakt kun je een nieuwe macro maken, 255 keer
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | Dim wsName as String For Each ws In Worksheets < Voeg hier de worksheetname toe aan je array > Next ws < Hier loop je door je array heen > For each ..... < geenidee > Sheets.Add Activesheet.Name = wsName & ".new" Sheets(wsName).Select Cells.Copy Sheets(wsName & ".new").Select Range("A1").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Next < volgende in array > |
1 2 3 4 5 | for each ws in Worksheets values=ws.usedrange ws.usedrange=values next ws |
Wat had je nog meer gereport danquote:Op zondag 22 juni 2008 12:41 schreef DaFan het volgende:
Zo'n topicreport helpt ook geen klap, mod heeft alleen } naar ] veranderd.
'Exel' ?quote:
Ah!quote:Op zondag 22 juni 2008 12:51 schreef DaFan het volgende:
Exel -> Excel, excel -> Excel en oude topics in de OP.
ah fuckquote:
Het probleem is dat ik geen XLS kan genereren op de server zonder COM objecten te gebruiken, helaas kan / mag ik geen COM object gebruiken op de server waardoor ik wel op deze manier verder moet gaan. Lezen van een XLS bestand is geen probleem maar het schrijven wel weerquote:Op maandag 23 juni 2008 17:18 schreef Cothen het volgende:
De enige manier om in Excel meerdere gegevens onder elkaar in dezelfde tabel te krijgen, is gebruik te maken van het "tekstterugloop" (celeigenschappen). Waarbij de celbreedte net zo breed moet blijven als het breedste gegeven in de cel.
Overigens, waarom gebruik je een formaat dat alleen bedoeld is om te publiceren later weer om te bewerken? Kan je dan niet beter de .xls oom bewaren en die openen om te bewerken?
Importeren he?quote:Op dinsdag 24 juni 2008 09:34 schreef PietjePuk007 het volgende:
[ afbeelding ]
Ik wil dit graag in 1 lange lijst hebben in Acces.
Dus:
Admiral group - 30/12/06 - 455
Admiral group - 2/1/06 - 455
Admiral group - 3/1/06 - 466,75
t/m
Xstrata - 1/1/08 - 673
Oftewel, hoe krijg je een tabelvorm in databasevorm? De lijst gaat een heul stuk naar beneden en een heul stuk naar rechts dus vandaar dat zo automatisch mogelijk handig is
.
1 2 3 4 5 6 7 8 9 10 11 12 | If CheckBox1.Value = True Then Date = Worksheets("Sheet1").Range("H2").Value Worksheets("Sheet1").Range("H2").Value = Date + 152 Date = Worksheets("Sheet1").Range("I2").Value Worksheets("Sheet1").Range("HI").Value = Date + 183 Else If CheckBox1.Value = False Then Exit Sub End If End If End Sub |
1 2 | =AANTAL(data100!G:G;2) |
1 2 3 4 5 6 | x = a + b Range("A" & c).Value = x End Function |
1 2 3 4 5 6 7 8 9 | a = Range("B1").Value b = Range("B2").Value c = Range("B3").Value Som(a, b, c) End Sub |
Als je de variabele "datum" noemt ipv "date" zal het ws. een stuk beter gaan. "Date" is nl. een interne vba functie die de computerdatum opvraagt en schijnbaar ook terug kan schrijven.quote:Op woensdag 25 juni 2008 10:28 schreef BierKoning het volgende:
Ok ik heb een nogal vervelend probleem nu.
Ik ben weer bezig gegaan met VBA en opzich gaat het niet slecht. Op 1 puntje na..
Wanneer ik de volgende code gebruik:
[ code verwijderd ]
Telt hij netjes 152 dagen bij H2 op en 183 dagen bij I2. So far so good.
Alleen telt hij ook 183 dagen bij de computerdatum opDit is binnen excel een probleem (ik heb de computerdatum nodig) maar het is ook gewoon algemeen onhandig als je computerdatum +10 jaar is (door het testen)
Weet iemand hoe dit komt?
Dat is wel een leuk dingetjes zeg dat je afhankelijke dropdown menus kan maken.quote:Op vrijdag 27 juni 2008 11:17 schreef DaFan het volgende:
Data validation kan je wel gebruiken cross-sheet als je een Named range gebruikt voor je lijst in Sheet2.
(Range selecteren, Invoegen -> Naam -> Definiëren, óf direct in het witte vak linksboven (waar je celnummer staat) een naam intoetsen en op Enter drukken).
In Data Validation kan je dan kiezen voor Lijst -> =<jenaamhier>
Zo kan je ook dubbele dropdowns maken, die dus afhankelijk van de keuze uit dropdown 1 verandert...erg fijn. Zie hier voor een tutorial
Ja ik leerde dit ook pas 2 maanden terug, scheelt een BERG gezeur met VBAquote:Op zaterdag 28 juni 2008 11:59 schreef Deetch het volgende:
[..]
Dat is wel een leuk dingetjes zeg dat je afhankelijke dropdown menus kan maken.
Het klantnummer staat altijd in kolom a, in alle sheets. Het is dus een lange rits met klantnummers onder elkaar.quote:Op zaterdag 28 juni 2008 12:18 schreef DaFan het volgende:
Heb je een vaste cel waar je dat klantnummer invoert of kan dat elke cel zijn? In situatie 1 is het wel te doen, situatie 2 schier onmogelijk (automatisch = als je m intikt en op Enter ramt).
Wat wel kan, is een knop in Werkblad 1 die je gaat gebruiken om nieuwe klanten toe te voegen (met Prompts of via een Form, whatever) want dan kan je simpeler testen op het ingevoerde klantnummer.
Wat niet kan, dat kan niet. Bedankt in ieder geval.quote:Op zaterdag 28 juni 2008 12:34 schreef DaFan het volgende:
Ja daar was ik al bang voor
Kijk:
Als jij een nummer toevoegt, is er voor Excel geen manier om te kijken wáár dit is gebeurt (in welke cel). Dit kan wél als het altijd in dezelfde cel is. Je maakt dan een zogenaamde _change event, die elke keer gedaan wordt bij een wijziging in je sheet. (Kort gezegd, die cel wordt gekopieerd ergens ver weg buiten beeld en dan vergeleken met de oude waarde, is deze anders dan weet je dus dat er geknoeid is). Het is nu dus niet te doen om te bepalen óf er een nummer is toegevoegd en wáár (als je dat weet is het nummer bekend, dus kan je testen of hij al in werkblad 2 voorkomt).
Ik moet dit zelf nog even testen, misschien heb ik wel een manier om dit te omzeilen. Máár het is heir inmiddels half 9 dus ik ga even bier drinken en film kijkenMisschien vanavond nog, anders morgen! Sorry
1 |
1 |
1 2 3 | End Sub |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | LastRowB = Sheets("Sheet2").Range("A65536").End(xlUp).Row With Sheets("Sheet1") If .Range("F1").Value <> .Range("G1").Value Then NwKlantnummer = .Range("F1").Value For i = 1 To LastRowB If Sheets("Sheet2").Range("A" & i).Value = NwKlantnummer Then Followup = Sheets("Sheet2").Range("B" & i).Value Datum = Sheets("Sheet2").Range("C" & i).Value MsgBox "Klantnummer al bekend in Sheet2!" & (Chr(13)) & (Chr(13)) & "Datum: " & Datum _ & (Chr(13)) & "Actie: " & Followup, vbOKOnly, "Melding" End If Next i .Range("G1").Value = .Range("F1").Value End If End With End Sub |
Hier heb ik helemaal wel wat aan. Het werkt precies zoals ik dat wil hebben.quote:Op zondag 29 juni 2008 07:01 schreef DaFan het volgende:
Ok Dirkh het is gelukt
Hoop dat je hier wat aan hebt!
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |