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.

Datenbereich mit Daten aus Array befüllen...
#1
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...
Vielen Dank
--Janosch
                                                     
Excel  2019 (64bit)  Win 10 Pro (64bit)                              
Antworten Top
#2
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
Antworten Top
#3
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.

 
Vielen Dank
--Janosch
                                                     
Excel  2019 (64bit)  Win 10 Pro (64bit)                              
Antworten Top
#4
Moin!
Da vermutest Du richtig!

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#5
Wieso hat ein Blatt, in das Du Daten einfügst, verbundene Zellen  Huh??

Ist was für die Optik...
Antworten Top
#6
Heje Excelfreunde, Lutz Fricke, RPP63,

... weil das Tabellenblatt so vorgegeben wurde
Vielen Dank
--Janosch
                                                     
Excel  2019 (64bit)  Win 10 Pro (64bit)                              
Antworten Top
#7
Dann wirst Du wohl bei der alten Variante bleiben müssen.
Antworten Top
#8
Heje Excelfreunde,

dann muss ich wohl in den sauren Apfel beißen....
Vielen Dank
--Janosch
                                                     
Excel  2019 (64bit)  Win 10 Pro (64bit)                              
Antworten Top
#9
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 ...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


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