Clever-Excel-Forum

Normale Version: Datenbereich mit Daten aus Array befüllen...
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Heje Excelfreunde,

im unten aufgeführten Makro werden Daten aus einem Array in eine Bereich geschrieben. Funktioniert über die For-Next-Scheifen recht ordentlich. Wollte diese Schleifen durch - siehe Kommentarzeilenen - Ansatz ersetzen...

Beispielhaft für das Arry "meDatZwSpeicherArrayKon"


Code:
Public Sub DatumAusArraySchreiben()
Dim WSTab1 As Worksheet
Dim bytMinRow As Byte
Dim bytMinCol As Byte
Dim rngBereichKon As Range
Dim rngBereichStd As Range
Dim strbereich As String
  
   On Error GoTo Aufraeumen
   Set WSTab1 = ThisWorkbook.Worksheets("XXXXXXX")
   WSTab1.Range(Cells(MinRowNumb, 3), Cells(MaxRowNumb, 5)).ClearContents
   WSTab1.Range(Cells(MinRowNumb, 7), Cells(MaxRowNumb, 37)).ClearContents
   For bytMinRow = MinRowNumb To intLastRow Step 1
      For bytMinCol = MinColNumb To MaxColNumb Step 1
         If meDatZwSpeicherArrayKon(bytMinRow - 11) <> "" Then
            WSTab1.Cells(bytMinRow, 3).Value = meDatZwSpeicherArrayKon(bytMinRow - 11)
            If meDatZwSpeicherArrayStd(bytMinRow - 11, bytMinCol - 6) <> 0 Then
               WSTab1.Cells(bytMinRow, bytMinCol).Value = meDatZwSpeicherArrayStd(bytMinRow - 11, bytMinCol - 6)
            End If
         End If
      Next bytMinCol
   Next bytMinRow
   ActiveWindow.SmallScroll up:=intLastRow
  
   'strbereich = "D12:E" + CStr(intLastRow)
   'Set rngBereichKon = WSTab1.Range(strbereich)
   'rngBereichKon = meDatZwSpeicherArrayKon()

Aufraeumen:
   Set WSTab1 = Nothing
End Sub

komme aber nicht weiter, stehe momemtan auf dem Schlauch... wie muss ich dass programmieren, dass datem aus einem Array direkt in einem Bereich
eingefügt werden kann...
Hallo Radagast,

wo bekommst Du einen Fehler???

Problematisch ist wahrscheinlich, dass dein Makro ohne Fehlermeldung aussteigt, da du durch "On Error GoTo Aufraeumen" keinen Fehler mehr siehst...

Aus meiner Sicht (natürlich ohne es getestet zu haben, da eine Beispieldatei fehlt  :20:) sind am Ende Klammern zuviel. Muss heißen:

Code:
rngBereichKon = meDatZwSpeicherArrayKon

Also Fehlerbehandlung raus, Zeile korrigieren, testen und Ergebnis (bei Bedarf mit Beispieldatei) posten.

Gruß,
Lutz
Heje Excelfreunde, Lutz Fricke,

"rngBereichKon = meDatZwSpeicherArrayKon"

das hast du schon richtig gesehen, aber ich habe das auch ohne Klammer ausprobiert.
Ich vermute, dass das an den zeilenweise, verbunden Zellen liegt, die den Gesamten Bereich ausmachen.

 
Moin!
Da vermutest Du richtig!

Gruß Ralf
Wieso hat ein Blatt, in das Du Daten einfügst, verbundene Zellen  Huh??

Ist was für die Optik...
Heje Excelfreunde, Lutz Fricke, RPP63,

... weil das Tabellenblatt so vorgegeben wurde
Dann wirst Du wohl bei der alten Variante bleiben müssen.
Heje Excelfreunde,

dann muss ich wohl in den sauren Apfel beißen....
Hallöchen,


oder Du löst die verbundenen Zellen auf, fügst die Daten ein, und verbindest die Zellen wieder. Ggf. musst Du Zellen einfügen, damit nix verschwindet oder DU ildest ein entsprechendes temporäres AddIn ...