Ben senin yerine yaptım yorulma diye hocam
Merhaba! Excel'de mermer tonajlarını ve isimlerini eşleştirerek maksimum yükleme kapasitesine en yakın kombinasyonları bulmak için bir makro veya VBA (Visual Basic for Applications) kodu kullanabilirsiniz. Bu tür bir yazılımın geliştirilmesi için gereken adımları ve temel bir örnek VBA kodunu burada paylaşacağım.
- Verilerinizi Excel'e girin:
- A sütununa taş isimlerini (Ng1, Ng2, vb.)
- B sütununa taş tonajlarını (12, 10, 15, vb.)
- VBA kodunu ekleyin:
- Excel'de Alt + F11 tuşlarına basarak VBA editörünü açın.
- Insert menüsünden Module seçeneğini seçin.
- Aşağıdaki kodu kopyalayıp modül içine yapıştırın:
vba
Kodu kopyala
Sub FindCombinations() Dim ws As Worksheet Dim i As Integer, j As Integer, k As Integer Dim lastRow As Integer Dim totalWeight As Double Dim maxWeight As Double Dim result As String ' Çalışma sayfasını ve maksimum yükleme kapasitesini belirleyin Set ws = ThisWorkbook.Sheets("Sheet1") maxWeight = 27 ' Son satırı bul lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row ' Kombinasyonları bul ve en yakın sonucu yazdır For i = 2 To lastRow For j = i + 1 To lastRow totalWeight = ws.Cells(i, 2).Value + ws.Cells(j, 2).Value If totalWeight <= maxWeight Then result = "Kombinasyon: " & ws.Cells(i, 1).Value & " ve " & ws.Cells(j, 1).Value & " - Toplam Ağırlık: " & totalWeight Debug.Print result MsgBox result End If Next j Next i End Sub
- Makroyu çalıştırın:
- Excel'de Alt + F8 tuşlarına basarak makro çalıştırma penceresini açın.
- "FindCombinations" adlı makroyu seçip "Çalıştır" butonuna tıklayın.
Bu kod, her iki taşı eşleştirerek toplam tonajı 27 tona en yakın olan kombinasyonları bulur ve bir mesaj kutusunda sonuçları gösterir. Daha karmaşık ihtiyaçlarınız varsa, bu temel kodu genişleterek tüm mümkün kombinasyonları değerlendiren veya optimizasyon yapan bir algoritma geliştirebilirsiniz.