Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA Code
#21
Hallo Markus,

Code:
Sub kopieren()
   Dim lngC As Long
   Dim rngZelle As Range
   Dim vntUrsprung As Variant, vntZiel As Variant
  
   vntUrsprung = Array("B23", "E23", "G10", "G28", "G35", "C45", "L29", "M29", "N29", "P29", "Q29", "P14", "Q14", "Q10")
   vntZiel = Array("Q", "R", "T", "AA", "AB", "AC", "W", "X", "Y", "N", "O", "B", "C", "AO")
  
   Range("M1:M2").Copy Worksheets("Spielabschnitt").Range("AR1")
  
   For lngC = 0 To UBound(vntUrsprung)
      Worksheets("Spielabschnitt").Range(vntZiel(lngC) & Range("M2")).Value = Range(vntUrsprung(lngC)).Value
   Next lngC
  
   For Each rngZelle In Range("AA6,AA9,AA12,AA15,AA23,AA26,AA29,AA32,AA40,AA43,AA46,AA49")
      If rngZelle.Value = 1 Then
         rngZelle.Offset(, 6).Copy Worksheets("Spielabschnitt").Range("H2" & Range("M2"))
      Exit For
      End If
   Next rngZelle
  
   Application.CutCopyMode = False
  
End Sub
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • Maximus
Antworten Top
#22
das ist gut, mappe vernichten und dann neu anfangen.
würde dann bei mir dann auch nicht besser aussehen.

dieser Zusatz:
Wenn in AA6 eine Null dann soll KEINE Copy stattfinden!

ich denke dieser zusatz würde reichen, dann müsste es gehen, weil ja dann nur ein einziger Übertrag stattfindet, alle anderen überträge würden gehindert, weil die Zellen mit der Null einen Übertrag verhindern würde.
Antworten Top
#23
gestrichen
Antworten Top
#24
(06.08.2017, 13:52)Steffl schrieb: Hallo Markus,

Code:
Sub kopieren()
  Dim lngC As Long
  Dim rngZelle As Range
  Dim vntUrsprung As Variant, vntZiel As Variant
 
  vntUrsprung = Array("B23", "E23", "G10", "G28", "G35", "C45", "L29", "M29", "N29", "P29", "Q29", "P14", "Q14", "Q10")
  vntZiel = Array("Q", "R", "T", "AA", "AB", "AC", "W", "X", "Y", "N", "O", "B", "C", "AO")
 
  Range("M1:M2").Copy Worksheets("Spielabschnitt").Range("AR1")
 
  For lngC = 0 To UBound(vntUrsprung)
     Worksheets("Spielabschnitt").Range(vntZiel(lngC) & Range("M2")).Value = Range(vntUrsprung(lngC)).Value
  Next lngC
 
  For Each rngZelle In Range("AA6,AA9,AA12,AA15,AA23,AA26,AA29,AA32,AA40,AA43,AA46,AA49")
     If rngZelle.Value = 1 Then
        rngZelle.Offset(, 6).Copy Worksheets("Spielabschnitt").Range("H2" & Range("M2"))
     Exit For
     End If
  Next rngZelle
 
  Application.CutCopyMode = False
 
End Sub

Hi Stefan, danke läuft ruckelfrei.

es werden aber noch nicht die Werte von:
AG9, AG12, AG15, AG23, AG26, AG29, AG32, AG40, AG43, AG46, AG49

nach H übertragen

Gruss
Antworten Top
#25
Hallo Markus,

sorry, war ein Fehler drin.

Code:
Sub kopieren()
   Dim lngC As Long
   Dim rngZelle As Range
   Dim vntUrsprung As Variant, vntZiel As Variant
  
   vntUrsprung = Array("B23", "E23", "G10", "G28", "G35", "C45", "L29", "M29", "N29", "P29", "Q29", "P14", "Q14", "Q10")
   vntZiel = Array("Q", "R", "T", "AA", "AB", "AC", "W", "X", "Y", "N", "O", "B", "C", "AO")

   Range("M1:M2").Copy Worksheets("Spielabschnitt").Range("AR1")

   For lngC = 0 To UBound(vntUrsprung)
      Worksheets("Spielabschnitt").Range(vntZiel(lngC) & Range("M2")).Value = Range(vntUrsprung(lngC)).Value
   Next lngC
  
   For Each rngZelle In Range("AA6,AA9,AA12,AA15,AA23,AA26,AA29,AA32,AA40,AA43,AA46,AA49")
      If rngZelle.Value = 1 Then
         Worksheets("Spielabschnitt").Range("H" & Range("M2")).Value = rngZelle.Offset(, 6).Value
         Exit For
      End If
   Next rngZelle
  
   Application.CutCopyMode = False
  
