Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Spalten AA und größer befüllen lassen

Spalten AA und größer befüllen lassen
09.02.2022 11:30:28
Mitsakos
Hallo liebe VBA Anwender,
ich habe folgendes Problem. Über eine Schleife vergleiche ich Daten und möchte dann bei einem Treffer in Tabelle2 einige Spalten befüllen. Diese gehen jedoch über die Spalte Z hinaus sprich, es müssen auch die Spalten AA fortaufend befüllt werden. Ihr findet anbei die Beispielmappe : https://www.herber.de/bbs/user/151012.xlsm
Ich habe folgenden Code im Netz gefunden und etwas an meine Bedürfnisse angepasst. Leider endet die Schleife an Spalte Z, dann wird mit einer Fehlermeldung abgebrochen "Laufzeifehler 1004 Anwendungs oder Objektdefinierter Fehler". Ich vermute, dass die chr Funktion keinen größeren Wert als Z kennt?

Sub SucheNachInhalten()
Dim lngZeile As Long
Dim lngSpalteMax As Long
Dim lngZeileMax As Long
Dim lngSpalte As Long
Dim lngZeileMax2 As Long
Dim VarDat As Variant
Dim i As Integer
Dim sQuellSpalte As String
Dim sZielSpalte As String
Dim lngQuellZeile As Long
Dim lngQuellSpalte As Long
Dim lngZielZeile As Long
Dim lngZielSpalte As Long
With Sheets("Tabelle1")
'Ermittel die letzte beschriebene Zeile in Spalte A "Tabelle1" und speichere den Wert in Variable lngZeileMax
lngZeileMax = .Range("A" & .Rows.Count).End(xlUp).Row
'Ermittel die Anzahl der beschriebenen Spalten in "Tabelle1" und speichere den Wert in Variable lngSpalteMax
lngSpalteMax = .UsedRange.SpecialCells(xlCellTypeLastCell).Column
'Ermittel die letzte beschriebene Zelle in Spalte A "Tabelle2" und speichere den Wert in Variable lngZeileMax2
lngZeileMax2 = Sheets("Tabelle2").Range("A" & .Rows.Count).End(xlUp).Row
'Schleife zum durchsuchen der Zeilen von Zeile 2 beginnend bis zur letzten beschriebenen Zeile in Spalte A
For lngZeile = 2 To lngZeileMax
'Definiere Suchbereich der Schleife
VarDat = Sheets("Tabelle2").Range("A2:A" & lngZeileMax2)
'Pruefe nun Zeile fuer Zeile im definierten Suchbereich VarDat
For i = 1 To UBound(VarDat)
'Wenn der Wert in der Zeile "Tabelle1" = Wert in der Zeile "Tabelle2"
If .Range("A" & lngZeile).Value = VarDat(i, 1) Then
'dann starte neue Schleife und beginne mit Uebertrag der Daten in die Zielzeile und Zielspalte
For lngSpalte = 3 To (lngSpalteMax - 1)
lngQuellZeile = lngZeile
lngQuellSpalte = lngSpalte
lngZielZeile = i + 1
lngZielSpalte = lngQuellSpalte - 7
'Übertrage Daten in die Spalten
sQuellSpalte = Chr(lngQuellSpalte + 70)
sZielSpalte = Chr(lngZielSpalte + 70)
Sheets("Tabelle2").Range(sZielSpalte & lngZielZeile) = .Range(sQuellSpalte & lngQuellZeile)
Next lngSpalte
End If
Next i
Next lngZeile
End With
End Sub
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalten AA und größer befüllen lassen
09.02.2022 12:51:22
Daniel
HI
verwende um Einzelzellen anzusprechen nicht Range("SpaltenbuchstabeZeilennummer") sondern Cells(Zeilennummer, Spaltennummer)
denn bei Cells kannst du auch die Spalte als Zahl angeben und musst nicht in Buchstaben umwandeln.
also statt

Sheets("Tabelle2").Range(sZielSpalte & lngZielZeile) = .Range(sQuellSpalte & lngQuellZeile)
dann

Sheets("Tabelle2").Cells(lngZielZeile, lngZielSpalte) = .Cells(lngQuellZeile, lngQuelleSpalte)
Gruß Daniel
Anzeige
AW: Spalten AA und größer befüllen lassen
09.02.2022 13:33:33
Niko
Hallo Daniel und danke für deinen Hinweis.
Leider brachte dieser keinen Erfolg. Die Fehlermeldung "Laufzeifehler 1004 Anwendungs oder Objektdefinierter Fehler" erscheint nun bereits beim ersten Schleifendurchlauf. Er bricht somit sofort ab ohne einen Eintrag vorzunehmen :(
Gruß
Niko
wir sind immer noch keine Hellseher
09.02.2022 14:18:56
Daniel
was hast du denn programmiert?
wenn du mir nicht zeigst, was du programmiert hast, kann ich dir auch nicht sagen, was du falsch gemacht hast.
hilfreich wäre auch die konkrete Codezeile zu benennen, in welcher der Fehler auftritt.
Auch welche Werte dann in den Variablen stehen, die diese Zeile verwendet, könntest du schon mal prüfen und uns mitteilen.
das alles hilft uns, deinen Fehler schneller zu finden und das sollte auch in deinem Interesse sien.
Gruß Daniel
Anzeige
AW: wir sind immer noch keine Hellseher
09.02.2022 14:23:35
Niko
Hallo Daniel,
ich habe sowohl meinen Quellcode als auch eine Beispieldatei hochgeladen oder kann man weder den Quellcode sehen, noch auf die Beispieldatei zugreifen?
AW: wir sind immer noch keine Hellseher
09.02.2022 14:25:56
peterk
Hallo
Sollte funktionieren

For lngSpalte = 3 To (lngSpalteMax - 1)
lngQuellZeile = lngZeile
lngQuellSpalte = lngSpalte
lngZielZeile = i + 1
lngZielSpalte = lngQuellSpalte
'Übertrage Daten in die Spalten
Sheets("Tabelle2").Cells(lngZielZeile, lngZielSpalte).Value = .Cells(lngQuellZeile, lngQuellSpalte).Value
Next lngSpalte
Peter
Anzeige
AW: wir sind immer noch keine Hellseher
09.02.2022 16:01:21
Niko
Hallo Peter,
vielen Dank. Dieser Ansatz hat mich zum Ziel geführt :)
Auch dir Daniel nochmal vielen Dank.
VG und bleibt gesund
Niko
AW: wir sind immer noch keine Hellseher
09.02.2022 14:34:35
Daniel
du hast den Quellcode doch sicherlich auf meinen Beitrag hin geändert, also solltest du uns auch deinen geänderten Code zeigen.
ich weiß ja nicht, was du gemacht hast, wenn ich in selber ändere, ist es ja möglich, das ich was anderes mache als du
Gruß Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige