Random.Zeile und Spalte in eine neue Zelle kopieren mit VBS in Excel 2007
Hi alle zusammen
ich hab mal wieder eine kleine, und für geübte, warscheinlich simple Aufgabe zu lösen.
Situation
Ich habe eine Spalte 'A' mit bspw. einer fortlaufenden Nummer 'a' und eine Spalte 'B' mit einer fortlaufenden Nummer 'b'.
Ergebnis
Ich möchte eine Spalte 'C', welche sich aus A und B folgendermassen zusammensetzt:
A1B1, A1B2, A1B3, ..., A2B1, A2B2, A2B3, ..., AnBn
Weg
Ich nehme mal an es wird über zwei geschaltete for-Schleifen laufen - die äußere zählt von A1 bis An und die innere zählt von B1 bis Bn.
Das Ergebnis AaBb von A1B1 bis AnBn wird dann jeweils in eine Spalte C oder ein neues Tabellenblatt kopiert, allerdings in jeweils eine Zelle pro Ergebnis (bspw. C1=A1B1) - ich nehme mal an per 'print(C1)=A1+B1' ?
Wie Ihr seht verstehe ich relativ wenig von VB und bitte daher um Eure Hilfe.
Ein vollständiges Skript wär natürlich toll
Danke und Gruß
Fab
ich hab mal wieder eine kleine, und für geübte, warscheinlich simple Aufgabe zu lösen.
Situation
Ich habe eine Spalte 'A' mit bspw. einer fortlaufenden Nummer 'a' und eine Spalte 'B' mit einer fortlaufenden Nummer 'b'.
Ergebnis
Ich möchte eine Spalte 'C', welche sich aus A und B folgendermassen zusammensetzt:
A1B1, A1B2, A1B3, ..., A2B1, A2B2, A2B3, ..., AnBn
Weg
Ich nehme mal an es wird über zwei geschaltete for-Schleifen laufen - die äußere zählt von A1 bis An und die innere zählt von B1 bis Bn.
Das Ergebnis AaBb von A1B1 bis AnBn wird dann jeweils in eine Spalte C oder ein neues Tabellenblatt kopiert, allerdings in jeweils eine Zelle pro Ergebnis (bspw. C1=A1B1) - ich nehme mal an per 'print(C1)=A1+B1' ?
Wie Ihr seht verstehe ich relativ wenig von VB und bitte daher um Eure Hilfe.
Ein vollständiges Skript wär natürlich toll
Danke und Gruß
Fab
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 103546
Url: https://administrator.de/contentid/103546
Ausgedruckt am: 24.11.2024 um 16:11 Uhr
4 Kommentare
Neuester Kommentar
Hallo FaBMiN!
Etwa so:
Da Du Excel2007 verwendest, habe ich die Prüfung auf einen Überlauf der Spalte C eingespart - sollten es doch mehr als eine Million Kombinationen werden, müsstest Du das berücksichtigen und zB in Spalte D weiter machen ...
Grüße
bastla
Etwa so:
Sub Combine()
RA = 1
RC = 1
Do While Cells(RA, 1).Value <> ""
RB = 1
Do While Cells(RB, 2).Value <> ""
Cells(RC, 3).Value = Cells(RA, 1).Value & Cells(RB, 2).Value
RB = RB + 1
RC = RC + 1
Loop
RA = RA + 1
Loop
End Sub
Grüße
bastla
Hallo FaBMiN!
Na ja, die paar Zeilen gehen auch noch :
Grüße
bastla
Na ja, die paar Zeilen gehen auch noch :
Sub Combine()
RA = 1
RC = 1
CC = 3 'Ergebnisse ab Spalte C eintragen
RMax = 1048576 'höchste zu verwendende Zeilennummer
Do While Cells(RA, 1).Value <> ""
RB = 1
Do While Cells(RB, 2).Value <> ""
Cells(RC, CC).Value = Cells(RA, 1).Value & Cells(RB, 2).Value
RB = RB + 1
RC = RC + 1
If RC > RMax Then
RC = 1
CC = CC + 1
End If
Loop
RA = RA + 1
Loop
End Sub
bastla