End Sub
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • Maximus
Antworten Top
#26
Hallo Stefan,
wahnsinn, absolut perfekt umgesetzt. Jetzt wird tatsächlich immer nur ein Eintrag übertragen, auch wenn ich nicht nachvollziehen kann, warum das so ist, weil AG6, AG9, AG12... von dir namentlich im Programm gar nicht genannt worden sind. Aber funzt einwndfrei.

Der einzige Unterschied zum alten Programm ist, dass jetzt nach Betätigen des Button:"nach Spielabschnitt kopieren", ich mich weiterhin in der Kopie befinde.
Beim alten Programm bin ich nach betätigen des Buton:"nach Spielabschnitt kopieren" gleich im Spielabschnitt gewesen und konnte dort handschriftlich noch Änderung vornehmen.
Ich glaube das liegt an Zelle AR1 und AR2 im Arbeitsblatt Spielabschnitt, weil dort der einzige sichtbare Unterschied ist, wenn dorthin Überträge stattfinden.
Aber das stört mich jetzt nicht so.
Hauptsache der Übertrag von AG6 ff. nach H klappt jetzt.


Nochmals vielen, vielen DANK!!!!Super Leistung! Hätte ich nie hinbekommen!
Und der Übertrag läuft durch deine Kürzung des Programmes viel viel flüssiger!!!!

Gruß Markus
Antworten Top
#27
Hallo Markus,

(06.08.2017, 19:43)Maximus schrieb: ....auch wenn ich nicht nachvollziehen kann, warum das so ist, weil AG6, AG9, AG12... von dir namentlich im Programm gar nicht genannt worden sind. Aber funzt einwndfrei.

Du hattest im Thread geschrieben, dass in Spalte AA entweder eine 1 oder 0 steht und je nach Wert soll die Spalte AG kopiert werden oder nicht und da war es für mich leichter mich nach der Spalte AA zu richten. Auf die Spalte AG greife mit dem Versatz zu (.Offset) 6 Spalten rechts von AA liegt AG.

(06.08.2017, 19:43)Maximus schrieb: Der einzige Unterschied zum alten Programm ist, dass jetzt nach Betätigen des Button:"nach Spielabschnitt kopieren", ich mich weiterhin in der Kopie befinde.
Beim alten Programm bin ich nach betätigen des Buton:"nach Spielabschnitt kopieren" gleich im Spielabschnitt gewesen und konnte dort handschriftlich noch Änderung vornehmen.
Ich glaube das liegt an Zelle AR1 und AR2 im Arbeitsblatt Spielabschnitt, weil dort der einzige sichtbare Unterschied ist, wenn dorthin Überträge stattfinden.

Nein. Das liegt daran das in meinen Code keine Selektierung bzw. Aktivierung von Tabellenblättern stattfindet. Wenn Du den Sprung zum Tabellenblatt Spielabschnitt unbedingt haben willst dann füge vor dem End Sub folgende Codezeile ein.

Code:
Worksheets("Spielabschnitt").Activate
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • Maximus
Antworten Top
#28
Hi Stefan,
vielen DANK!
Das klappt super mit dem Zusatz!!! Jetzt läuft alles fast perfekt.
Ein Unterschied zum alten Vordruck ist mir noch aufgefallen.

In den Kopien (Kopie1,  Kopie2, Kopie3.....) wird in M1 und M2 über eine Zellenformel ein Eintrag angezeigt.

Beim "nach Spielabschnit kopieren" wird in AR1 und AR2 die Formel von M1 und M2 kopiert, aber schön wäre es wenn der Wert von M1 und M2 kopiert wird.
Das war im alten Vordruck der Fall. Weisst du woran das liegt?

Gruß Markus
Antworten Top
#29
Hallo Markus,

mache es so

Code:
Worksheets("Spielabschnitt").Range("AR1:AR2").Value = Range("M1:M2").Value
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • Maximus
Antworten Top
#30
HALLO Stefan!

Ich habe bestimmt 2-3Stunden Änderungen vorgenommen, aber es hat einfach nicht geklappt!
Ich hätte das jetzt so gelassen!

Mit deiner Änderung funktioniert es auf Anhieb! Super, bin begeistert! Klasse gemacht!

Vielleicht kannst du mir noch eine Frage beantworten:

Wenn ich im Tabellenblatt "Spielvordruck" bin, dann ist das Steuerelement "nach Spielabschnitt kopieren" NICHT zu sehen.
Wenn ich aber über das Steuerelement "neue Kopie" eine Kopie erzeuge, dann ist in der Kopie das Steuerelement "nach Spielabschnitt kopieren" zu sehen.
Aber es wird doch ein Duplikat erstellt, dann müßte man das Steuerelement doch schon im Tabellenblatt " Spielvordruck" sehen.
Weisst du wie der Erfinder das gemacht hat? Da Grübel ich auch schon ziemlich lange drüber nach, aber finde keine Erklärung.

Gruss Markus
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste