Microsoft Excel

Herbers Excel/VBA-Archiv

Array in Tabelle einfügen | Herbers Excel-Forum


Betrifft: Array in Tabelle einfügen von: Reinhard
Geschrieben am: 23.01.2012 17:25:43

Hallo Wissende,

ich möchte mit Z.B.
Set Feld = Range("A2:L21")
einen Bereich in ein Array einladen. Dann im Code dieses Array bearbeiten und dann in die tabelle zurückschreiben.
Das Zurückschreiben kriege ich leider nicht hin :-(

Wie geplant stehen dann in B2:B13 die Texteinträge B1 bis B12, desgleichen bei L2:l13.
Aber in A14:L21 steht überall #NV
Dies gilt aber nur wenn ich den Code in einem leeren Blatt laufen lasse.
Lief der Code schonmal wird's dann ganz verwirrend :-(

Nachstehend Beispielcode, der auch in diser Beispielmappe steht:
https://www.herber.de/bbs/user/78567.xls

Danke ^ Gruß
Reinhard

Sub Sor()
Dim Feld, Z As Long, S As Long
Set Feld = Range("A2:L21")
For S = 2 To 12 Step 10
  For Z = 1 To 20
    Feld(S, Z) = Chr(64 + S) & Z
  Next Z
Next S
Range("A2:L21") = Application.Transpose(Feld)
End Sub

  

Betrifft: AW: Array in Tabelle einfügen von: Rudi Maintaire
Geschrieben am: 23.01.2012 17:39:57

Hallo,
warum Transponierst du das Array? Kann ja nicht gut gehen. Und Set Feld = ... ist auch falsch. Mit Set werden Objekte definiert.

Sub Sor()
Dim Feld, Z As Long, S As Long
Feld = Range("A2:L21")
For S = 2 To 12 Step 10
  For Z = 1 To 20
    Feld(S, Z) = Chr(64 + S) & Z
  Next Z
Next S
Range("A2:L21") = Feld
End Sub

Gruß
Rudi

Gruß
Rudi


  

Betrifft: AW: Array in Tabelle einfügen von: Reinhard
Geschrieben am: 23.01.2012 18:15:12

Hallo Rudi,

ich danke dir. Ich mußte zwar diese eine zeile so abändern
Feld(Z, S) = Chr(64 + S) & Z
aber das war ein Klacks.

"Warum" ist eine gute Frage :-)
K.A. Das und andere große Lücken in Vba-Grundlagen ist der Grund warum ich meinen Level hier so wähle wie er ist.

Für mich ist es erstmal gleich ob ich schreibe
Set Feld =Range("A2:L21")
oder
Feld =Range("A2:L21")

In beiden Fällen kann ich im weiteren Code auf den Inhalt von Feld zugreifen, abändern usw-
Da ich theoretisch eine Niete bin probiere ich halt jedesmal einfach aus was grad für mich passt.
Wenn ich es dann hinbiege die daten in Feld zu verändern bin ich beim Punkt Zurückschreiben in die Tabelle.

Dann probiere ich da weiter wie da was klappt. Da ich hier in Codes schon Transpose sah, bentze ich auch das.
Und mein Anfangscode war ja fast schon nah am Ziel :-(

So, jetzt haste in (meine) Vba-Abgründe geschaut :-)

Gruß
Reinhard


Beiträge aus den Excel-Beispielen zum Thema "Array in Tabelle einfügen"