Avatar billede stewen Praktikant
29. marts 2006 - 15:07 Der er 5 kommentarer og
1 løsning

valg af kolonner i VBA - evt. userform

Jeg sidder med en fil hvor jeg skal trække data ud, men kolonnenumrene er ukendte.

Altid - activesheet!
bruger vælger (MEN HVORDAN?):
- først den kolonne der indeholder datoer (koldato)
- dernæst den kolonne der indeholder beløb (kolbeløb)
- sidst den kolonne der indeholder beskrivelse (kolbeskr)

Open c:\test.txt For Output As #1

når disse kolonner er valgt laves ved hjælp af en løkke hvor:

vbadato = koldato.række
vbabeløb = kolbeløb.række
vbabeskr = kolbeskr.række

print #1, vbadato & "  " & vbabeløb & "  " & vbabeskr

next?
close #1

bruger skal altså vælge kolonnerne - rækkefølgen er ukendt. dernæst skal kolonnerne kigges igennem (hvis dato og beløb kolonnerne er forskellige fra "" - skal den række så bruges som nævnt ovenfor - og så videre til næste række)

så det er egentlig 2 spørgsmål

1) hvordan vælger en bruger vilkårlige kolonner
2) hvordan bruges de kolonner så data fra samme række trækkes ud i en løkke
Avatar billede bak Forsker
29. marts 2006 - 16:59 #1
Sub test()
Dim koldato As Range
Dim kolbeløb As Range
Dim kolbeskr As Range
Dim vbaDato As Variant
Dim vbaBeløb As Variant
Dim vbaBeskr As Variant
Dim x as Long
'udpeg overskrifter
Set koldato = Application.InputBox("udpeg 1. celle i datokolonnen:", "Datokolonne", , , , , , 8)
Set kolbeløb = Application.InputBox("udpeg 1. celle i beløbskolonnen:", "Beløbskolonne", , , , , , 8)
Set kolbeskr = Application.InputBox("udpeg 1. celle i beskrivelseskolonnen:", "Beskrivelseskolonne", , , , , , 8)
'kør række 2 til 30 igennem
Open "c:\test.txt" For Output As #1
For x = 2 To 30
  vbaDato = koldato(x, 1)
  vbaBeløb = kolbeløb(x, 1)
  vbaBeskr = kolbeskr(x, 1)
  If vbaBeløb <> "" Or vbaDato <> "" Then
      Print #1, vbaDato & "  " & vbaBeløb & "  " & vbaBeskr
  End If
Next
Close #1
End Sub
Avatar billede stewen Praktikant
30. marts 2006 - 09:15 #2
Det ser fornuftigt ud, jeg får dog en fejl

run-time error 424: Object required

jeg får fejlen på den første inputbox - er det noget i references der skal sætte op?
Avatar billede bak Forsker
30. marts 2006 - 20:07 #3
Nej, ingen ekstra referencer. Prøv lige at køre det på denne fil og fortæl om det også kikser. Jeg har testet den både i xl2003 og xl97.

www.tbdl.dk/excel/kolonner.xls
Avatar billede stewen Praktikant
03. april 2006 - 11:21 #4
bak smid et svar! Jeg kan ikke forklare hvorfor det ikke helt virker i min fil - men det finder jeg forhåbentlig ud af på et senere tidspunkt! Din fil virker i hvert fald....
Avatar billede stewen Praktikant
23. maj 2006 - 18:14 #5
bak smid et svar - hvis du vil have pointene.

Har ikke fundet ud af hvorfor jeg fik/får fejl - men som sagt virker din fil!
Avatar billede stewen Praktikant
29. juni 2006 - 09:13 #6
Lukketid
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester