296 Aufrufe
Gefragt in Tabellenkalkulation von
hallo

Ich bin leider wieder an meine grenzen im Excel gestossen ( ist nicht schwer )

deshalb wendeich mich wieder mal an euch

Nach dem füllen des Zellbereichs B26 bisG41 soll dieser durch einen Command Button in Tabelle 2 übertragen und danach automatisch gelöscht werden . Nach erneuten Füllen mit Daten dieses Bereiches soll dieser auch in Tabelle 2 Unterhalb des ersten kopierten Bereiches kopiert werden

.Tabelle 2 soll später als dtenbank fungieren

weis jemand eine Lösung

Danke

5 Antworten

0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)

Hallo,

hier mal ein Beispiel wie so ein Code aussehen könnte:

Private Sub CommandButton1_Click()
Dim wksQuelle As Worksheet
Dim wksZiel As Worksheet
Dim lngEinf As Long

'Namen der Arbeitsblätter - anpassen
Set wksQuelle = ActiveSheet
Set wksZiel = ThisWorkbook.Worksheets("Tabelle2")

With wksZiel
  lngEinf = .Cells(Rows.Count, 1).End(xlUp).Row + 1
End With

With wksQuelle.Range("B26:G41")
  .Copy wksZiel.Cells(lngEinf, 1)
  .ClearContents
End With
End Sub

Gruß

M.O.

0 Punkte
Beantwortet von beverly_ Experte (3.3k Punkte)

Hi,

erstelle eine Schaltfläche aus den Formular-Steuerelementen und weise ihr folgendes Makro zu:

Sub Kopieren()
    Dim lngLetzte As Long
    With Worksheets("Tabelle2")
        lngLetzte = IIf(IsEmpty(.Cells(.Rows.Count, 1)), .Cells(Rows.Count, 1).End(xlUp).Row, .Rows.Count)
        Worksheets("Tabelle1").Range("B26:G41").Copy .Cells(lngLetzte + 1, 1)
        Worksheets("Tabelle1").Range("B26:G41").ClearContents
    End With
End Sub

Das Makro gehört in ein Standardmodul.

Es wird immer in die Spalten A bis F übertragen.

Bis später, Karin

0 Punkte
Beantwortet von

Guten Morgen

Makros funktionierenyes

Besten Dank

wie macht ihr das nur , jetzt werde ich aber neidischindecision

Vielleicht könntet ihr noch einige Kommentare in die Makros schreiben

um zu verstehen , was da so alles abläuft in so einem Makro

MfG

0 Punkte
Beantwortet von beverly_ Experte (3.3k Punkte)
ausgewählt von halfstone
 
Beste Antwort

Hi,

bitteschön, Code mit Kommentaren - falls weitere Fragen, dann einfach melden:

Sub Kopieren()
    Dim lngLetzte As Long 'Variable für die letzte belegte Zelle
    'alles bezogen auf Tabelle2
    With Worksheets("Tabelle2")
        'letzte belegte Zeile in Spalte A ermitteln
        lngLetzte = IIf(IsEmpty(.Cells(.Rows.Count, 1)), .Cells(Rows.Count, 1).End(xlUp).Row, .Rows.Count)
        'Bereich B26:G41 aus Tabelle1 kopieren nach 1. freie Zelle Spalte A. Da ein zusammenhängender Bereich kopiert wird
        'wird dieser auch zusammenhänged eingfügt
        Worksheets("Tabelle1").Range("B26:G41").Copy .Cells(lngLetzte + 1, 1)
        'Zellinhalte im Bereich B26:G41 Tabelle1 leeren
        Worksheets("Tabelle1").Range("B26:G41").ClearContents
    End With
End Sub


Bis später, Karin

0 Punkte
Beantwortet von
Hallo

Danke für die Mühe

Ein guter  " Lehrer " ist halt alles

MfG
...