Excel code creeeren vanuit excel naar meerdere regels

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Zilverdael80
  • Registratie: December 2006
  • Laatst online: 21:34
Het klinkt een beetje als vage titel dus probeer het wat duidelijker te omschrijven.
Ik heb in excel een tabel met 500+ parts en hun bijbehorende resultaat.
Deze gegevens wil/moet ik omzetten in (oude) code welke gebruikt wordt voor testen.

een klein stukje van de Excel sheet is bijvoorbeeld onderstaand:
Afbeeldingslocatie: https://tweakers.net/i/toZGbuoU-ozifRSYFFRmp3kBxew=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/syLyX46NWcooArzMV2F3rUAY.png?f=user_large
de 'code' resultaten zouden moeten worden
code:
1
2
3
4
5
6
7
8
9
10
11
12
case "J31XK"    
    sReturn = "FTOS-FN-9.11.0.0.bin"
endcase 
case "56RW1"    
    sReturn = "SMARTSCRIPTS-M-9.14.1.0.tar.gz"
endcase 
case "DTFF0"    
    sReturn = "SMARTSCRIPTS-M-9.11.0.0.tar.gz"
endcase 
case "PCT3T"    
    sReturn = "PCM6220v5.1.3.7.stk"
endcase

Afbeeldingslocatie: https://tweakers.net/i/exIW-1arIYf9Dhh2ZoGfTEVP3Qc=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/Os3iesRVzMRlgTWVkyfJqW6z.png?f=user_large
Dat werkt nu tot dusver dat, omdat de code over meerdere excel regels wordt geschreven ik elke cel handmatig moet targeten ... doortrekken, copy-paste werkt niet.
Hoe krijg ik Excel zo ver dat ik dit wel kan copy pasten / doortrekken / één simpele beweging kan maken zodat wél alle 500+ bronregels worden gebruikt (en dus naar zo'n 1500+ target regels gaan)

Ik had al geprobeerd om alle code op één regel te zetten met CHAR(10), maar helaas kan je dat dan weer niet copy-pasten naar notepad achtige tools omdat je dan overal extra quotes krijgt.

Deze tabel zal met enige regelmaat aangepast worden, vandaar dat automatisering hiervan gewenst is.

Beste antwoord (via Zilverdael80 op 10-01-2023 11:02)


  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Doortrekken / kopieren kan wel, maar dan wil je de verwijzingen af laten hangen van de rij

=(RIJ()-1)/3+1 geeft de rij waar de inhoud van case() in komt. Dan geeft ="Case \"&TEKEN(34)&INDIRECT(ADRES((RIJ()-1)/3+1;1))&TEKEN(34) als resultaat case "J31XK". Herhaal voor de rest.

Op 1 regel is inderdaad makkelijker. Maar: is Excel hier wel de handigste tool voor? Klinkt alsof je met een commandline script en een csv beter af bent.

[ Voor 21% gewijzigd door F_J_K op 10-01-2023 10:58 ]

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

Alle reacties


Acties:
  • 0 Henk 'm!

  • dixet
  • Registratie: Februari 2010
  • Laatst online: 04-10 11:14
Je wilt dus eigenlijk code genereren vanuit Excel?
Ik herken zo niet de taal die gebruikt wordt, maar bij veel talen zijn regeleindes niet relevant.

Je zou in dat geval de statement op 1 regel kunnen zetten
Afbeeldingslocatie: https://tweakers.net/i/d63SuY_5HdS0cjMptB5mQifHqrU=/full-fit-in/4000x4000/filters:no_upscale():fill(white):strip_exif()/f/image/MHpzs9bLgiaG1oWqpPuvVxsx.png?f=user_large

Dan is het allemaal prima door te trekken. Wanneer die regeleindes wel relevant zijn kan je in de cel zelf een enter zetten voor of achter je code. Helaas wordt het kopiëren van die tekst naar je code-editor dan wel lastiger omdat Excel in dat geval dubbele quotes om alle tekst zet.

Acties:
  • 0 Henk 'm!

  • Zilverdael80
  • Registratie: December 2006
  • Laatst online: 21:34
dixet schreef op dinsdag 10 januari 2023 @ 10:55:
Je wilt dus eigenlijk code genereren vanuit Excel?
Ik herken zo niet de taal die gebruikt wordt, maar bij veel talen zijn regeleindes niet relevant.
Helaas bij deze taal (aspect) wel.

En inderdaad door het gebruiken van regeleinden ( CHAR(10) ) wordt de code onbruikbaar om te copy-pasten door het toevoegen van extra quotes.

Acties:
  • Beste antwoord
  • +1 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Doortrekken / kopieren kan wel, maar dan wil je de verwijzingen af laten hangen van de rij

=(RIJ()-1)/3+1 geeft de rij waar de inhoud van case() in komt. Dan geeft ="Case \"&TEKEN(34)&INDIRECT(ADRES((RIJ()-1)/3+1;1))&TEKEN(34) als resultaat case "J31XK". Herhaal voor de rest.

Op 1 regel is inderdaad makkelijker. Maar: is Excel hier wel de handigste tool voor? Klinkt alsof je met een commandline script en een csv beter af bent.

[ Voor 21% gewijzigd door F_J_K op 10-01-2023 10:58 ]

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


Acties:
  • 0 Henk 'm!

  • Zilverdael80
  • Registratie: December 2006
  • Laatst online: 21:34
F_J_K schreef op dinsdag 10 januari 2023 @ 10:58:
Doortrekken / kopieren kan wel, maar dan wil je de verwijzingen af laten hangen van de rij

=(RIJ()-1)/3+1 geeft de rij waar de inhoud van case() in komt. Dan geeft ="Case \"&TEKEN(34)&INDIRECT(ADRES((RIJ()-1)/3+1;1))&TEKEN(34) als resultaat case "J31XK". Herhaal voor de rest.

Op 1 regel is inderdaad makkelijker. Maar: is Excel hier wel de handigste tool voor? Klinkt alsof je met een commandline script en een csv beter af bent.
Moest hem even vertalen naar engels, maar werkt perfect! Bedankt