[excel]dynamisch bereik met gegroepeerde gegevens

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • fabstar81
  • Registratie: Maart 2003
  • Laatst online: 30-09 15:12
ik ben bezig om mij het leven makkelijker te maken voor het importeren van tekst naar excel. ik moet uit VSS de historie van alle gewijzigde objecten in excel zetten, zodat daar een release doc van gemaakt kan worden.

nu deed ik altijd de hoofdinfo uit die historie handmatig in een excelsheet zetten, maar ik ben het nu aan het automatiseren. werkwijze is als volgt:

ik kopieer de info uit de historie van vss, die altijd als volgt is opgebouwd:
***************** mrvig.xml *****************
User: user1 Date: 22-02-10 Time: 14:07
Checked in $/proggie40/test/Schermen
Comment:
Bereik voor trappen en percentages verruimd
Bereik voor trappen en percentages verruimd
regel 1: object naam met sterretjes
regel 2: user; date; time
regel 3: pad van object
regel 4: Comment
regel 5: daadwerkelijk commentaar, if any
regel 5+: daadwerkelijke commentaar, if any

met wat concatenate's en find's en replace's kan ik de info eruit filteren van de eerste 5 regels. het probleem zit hem in het commentaar. dat kan 1 regel zijn, 2, of 10, dat weet bijna niemand. de bedoeling van het commentaar op verschillende regels, is die te plaatsen in 1 cel.

middels een concetanaete (moeilijk woord) kan ik natuurlijk de verschillende regels in 1 cel plakken, maar ik weet nou nooit hoeveel regels dat is. wat ik wel weet, is dat de volgende objectinformatie, altijd voorafgegaan wordt met een lege regel. Ook weet ik dat als er commentaar is ingevuld, de eerste regel commentaar na Comment: altijd voorafgegaan wordt door 2 spaties. dit zie je ook in de formules terug.

je krijgt dus altijd dit:
***************** object1.xml *****************
User: user1 Date: 22-02-10 Time: 14:07
Checked in $/proggie40/test/Schermen
Comment:
Bereik voor trappen en percentages verruimd

***************** object2.xml *****************
User: user1 Date: 22-02-10 Time: 14:07
Checked in $/proggie40/test/Schermen
Comment:
Bereik voor trappen en percentages verruimd
Bereik voor trappen en percentages verruimd

***************** object3.xml *****************
User: user1 Date: 22-02-10 Time: 14:07
Checked in $/proggie40/test/Schermen
Comment:
Bereik voor trappen en percentages verruimd
ik heb middels find's, dynamisch bereik en concatenate's en weet ik al niet meer geprobeerd om de hoeveelheid regels te bepalen die gevuld zijn, maar ik kom er niet uit.

kan iemand me verder helpen?
een voorbeeldbestand staat hier: http://fabstar81.org/import.xls

thanks!

făbŞŤĄŘ - Mijn PC


Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Zonder VBA, een add-in of een ander programmaatje ga je hier niet uitkomen denk ik, aangezien concatenate (!=concetanaete ;) ) niet op een range werkt. Sowieso is dit lastig goed op te lossen met formules. Ik neem aan dat VSS het achterhaalde Visual SourceSafe is, dus programmeren zou je moeten kunnen. De beste oplossing is echter zo snel mogelijk wegmigreren van VSS, dat sowieso niet meer doorontwikkeld wordt.

Source Control: Anything But SourceSafe

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

  • fabstar81
  • Registratie: Maart 2003
  • Laatst online: 30-09 15:12
helaas ben ik afhankelijk van de klant die aan vss vasthoudt. ik ben al een heel eind op weg. ik weet wel dat die commentregels nooit meer als 10 regels zal zijn. ook weet ik dat wanneer er een lege regel komt, die gevolgd wordt door een niet-lege regel, het het einde van het commentaar is.

ik zit nu te kloten met IF(AND- statements, die zich dus max 10 keer moeten herhalen (max 10 regels), maar dat is een hel om te formuliseren. :) maar niet onmogelijk.

is er niet een mogelijkheid om met dynamische ranges te werken, of een soort find (wat een getal teruggeeft) maar dan de lege regelnummer na "Comment:" weergeeft?

als er niets voor bestaat in excel, moeten we excel maar om de tuin leiden. desnoods met 10 if en and statements.

făbŞŤĄŘ - Mijn PC


Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
fabstar81 schreef op maandag 22 februari 2010 @ 18:18:
ik zit nu te kloten met IF(AND- statements, die zich dus max 10 keer moeten herhalen (max 10 regels), maar dat is een hel om te formuliseren. :) maar niet onmogelijk.

is er niet een mogelijkheid om met dynamische ranges te werken, of een soort find (wat een getal teruggeeft) maar dan de lege regelnummer na "Comment:" weergeeft?
Het krijgen van zo'n range is niet zo moeilijk. Ik weet niet wat je bedacht hebt aan formules, maar ik neem aan dat je eerst de startposities bijhoud van zo'n groepje cellen. De eerste keer is dat 1, de volgende keren iets als de doortrekbare formule "=MATCH("~*~*~*~*~**",OFFSET(A1:A18,B1,0),0)+B1", en de laatste keer moet je even apart afhandelen. Zo'n range krijgen is dan niks anders dan OFFSET gebruiken. Het probleem is dat CONCATENATE niet met zo'n range werkt, en je dan met de standaardformules 55 keer OFFSET nodig gaat hebben, en daar wordt je echt niet vrolijk van... ;) En als je dan toch VBA gaat gebruiken, dan heb je al die gekke formules ook niet meer nodig. :)

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

  • fabstar81
  • Registratie: Maart 2003
  • Laatst online: 30-09 15:12
wat ik nu heb is dit:

=IF(LEFT(A6;2)=" ";REPLACE(CONCATENATE(A6;" ";IF(INDIRECT(CONCATENATE("A";ROW()+5))<>"";INDIRECT(CONCATENATE("A";ROW()+5));););1;2;"");"")

zo kan ik de formule doortrekken en vult ie de cel alleen als dus de comment gevuld is (comment begint altijd met 2 spaties, remember). daarna begint de concatenate. het startpunt is altijd de eerste regel die gevuld is + 5 regels. daar begint de eerste regel comment. vanaf dat punt moet ik dus de range gaan bepalen...

făbŞŤĄŘ - Mijn PC


Acties:
  • 0 Henk 'm!

  • fabstar81
  • Registratie: Maart 2003
  • Laatst online: 30-09 15:12
ik begrijp trouwens niets van die match en offset formule...

făbŞŤĄŘ - Mijn PC

Pagina: 1