1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Für Excel-Experten

Discussion in 'Office-Programme' started by dany-sahne, Mar 29, 2002.

Thread Status:
Not open for further replies.
  1. Hallo,

    ich habe in Excel eine Tabelle erstellt, die inhaltlich ein Bestellformular für beliebige diverse Sachen enthält.
    Jetzt würde ich gerne wissen, was ich es machen kann, dass wenn verschiedene Positionen aus dieser Bestellliste ausgewählt werden (Die Mengen stehen in einer Zelle vor dem Artikel, der Artikel selbst steht in der Zelle dahinter), die ausgewählten Positionen automatisch in der ursprünglichen Reihenfolge in ein anderes Tabellenblatt in der gleichen Excel-Mappe übertragen werden.

    Vielen Dank für eure Hilfe.
    dany-sahne

    p.s. eine einfache verknüpfung zu den einzelnen zellen möchte ich nicht machen. nur die zellen, in denen eine menge steht, sollen automatisch übertragen werden.
    [Diese Nachricht wurde von dany-sahne am 29.03.2002 | 11:39 geändert.]
     
  2. ICa

    ICa Byte

    Ja, stimmt, deine Version ist effizienter. Hat mich aber auch nur 5 Minuten gekostet, und sollte mehr eine Anregung sein.

    cu, Ian
     
  3. n bisschen lang, der Code. Nicht? Statt ständig Sheets("blablabla").cells(Zeile,Spalte) zu tippen empfiehlt sich die Arbeit mit Objekten. Die Offsets sind auch überflüssig.

    Hier die überarbeitete Version:
    Private Sub CommandButton1_Click()
    Dim BestellTabelle As Object, KatalogTabelle As Object, i As Long, j As Long, n As Long, StartZeile As Integer, AnzahlSpalte As Integer, ArtikelSpalte As Integer

    Set KatalogTabelle = Sheets("Tabelle1").Cells()
    Set BestellTabelle = Sheets("Tabelle2").Cells()
    n = Sheets("Tabelle1").UsedRange.Rows.Count

    StartZeile = 1
    AnzahlSpalte = 1
    ArtikelSpalte = 2

    \'Ab hier nichts mehr ändern!
    j = StartZeile
    For i = StartZeile To n
    If KatalogTabelle(i, AnzahlSpalte) <> 0 Then
    BestellTabelle(j, AnzahlSpalte) = KatalogTabelle(i, AnzahlSpalte)
    BestellTabelle(j, ArtikelSpalte) = KatalogTabelle(i, ArtikelSpalte)
    j = j + 1
    End If
    Next i
    End Sub
     
  4. ICa

    ICa Byte

    Hi, hier ist der Code dazu:
    1.) Symbolleiste "Steuerelement Toolbox" anzeigen
    2.) In der Katalogtabelle eine "Befehlsschaltfläche" einfügen
    3.) Auf die Schaltfläche (IM ENTWURFSMODUS) doppelklicken
    4.) Diesen Code Einfügen und die Tabellennamen und Spalten entsprechend anpassen:

    Private Sub CommandButton1_Click()
    Dim BestellTabelle As Worksheet, i As Long, j As Long, n As Long, StartZeile As Integer, AnzahlSpalte As Integer, ArtikelSpalte As Integer

    KatalogTabelle = "Tabelle1"
    StartZeile = 1
    AnzahlSpalte = 1
    ArtikelSpalte = 2

    BestellungTabelle = "Tabelle2"


    \'Ab hier nichts mehr ändern!

    n = Sheets(KatalogTabelle).UsedRange.Rows.Count

    For i = 0 To n - 1
    If Sheets(KatalogTabelle).Cells(StartZeile, AnzahlSpalte).Offset(i, 0) <> 0 Then
    Sheets(BestellungTabelle).Cells(StartZeile, AnzahlSpalte).Offset(j, 0) = Sheets(KatalogTabelle).Cells(StartZeile, AnzahlSpalte).Offset(i, 0)
    Sheets(BestellungTabelle).Cells(StartZeile, ArtikelSpalte).Offset(j, 0) = Sheets(KatalogTabelle).Cells(StartZeile, ArtikelSpalte).Offset(i, 0)
    j = j + 1
    End If
    Next i
    End Sub

    Das funktioniert.
     
  5. Geertakw

    Geertakw Kbyte

    ein MAkro verwenden\':

    Dialogfelder mit entsprechenden Elementen und einige Makros -
    man hat dann eine kleine Datenbankanwendung.

    Ich hab da vor einiger Zeit mal was angefangen - immer noch ein
    Rudiment mit wenig kompletten Funktionen.

    Bei Interesse ( als Beispiel - nicht als Lösung ) kann ich es zumailen. ( Anfrage an geert.jacob@gmx.de )

    Gruß Geert
     
  6. Hallo,
    das geht aus meiner Sicht nur mit einem Makro und einem Button (wenn man es nicht "von Hand" aufrufen will), das die Übertragung startet.
    Gruß
    Udo
     
Thread Status:
Not open for further replies.

Share This Page