Vba hilfe benötigt

Liebe/-r Experte/-in,
Ich Hab zwar gute grundkenntnisse aber hier wirds mir zu viel, vl.kann mir da jemand weiterhelfen.

1:Ich benutze eine tabelle mit zahlen und text. Es soll nun folgendes geprüft werden. Beginnend soll bei der zelle a1 bis zur zelle a30 auf inhalt geprüft werden. Wenn eine leere zelle in dem bereich kommt, soll in der spalte b +zwei zeilen unterhalb der leeren zelle ein text z.b. „Toll“ erscheinen. Wenn eine leere zelle kommt,sind alle folgenden auch leer

Programmiert zumindest versucht mit vba.

Hier zusätzlich ein beispiel:

In zelle a5 steht kein text, damit soll in zelle b8 der text toll erscheinen.

Hoff es kann mir jemand weiterhelfen. Ich hab schon überlegt alle zeilen einzeln zu prüfen, aber es muss doch eine schönere lösung geben…

Probiers mal damit:
Sub mach()
Dim wert
Set fc = Worksheets(„Tabelle1“).Range(„a1:a30“).Find(what:="")
‚(eine Zeile, ist der Zeilenumbruch hier)‘
wert = fc.Row + 2
Worksheets(„Tabelle1“).Cells(wert, 2).Value = „Toll“
End Sub

Super danke funktioniert genauso wie ich es möchte.

Wie würde es nun funktionieren, wenn wieder die Zellen A5-A30 auf Inhalt geprüft wird , diesesmal dann aber eine Multiplikation zb in Zeile d5 x e5 Ausgabe in C5 . Und diese Multiplikation immer durchgeführt wird wenn im Bereich A5-a30 ein Text steht.
Zb. In Zelle A6 ist ein Text dann in Zelle c6 das Ergebnis aus der Multiplikation d6-e6.
Kannst mir da nochmal weiterhelfen?

Probier mal hiermit:

Sub machnochmal()
Dim wert
For i = 5 To 30
If Sheets(1).Cells(i, 1).Value = „“ Then
GoTo weiter
End If
wert = Sheets(1).Cells(i, 4) * Sheets(1).Cells(i, 5)
Sheets(1).Cells(i, 3).Value = wert
weiter:
Next i
End Sub

Wie würde es nun funktionieren, wenn wieder die Zellen A5-A30
auf Inhalt geprüft wird , diesesmal dann aber eine
Multiplikation zb in Zeile d5 x e5 Ausgabe in C5 . Und diese
Multiplikation immer durchgeführt wird wenn im Bereich A5-a30
ein Text steht.
Zb. In Zelle A6 ist ein Text dann in Zelle c6 das Ergebnis aus
der Multiplikation d6-e6.
Kannst mir da nochmal weiterhelfen?

Super auch das funktioniert ohne probleme.
Vorläufig die letzt frage, dann sollte das projekt abgeschlossen sein.

Wieder wird zelle a5: bis a 30 auf inhalt gesucht. Diesmal soll der gleiche inhalt im sheet 2. Beginnend bei b16 angezeigt werden. Dies wird immer durchgeführt wenn von a5-a30 ein text steht.
Bsp: sheet 1 a6 hat einen inhalt = sheet 2 b17 steht der gleiche inhalt

Danke im vorraus!

änder mal so:

Sub machnochmal()
Dim wert, wert1
For i = 5 To 30
If Sheets(1).Cells(i, 1).Value = „“ Then
GoTo weiter
End If
wert1 = Sheets(1).Cells(i, 1).Value
wert = Sheets(1).Cells(i, 4) * Sheets(1).Cells(i, 5)
Sheets(1).Cells(i, 3).Value = wert
Sheets(2).Cells(i + 11, 2).Value = wert1
weiter:
Next i
End Sub

Hallo ich hab ein kleines Problem mit einem Makro.
So sollte es funktionieren:
Egal in welcher Exeldatei ich bin, soll der Makro funktionieren. Zusätzlich soll es mit dem Tabellenblatt beginnen das ich gerade vor mir offen habe.

Zellen A4 bis A100 sollen auf Inhalt geprüft werden. Wenn ein Inhalt da ist soll eine neue Exeldatei geöffnet weren und den Inhalt von z.b. A4 in das neue Tabellenblatt in die Zelle C6 (nur als bsp zur Erklärung) übertragen werden.

For I = 4 To 100
Windows(„GiW-Fremdvergabe.xlsm“).Activate

If Sheets(1).Cells(I, 1).Value = „“ Then
GoTo weitere
End If

Workbooks.Open Filename:= _
„Z:/Checkliste.xlsx“
Sheets(„Q-Checkliste“).Select
Sheets(„Q-Checkliste“).Copy
Windows(„Q-Checkliste.xlsx“).Activate
ActiveWindow.Close

Windows(„GiW-Fremdvergabe.xlsm“).Activate
Sheets(1).Select
wert4 = Sheets(1).Cells(I, 3).Value
wert1 = Sheets(1).Cells(I, 6).Value
wert2 = Sheets(1).Cells(I, 1).Value
wert3 = Sheets(1).Cells(I, 4).Value

Windows(2).Activate
Sheets(1).Select
Range(„C2“).Value = wert4
Range(„F2“).Value = wert1
Range(„I2“).Value = wert2
Range(„F3“).Value = wert3

weitere:
Next I

ich hab die Datei das erste mal mit „giw-fremdvergabe.xlsm“ programmiert, möchte jetzt aber das es mit jeder Datei funktioniert. Hab schon einige Sachen ausprobiert bekomms aber nicht hin. Hoffe auf Hilfe! Das mit PERSONAL.XLSB ist mir klar

Veruch mal so:
Ich weiss nicht was du mit dim schon angemeldet oder public
gemacht hast

Dim Name
Name = ActiveWorkbook.Name

For I = 4 To 100
Windows(Name).Activate

If Sheets(1).Cells(I, 1).Value = „“ Then
GoTo weitere
End If

Workbooks.Open Filename:= _
„Z:/Checkliste.xlsx“
Sheets(„Q-Checkliste“).Select
Sheets(„Q-Checkliste“).Copy
Windows(„Q-Checkliste.xlsx“).Activate
ActiveWindow.Close

Windows(„GiW-Fremdvergabe.xlsm“).Activate
Sheets(1).Select
wert4 = Sheets(1).Cells(I, 3).Value
wert1 = Sheets(1).Cells(I, 6).Value
wert2 = Sheets(1).Cells(I, 1).Value
wert3 = Sheets(1).Cells(I, 4).Value

Windows(2).Activate
Sheets(1).Select
Range(„C2“).Value = wert4
Range(„F2“).Value = wert1
Range(„I2“).Value = wert2
Range(„F3“).Value = wert3

weitere:
Next I