1.4k Aufrufe
Gefragt in Textverarbeitung von
Hallo Leute,

ich bräuchte eure Hilfe bezüglich Excel VBA.
Hier folgt mein Problem.

Ich möchte gerne eine Makro schreiben die folgenes kann.
In meiner Excel Tabelle1 habe ich in der Spalte A Zahlenwerte von A1 bis A100 enthalten. Manchmal aber auch von A1 bis A500, es varriert. Diese möchte ich in einen anderes Tabellenblatt 2 in die Spalte B hineinkopieren. Das sollte kein Problem sein. Nun soll es so ablaufen das ich per Buttom klick die ersten 10 Zahlenwerte aus dem Tabellenblatt 1 aus Spalte A in das Tabellenblatt 2 Spalte B hinein kopiere und immer in 10ner Schritten weiter.

Zum Beispiel so:
Spalte A (Tabellenblatt 1) Spalte B (Tabellenblatt 2)
11 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
:
:
20 20
21 21
22 22
:
:
Ich hoffe ich konnte es euch ein büschen näher bringen.
Vielen Dank für eure Hilfe.
Gruß Hajo

6 Antworten

0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo Hajo,

du schreibst
Nun soll es so ablaufen das ich per Buttom klick die ersten 10 Zahlenwerte aus dem Tabellenblatt 1 aus Spalte A in das Tabellenblatt 2 Spalte B hinein kopiere und immer in 10ner Schritten weiter.


Verstehe ich das richtig, dass pro Klick immer 10 Datensätze kopiert werden sollen?
Sind die Werte in Spalte A eindeutig oder können die Werte mehrmals vorkommen?

Gruß
M.O.

P.S. Die ausgewählte Gruppe für die Frage ist leicht falsch ;-).
0 Punkte
Beantwortet von
Hallo Mo,

erstmal Danke für die Info.
Welche wäre denn die Richtige Gruppe?
Das ist Richtig, pro Klick sollen immer 10 weiterea Datensätze
immer in die begrenzte Spalte B7:B17 Tabellenblatt 2 hinein kopiert werden.
Die Werte in der Spalte A aus der Tabelle 1 sind eindeutig.

Gruß Hajo
0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo Hajo,

noch mal als Nachfrage: Immer 10 Sätze in B7 bis B17, d.h. die dort vorhandenen Sätze werden gelöscht und 10 neue Sätze eingefügt?

Die richtige Gruppe für deine Frage ist Tabellenkalkulation.

Gruß

M.O.
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all ^^

wie gewünscht :-)

gruss nighty

Global IndexPos As Long
Global ArrQ() As Variant
Sub DeinMakro()
Dim Zaehler1 As Long, Zaehler2 As Long
Range("B7:B17").Clear
If IndexPos = 0 Then
ArrQ = Range("A2:A" & ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row)
IndexPos = 1
End If
If IndexPos > UBound(ArrQ) Then
ArrQ = Range("A2:A" & ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row)
IndexPos = 1
End If
Zaehler2 = 0
For Zaehler1 = IndexPos To IndexPos + 9
If Zaehler1 > UBound(ArrQ) Then Exit For
Zaehler2 = Zaehler2 + 1
Cells(Zaehler2 + 6, 2) = ArrQ(Zaehler1, 1)
Next Zaehler1
IndexPos = IndexPos + Zaehler2
End Sub
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all ^^

kommt mir irgendwie zu lang vor und die if abfragen wünschen sich bestimmt eine optiemierung *g*

kein wunder
ich hab im Duell verloren *StarCitizen* ... *sniff*

gruss nighty
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all ^^

ops ... stimmt ja ,ich bin in der Textverarbeitung :-)

*also ich finds hier kuschelig ,das erinnert mich an Baron Münchhausen O_o

gruss nighty
...