Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Blöcke in Zeilen (VBA-Demo) v.Matthias L | Herbers Excel-Forum


Betrifft: Blöcke in Zeilen (VBA-Demo) v.Matthias L von: Paul
Geschrieben am: 08.01.2012 18:27:29

Hallo Matthias L

da hast du mir ein geniales Macro zur Lösung meine Problems geliefert. Die Lösung ist so gut dass da neue Bedürfnisse bei mir geweckt werden. Ist es auch möglich die Daten aus den Blöcken selektiv zu übernehmen, ich brauche eigentlich nicht alle.
Hab mal in der Beispieldatei (mit deinem VBA) den Block und die daraus zu generierende Zeile nebeneinander gestellt!

Gruß Paul

https://www.herber.de/bbs/user/78303.xls

  

Betrifft: ist die Reihenfolge der Daten wichtig ? oT von: Matthias L
Geschrieben am: 08.01.2012 18:59:18




  

Betrifft: AW: ist die Reihenfolge der Daten wichtig ? oT von: Paul
Geschrieben am: 08.01.2012 19:01:30

Hallo Matthias,

wäre gut!

Gruß Paul


  

Betrifft: habe fertig ... von: Matthias L
Geschrieben am: 08.01.2012 19:39:47

Hallo Paul

https://www.herber.de/bbs/user/78304.xls

Gruß Matthias


  

Betrifft: AW: habe fertig ... Danke!! von: Paul
Geschrieben am: 08.01.2012 19:55:14

Hallo Matthias,

ich sag vielen Dank, eine perfekte Lösung

Gruß Paul


  

Betrifft: Kurzfassung von: Erich G.
Geschrieben am: 09.01.2012 01:05:06

Hi Matthias,
da hätte ich eine Kurzfassung anzubieten:

Sub sTart2()
   Dim LastA As Long, x As Long, c As Range, q As Long, arr

   LastA = Cells(Rows.Count, 1).End(xlUp).Row
   MsgBox "Es sind " & LastA / 4 & " Blöcke"
   arr = Array(0, 0, 13, 14, 18, 19, 21, 22, 11, 0, 15, 16, 0, 0, _
      24, 12, 0, 0, 0, 0, 25, 26, 0, 17, 0, 20, 0, 0, 23)

   For x = 1 To LastA Step 4
      q = 0
      For Each c In Cells(x, 1).Resize(4, 7)
         q = q + 1
         If arr(q) Then Cells(x + 1, arr(q)) = c
      Next
   Next
End Sub
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich


  

Betrifft: und gleich ne Korrektur von: Erich G.
Geschrieben am: 09.01.2012 01:11:43

Hi,
sorry, das war doch zu kurz...

Bitte die viertletzte Zeile
If arr(q) Then Cells(x + 1, arr(q)) = c
ändern zu
If arr(q) Then Cells((x + 7) / 4, arr(q)) = c

Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich


Beiträge aus den Excel-Beispielen zum Thema "Blöcke in Zeilen (VBA-Demo) v.Matthias L"