Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1444to1448
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

im Range spalte und zeile als Variable

im Range spalte und zeile als Variable
14.09.2015 20:10:48
Thomas
Hallo excelfreunde,
ich habe von matthias die macro bekommen es funktioniert auch gut, nur leider
ist meine Spaltenanzahl und Zeilenanzahl Variable. So das ich den Spaltenbuchstabe anhand der Überschrift suchen muss.
Mit
Dim quellSpalte As Variant
Dim zielSpalte As Variant
Application.ScreenUpdating = False
Set quellSpalte = Rows(10).Find("Datum h", LookAt:=xlWhole)
Set zielSpalte = Rows(10).Find("Datum Z", LookAt:=xlWhole)
finde ich zwar die Spaltennummern aber wenn ich das "G" bzw B mit quellSpalte bzw. zielSpalte ersetze geht es nicht.
kann mir jemand zeigen wie ich es machen muss?
liebe grüsse thomas
Sub wenn_wert_vorhanden_dann_kopieren()
' wenn in spalte g ein wert vorhanden ist wird er nach spalte b kopiert ausschneiden einfügen
Dim Myrow
For Myrow = 10 To 20000 'Ende(hier Zeile20) anpassen oder Einlesen!
If Range("G" & Myrow).Value  "" Then Range("G" & Myrow).Cut Destination:=Range("B" & Myrow)
Next
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: im Range spalte und zeile als Variable
14.09.2015 20:32:15
Nepumuk
Hallo,
so:
Cells(Zeilennummer, Spaltennummer)
Gruß
Nepumuk

AW: im Range spalte und zeile als Variable
14.09.2015 20:55:29
Thomas
Hallo Nepumuk
hab vielen dank für deine unterstützung
ich habe es mal versucht aber es kommt fehler typenunverträglichkeit was bedeutet dies?
Ich hab bestimmt was falsch gemacht.
schaust du mal bitte?
liebe grüsse thomas
Sub wenn_wert_vorhanden_dann_kopieren()
' wenn in spalte g ein wert vorhanden ist wird er nach spalte b kopiert ausschneiden einfügen
Dim quellSpalte As Variant
Dim zielSpalte As Variant
Application.ScreenUpdating = False
Set quellSpalte = Rows(10).Find("Datum h", LookAt:=xlWhole)
Set zielSpalte = Rows(10).Find("Datum Z", LookAt:=xlWhole)
'Cells(Zeilennummer, Spaltennummer)
Dim Myrow
For Myrow = 10 To 20000 'Ende(hier Zeile20) anpassen oder Einlesen!
If Cells(Myrow, quellSpalte).Value  "" Then Cells(Myrow, quellSpalte).Cut Destination:= _
Cells(Myrow, quellSpalte)
Next
End Sub

Anzeige
AW: im Range spalte und zeile als Variable
14.09.2015 21:05:18
Gerd
Hallo Thomas,
ohne Plausi-Prüfungen u. im Wesentlichen nur eingesetzt.
Sub wenn_wert_vorhanden_dann_versetzen()
' wenn in quellspalte ein wert vorhanden ist, wird ausgeschnitten u. in zielspalte eingefügt
Dim Myrow As Long, quellspalte As Long, zielspalte As Long
quellspalte = Rows(10).Find("Datum h", LookAt:=xlWhole).Column
zielspalte = Rows(10).Find("Datum Z", LookAt:=xlWhole).Column
For Myrow = 10 To 20000 'Ende(hier Zeile20) anpassen oder Einlesen!
If Cells(Myrow, quellspalte).Value  "" Then Cells(Myrow, quellspalte).Cut Destination:= _
Cells(Myrow, zielspalte)
Next
Application.CutCopyMode = False
End Sub
Gruß Gerd

Anzeige
super es klappt
14.09.2015 21:23:08
Thomas
Hallo Gerd,
es klappt super ich kapiere es nie. vielen vielen dank.
geht dies auch mit den Zeilen?
liebe grüsse thomas

AW: im Range spalte und zeile als Variable
14.09.2015 22:53:19
Gerd
Hallo Thomas,
ja. Erkläre bitte, was du erreichen möchtest.
Gruß GErd

AW: im Range spalte und zeile als Variable
14.09.2015 23:25:51
Thomas
Hallo Gerd,
wenn das ginge wäre dies sicherer für den Fall das die Überschriften doch mal in einer anderen Zeile als 10 landen und ich müsste wirklich nur den Bereich abklappern der mit Daten gefüllt ist. So muss ich ein riesen Bereich wählen um nicht Gefahr zu laufen das er nicht ausreicht. Dann wird dieses Makro sehr langsam. Ursprünglich wollte ich die daten mit dem Makro unten markieren ausschneiden und dann in die Spalte Datum z einfügen. dabei dürfen nur dann die zellen überschrieben werden wenn in der Quellspalte auch daten sind. Aber leider geht es wahrscheinlich nicht mit nichtzusammenhängenden datenbereichen ohne schleife. Den kompletten bereich kann ich nicht ausschneiden einfügen denn dann werden die Daten in der Zielspalte teilweise mit leer überschrieben. In diesen Fall müssen aber die Daten in der Zielspalte stehen bleiben.
hab recht vielen dank für dein interesse an mein problem.
liebe grüsse thomas
Sub gefüllte_markieren_()
With ActiveSheet.Columns(1)
.ColumnDifferences(.Cells(Rows.Count, 1)).Select  'Cut  ' die eins UND ROWS muss mit varible  _
ersetzt werden.
End With
End 

Sub

Anzeige
konnte dies problem lösen owt
16.09.2015 21:19:17
Thomas
.

117 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige